18 Coding Tools for Your Python Developer Sandbox
We accomplish most of our Python software development in a local machine’s environment: the software developer’s sandbox. I discuss tools that dev and test adopted for the readability, testing, profiling, logging, quality, security, and version control of code before it’s pushed out to be shared on dev, test, and stage servers.
Introduction
We are continually evaluating software tools for every stage in our Python development lifecycle.
I try to stay away from using the term DevOps and the latest marketing terms DataOps, GitOps, CloudOps, and MLOps.
Python
We used Python predominately (90%) over the last seven years because:
- Almost all new machine learning models, cloud, GPUs, and many other platforms are available as a Python package.
- The assortment and number of free code and packages are the largest we have seen.
- Native Python is slower than C by 20+ times, but almost all Python packages are near C speed as they are thin APIs over CPython or use some other performance-enhancing technique.
We think Python will eventually drop in popularity as the first choice for machine learning, just not in the next few years.
Python’s runtime speed seems to gather the majority of criticism. Much of the criticism disappears if there is some way found to compile Python.
If Python 4.x or Python post-processing tools enable compilation and semantic-level thread concurrency, then it will stay in the first place as the machine learning language for the foreseeable future.
I discuss only Python-related tools, such as IDEs, for the rest of this article.