A new survey of Python developers shows data analysis and web development have become the major use cases for Python, with machine learning making a strong showing.
Cosponsored by JetBrains, the maker of the PyCharm IDE, and by the Python Software Foundation, the survey amassed results from some 9,500 Python developers in 150 countries.
Python developers: What you use Python for
The results show that the use cases that’s long been associated with Python—scripting, automation, devops, and web scraping—are used by 32 percent to 35 percent of the developers surveyed. But a good 50 percent of them use Python as a data analysis tool—51 percent as their main job with the language, and 46 percent as a secondary task.
Web development was the second most-common case, with 49 percent of the use cases overall (54 percent primary, 33 percent secondary).
Machine learning applications in Python came in at 30 percent, slightly behind automation (35 percent) and web scraping (32 percent). But there was very little difference between those using machine learning as a primary versus a secondary use case, a hint that developers are using machine learning in Python in a broader set of contexts than just creating dedicated machine learning apps.
Python developers: The tools you use
Another significant metric is the ongoing march of Python 3 as the default Python edition: 75 percent of developers use Version 3 as the default, with 70 percent of web developers and 80 percent of data scientists specifically opting for Version 3. Official support for Python 2 is still slated to end in 2020, but almost all common Python packages in the Python Package Index now support Python 3.
The use of specific, big-name Python frameworks also matches the general rankings of development types. Web framework Django remains the most commonly used Python framework (41 percent of respondents). Flask, another popular and more lightweight web development system, weighs in at 32 percent.
At 39 percent is the mix of libraries used most commonly in data analysis applications: NumPy, Pandas, Matplotlib, SciPy, and so on. Machine learning libraries like TensorFlow, Theano, and Scikit-learn are at 17 percent.
These numbers skew very differently based on whether the developer identifies as a web developer, a data scientist, or just an overall Python developer. For web devs, Django and Flask leap to 76 percent and 49 percent; for data scientists and machine learning mavels, NumPy and its friends jump to 65 percent, while the machine learning libraries rise to 38 percent. Only 15 percent of developers total report that they use no additional frameworks.
The vast majority of Python developers obtain their Python distributions from one of two common sources. One is the official download repository at Python.org (39 percent); the other is a package manager for their operating system (31 percent).
Anaconda ranked as the single biggest third-party distribution (15 percent), with ActivePython only showing 2 percent.
Further reading to develop your Python expertise
The Python essentials from InfoWorld:
- What is Cython? Python at the speed of C
- How Python makes programming simple
- How to get started with Python
- Cython tutorial: How to speed up Python
- 6 essential libraries for every Python developer
- Anaconda, CPython, PyPy, and more: Know your Python distributions
- Virtualenv and venv: Python virtual environments explained
Python for machine learning and deep learning:
- Why you should use Python for machine learning
- PyTorch tutorial: Get started with deep learning in Python
Python for data science: