This is the fifth official annual Python Developers Survey, conducted as a collaborative effort between the Python Software Foundation and JetBrains. In fall 2021, more than 23,000 Python developers and enthusiasts from almost 200 countries/regions took the survey to reveal the current state of the language and the ecosystem around it.
Check out the Python Developer Survey results in 2020, 2019, 2018, and 2017.
Python as main vs secondary languageFor the last 4 years the share of developers who use Python as their main language remains at the pretty same level of 84-85%.
Python usage with other languages100+JavaScript
HTML/CSS
Bash / Shell
SQL
C/C++
Java
C#
TypeScript
Go
PHP
Rust
R
Visual Basic
Kotlin
JavaScript is the most popular language used together with Python. However, for developers who use Python as a secondary language, C/C++ are about as popular as JavaScript. HTML/CSS, Bash/Shell, and SQL are also widespread, each being used by more than a third of Python developers.
Languages for Web and Data Science100+SQL
Bash / Shell
JavaScript
HTML/CSS
C/C++
Web development refers to people who selected âWeb developmentâ in response to the question âWhat do you use Python for the most?â. Data science refers to people who selected âData analysisâ or âMachine Learningâ in the same question.
Unsurprisingly, the most popular languages used along with Python by web developers are JavaScript (69%) and HTML/CSS (60%), while developers involved in data-related tasks more often use SQL (42%). Also, the share of developers who donât use any additional languages is three times higher among those who are involved in data-related tasks, compared to web developers.
Purposes for Using PythonIn this section, we asked questions to find out what people use Python for, what types of development they are involved in, and how they combine their various uses.
For what purposes do you mainly use Python? 52%Both for work and personal
29%For personal, educational or side projects
Python usage in 2020 and 2021100+Data analysis
Web development
DevOps / System administration / Writing automation scripts
Machine learning
Programming of web parsers / scrapers / crawlers
There are no great changes in the distribution of Python use cases over the years. Data analysis, machine learning, web development, and DevOps are still the most popular fields for Python usage.
Python usage as main and secondary language100+Data analysis
Web development
Machine learning
DevOps / System administration / Writing automation scripts
Programming of web parsers / scrapers / crawlers
To what extent are you involved in the following activities?Software testing / Writing automated tests
DevOps / System administration / Writing automation scripts
Multimedia applications development
Programming of web parsers / scrapers / crawlers
What do you use Python for the most?100+Web development
Data analysis
Machine learning
DevOps / System administration / Writing automation scripts
Educational purposes
A quarter of developers who use Python as their main language primarily use it for web development. Among those for whom Python is a secondary language, only 12% do so.
Interestingly, data analysis as a primary field for Python usage is reported by nearly the same share of developers both for whom it is the main programming language (17%) and as a secondary one (16%).
Do you consider yourself a Data Scientist?This question was only answered by respondents who are involved in Data analysis and Machine learning.
Only 29% of the Python developers involved in data analysis and machine learning consider themselves to be Data Scientists.
On average, the share of Python 2 users decreases by 5 percentage points each year, and now only 5 developers out of 100 use it.
It is interesting that compared to Python 3, Python 2 is more often applied to computer graphics, games, and mobile development.
Python version use cases100+Data analysis
Web development
DevOps / System administration / Writing automation scripts
Machine learning
Programming of web parsers / scrapers / crawlers
Python installation and upgrade100+OS-provided Python (via apt-get, yum, homebrew, etc.)
Somebody else manages Python updates for me
Automatic upgrade via cloud provider
Intel Distribution for Python
Note: Enthought got less than 0.5% and has been merged to Others.
More than half of Windows users get Python from Python.org, while among Linux users only a third do so. Unsurprisingly, Linux and macOS users most often install and update Python using OS-provided options. At the same time, for macOS users, pyenv and Docker containers are also fairly popular ways of getting Python.
Python environment isolation100+Vagrant / virtual machines
Among Python developers, 75% use some tools to isolate Python environments. Interestingly, Conda is the most popular tool for it among developers who use Jupyter Notebook (50%), while other developers prefer Virtualenv and Docker.
Flask, Django, and FastAPI are still the top-3 Python web frameworks. FastAPI, initially released at the end of 2018, shows the fastest growth, having grown by 9 percentage points compared to the previous year. At the same time, compared to 2020, the share of Flask users decreased by 5 percentage points.
You can find more about the Django framework landscape in the Django Developers Survey 2021, conducted in partnership with Django Software Foundation.
Data science frameworks and libraries100+10% of Python developers simultaneously use 7 or more data science frameworks and libraries, while about a half of them use 2 or fewer frameworks.
Other frameworks and libraries100+The majority of other frameworks are more popular among web-developers than among data scientists, who use Tkinker and PyQT significantly more often.
Unit-testing frameworks100+The popularity of different Python unit-testing frameworks remains nearly the same compared to last year.
While only 56% of solo-developers use them, 75% of respondents from companies of 5,000 or more employees report using unit-testing frameworks.
SQLAlchemy is the most popular ORM among all database users.
It is interesting that 52% of Redis users use Django ORM, while generally it is used by less than a third of Python devs. Also noteworthy is that 20% of Amazon Redshift users use SQLObject, while in the general population this number is only about 5%.
Among data scientists 80% use databases, while among web developers 98% do so.
Those who are involved in web development use PostgreSQL 32 percentage points more often, Redis 25 ââpercentage points more often, and SQLite 12 percentage points more often than those who are involved in data science. At the same time, data scientists report to use Oracle Database twice more often than web developers.
The distribution of big data tools remains nearly the same compared to last year. Generally, data scientists use them 13 percentage points more often than other developers, and Apache Spark and Dask are about twice as popular among them.
61%
of Python developers use cloud platforms.
This question was only answered by respondents who use cloud platforms.
Interestingly, Visual Basic, C#, and C/C++ users use AWS nearly half as often as Python developers in general.
How do you run code in the cloud?100+Within containers
In virtual machines
On a Platform-as-a-Service
Serverless
Other
This question was only answered by respondents who use cloud platforms.
Virtual machines continue to lose their popularity. While in 2018 they had a share of 47% and were the most popular choice, now only 41% of Python developers use them.
How do you develop for the cloud?100+Locally with virtualenv
In Docker containers
In virtual machines
In remote development environments
With local system interpreter
This question was only answered by respondents who use cloud platforms.
Local Python development with virtualenv is extremely popular among those who are involved in web development, DevOps, and software prototyping (61-65%). Docker containers usage is mostly popular among web-devs (54%).
Virtual machines are widely used by developers involved in DevOps, machine learning, and network programming (26-27%). Interestingly, those involved in DevOps and machine learning also use remote development environments more often than all other respondents.
Compared to 2020, Linux and macOS popularity decreased by 5 percentage points each, while Windows usage has risen by 10 percentage points.
Continuous integration (CI) systems100+Introduced in 2018, GitHub Actions quickly gained popularity and now is in first place in the list of CI systems, being used by slightly less than a third of Python developers.
Another growing CI system is Gitlab CI â its usage has risen by 4 percentage points since 2018. At the same time, Travis CI is rapidly losing its popularity, with a decrease of 13% from 2018. Jenkins/Hudson have also lost 8 percentage points in three years.
36%
of Python programmers use documentation tools. The most popular one is Sphinx.
Tools and Features for Python Developmentuse autocompletion in your editor
use Version Control Systems
use Python virtual environments for your projects
write tests for your code
use optional type hinting
run / debug or edit code on remote machines
use Continuous Integration tools
Those who use Python as a primary language use a Python profiler and code coverage 8 percentage points more frequently, and Python virtual environments 10 percentage points more frequently, for their projects than developers who use Python as a secondary language.
EditorsThe combined share of the PyCharm Community and Professional editions is 31%, which is close to last year's result. VS Code has grown by 6 percentage points compared to last year.
Interestingly, PyCharm and VS Code are equally popular among web developers (39%), while data scientists prefer VS Code by 9 percentage points more as their main IDE.
To identify the most popular editors and IDEs, we asked a single-answer question âWhat is the main editor you use for your current Python development?â.
Data science vs. Web development100+VS Code
PyCharm
Vim
Atom
Emacs
Web development refers to people who selected âWeb developmentâ in response to the question âWhat do you use Python for the most?â. Data science refers to people who selected âData analysisâ or âMachine Learningâ in the same question.
How did you first learn about your main IDE/Editor?Online learning platform / Online course
Technical review / Forum / Blog
The most popular ways Python developers learn about their main IDE are learning activities, their friends/colleagues recommendations, or search engines.
Interestingly, only 1% of respondents reported advertising was a source of discovering the tool.
57% of those using Jupyter Notebook first learn about it in School/University or on online courses, while overall 25% of respondents learn about their tool the same way.
Number of IDEs/Editors usedVS Code, Jupyter Notebook, and PyCharm are the most popular to use in addition to the main IDE, with each being used by more than 20% of Python developers.
Frequency of main IDE/Editor usage IDEs/Editors used in addition to main IDE/Editor100+Python Tools for Visual Studio (PTVS)
VS Code, Jupyter Notebook, and PyCharm are the most popular to use in addition to the main IDE, with each being used by more than 20% of Python developers.
Those who use Jupyter Notebook as their main IDE additionally use Spyder about four times more often than other Python developers.
Did you know?In 2021, The Python Software Foundation appointed a new Developer-in-Residence to work full-time on the Python programming language and support its developer community.
Core developer Åukasz Langa was hired to the CPython DIR role in July. Langa is working to help clear the backlog, investigate project priorities, and look into other areas of interest.
What do you think about the newIt seems good, but I havenât seen any impact yet
7%It seems good, and I am already seeing an impact
77%I have never heard of it
23% of Python developers already know about the Developer-in-Residence role, and 91% of them find this initiative good.
Moreover, 30% of developers who are aware of the Developer-in-Residence role already see the impact of this innovation.
Reporting the issuesOnly 19% of Python users have ever reported its bugs. Interestingly, using bugs.python.org is not the most popular way to report them â about twice as many programmers prefer to ask elsewhere or submit a pull request to GitHub.
Of those who reported bugs, 73% got their issue solved, and only 7% of respondents say they have never heard back from anybody.
Have you tried reporting your issues?Yes, Iâve asked elsewhere
Yes, Iâve submitted a pull request on GitHub
Yes, Iâve reported an issue on bugs.python.org
Yes, Iâve asked on mailing lists
Yes, Iâve asked on Discourse
No, although there was discussion
No, I never heard back from anybody
This question was only answered by respondents who have already reported issues.
63%
of Python developers use containers, and 59% of them use a virtual environment in them.
Do you use a virtual environment in containers?Containers (eg: via Docker)
Workplace specific proprietary solution
Do you use the standard library module venv?100+ Application dependencies45% of Python developers use some tools for version pinning of application dependencies. The most common way to store it is in requirements.txt, which is used by three quarters of developers.
Do you use any tools for managing precise/exact versions of application dependencies? What format(s) is your application dependency information stored in?100+This question was only answered by respondents who use some tools for managing precise/exact versions of application dependencies.
Do you use any automated services to update the versions of application dependencies?100+Custom tools, e.g. a cron job or scheduled CI task
No, my application dependencies are updated manually
Which tools do you use for application dependency management?100+This question was only answered by respondents who use some tools for managing precise/exact versions of application dependencies.
Packages installation90% of developers report they use pip to install Python packages. The Python Package Index is the most popular place to get the packages from.
Where do you install packages from? 100+Private Python Package Index
conda-forge Conda channel
Which tools do you use for installing packages?100+55%
of Python developers say they develop applications, and Setuptools is the most popular tool for this purpose, used by 46% of developers.
Which tool(s) do you use to developThis question was only answered by respondents who develop applications.
While more than half of Python users develop applications, only 40% of them have already published these apps to a package repository.
Which tools do you use to create packagesThis question was only answered by respondents who develop Python libraries.
34% of respondents develop Python libraries, and for them Setuptools is the most common way to package it, used by 71%.
Interestingly, only 27% of Python library developers have already published them to a package repository.
Where have you published your packagedPrivate Python Package Index
10%Internal mirror of PyPI
This question was only answered by respondents who published their packaged Python libraries.
The Python Package Index is the most popular place to publish developed libraries and application packages, while the Private PyPI is used about half as often.
Working in a team vs working independently 48%Work on own project(s) independently
4%Work as an external consultant or trainer
42%Work on many different projects
39%Work on one main and several side projects
19%Only work on one project
Fully employed by a company / organization
Partially employed by a company / organization
This question was only answered by respondents who are employed in companies.
This question was only answered by respondents who are employed in companies.
Information Technology / Software Development
Accounting / Finance / Insurance
Banking / Real Estate / Mortgage Financing
This question was only answered by respondents who are employed in companies.
Information Technology / Software Development
Accounting/Finance/Insurance
Sales / Distribution / Business Development
Banking / Real Estate / Mortgage Financing
This question was only answered by respondents who are employed in companies.
This question was only answered by respondents who are employed.
Professional coding experience What is your country or region?All countries/regions smaller than 1% have been merged into âOtherâ.
Before dissecting these data, please note the following important information: Criteria for filtering out responsesAt least two of the following:
Once again, on behalf of both the Python Software Foundation and JetBrains, weâd like to thank everyone who took part in this survey. With your help, weâre able to map the landscape of the Python community more accurately!
Contribute to the PSFâs Recurring Giving Campaign. The PSF is a non-profit organization entirely supported by its sponsors, members & the public.
We hope you found our report useful. Share this report with your friends and colleagues!
RetroSearch is an open source project built by @garambo | Open a GitHub Issue
Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo
HTML:
3.2
| Encoding:
UTF-8
| Version:
0.7.4