Cart

Subtotal : $20.00

Shipping : $7.00

Taxes : $0.00

Sub Total : 00.00

Call us:

(+800)345678

4 Tools to Add to Your Python Project Before Shipping to Production

In this post, I’ll show you 4 tools I set up in my Python projects in order to streamline the development workflow and enforce some best practices.

These tools helped me gain efficiency and save time and I hope they’ll do the same for you after reading these notes.

Let’s have a look 👇.

If you’re interested in practical tips to increase your productivity in building ML systems, you feel free to subscribe to my newsletter.
I send weekly insights in programming and system design to help you ship AI products faster.

1 — Poetry

When I start a new project, I usually use Poetry to manage the dependencies and create a fresh virtual environment.

This is useful primarily when different projects rely on different versions of the same package.

Poetry is an excellent tool because it’s fast at resolving dependencies. It’s also easy to use through a user-friendly CLI and helps in quickly packaging and distributing your code.

Here’s how to start a new project with Poetry: poetry init

Rust: The joy of safe zero-copy parsers

In the context of computer science, parsers are programs or algorithms that can translate a given bulk of data into some kind of structured information. When talking about inter-device communication (e.g.: How this article has been sent to your device), parsers are used to convert the received data into something the device can process.

An example of how an HTML website is processed by your computer. Author: Erwin Hofman

Bearing that in mind, it’s quite easy to understand the importance of such algorithms, as well as how their efficiency may be a critical part of the overall performance of a system. That being said, one of the ways of optimizing such programs is the use of a technique called zero-copy.

A zero-copy parser is a piece of code that can transform the received data into its structured form, without having to copy its contents into new buffers during this procedure. As such, these kinds of parsers differ from others when parts of the data have to be translated into a collection of values (e.g.: Strings and arrays); as non-zero-copy programs would allocate a new region in the heap and then copy the respective part of the received data into it.