This is the eighth annual Python Developers Survey, conducted as a collaborative effort between the Python Software Foundation and JetBrains.
Responses were collected in October and November 2024, with more than 30,000 Python developers and enthusiasts from almost 200 countries and regions taking part to illuminate the current state of the language and its ecosystem.
Check out the Python Developer Survey results from 2023, 2022, 2021, 2020, 2019, 2018, and 2017.
Share:
Main
Secondary
All options with less than 2% have been merged into “Other”.
45%
46%
SQL
34%
64%
JavaScript
32%
54%
HTML/CSS
31%
35%
Bash / Shell
29%
16%
C/C++
19%
13%
Java
14%
29%
TypeScript
11%
2%
R
10%
8%
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.
40%
43%
JavaScript
37%
35%
HTML/CSS
37%
30%
SQL
32%
25%
Bash / Shell
26%
37%
C/C++
17%
28%
Java
15%
24%
TypeScript
9%
18%
C#
8%
12%
Go
of surveyed Python developers practice collaborative development, down 7 percentage points from last year.
This decline may be due to remote work fatigue, with developers preferring individual workflows, or the return to office environments, where collaboration dynamics shift.
Less than 1 year
1—2 years
3—5 years
6—10 years
11+ years
Less than 1 year
1—2 years
3—5 years
6—10 years
11+ years
One in five surveyed respondents has been programming in Python for less than a year, and over two-thirds of computer science learners worldwide reported using Python for both learning and work in the past year.
Check out our Computer Science Learning Curve Survey 2024 Report to explore current trends – from learning formats and tools to motivations, career goals, and common challenges.
of Pythonistas reported contributing to open-source projects last year.
55%
58%
Documentation and APIs
45%
51%
YouTube
44%
41%
Python.org
42%
43%
Stack Overflow
41%
38%
Blogs
28%
22%
Books
19%
27%
AI Tools
14%
13%
Online coding schools and MOOCs
AI is gaining popularity as a method of learning about new tools and technologies in Python. From 2023 to 2024, the proportion of learners who report using AI for this purpose rose from 19% to 27%.
In 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.
Both for work and personal
For personal, educational or side projects
For work
0%
60%
2021
2022
2023
2024
49%
42%
Data analysis
48%
34%
Web development
42%
33%
Machine learning
33%
22%
Data engineering
28%
23%
Web scraping & parsing
28%
23%
Academic research
26%
25%
DevOps / Systems administration
21%
23%
Web development
10%
13%
Machine learning
10%
10%
Data analysis
9%
8%
Academic research
9%
8%
Educational purposes
7%
6%
DevOps / systems administration / writing automation scripts
6%
7%
Data engineering
In this question, we asked respondents to select only one primary activity.
Web development
Data analysis
Machine learning
Data engineering
Academic research
DevOps / systems administration / writing automation scripts
Educational purposes
Software testing / Writing automated tests
Software prototyping
Design / Data visualization
Programming of web parsers / scrapers / crawlers
Desktop development
Network programming
of surveyed Python developers continue to use Python 2.
Percentages are calculated within each column.
2021 | 2022 | 2023 | 2024 | |
---|---|---|---|---|
21% | 25% | 29% | 38% | FastAPI |
40% | 39% | 33% | 35% | Django |
41% | 39% | 33% | 34% | Flask |
– | – | 30% | 33% | Requests |
– | – | 20% | 23% | Asyncio |
– | – | 18% | 20% | Django REST Framework |
– | – | 12% | 15% | httpx |
– | – | 12% | 13% | aiohttp |
– | – | 8% | 12% | Streamlit |
– | – | 6% | 8% | Starlette |
3% | 4% | 3% | 3% | web2py |
4% | 4% | 3% | 2% | Tornado |
3% | 3% | 3% | 2% | Bottle |
3% | 4% | 3% | 2% | CherryPy |
3% | 3% | 3% | 2% | Pyramid |
2% | 2% | 2% | 1% | Falcon |
1% | 2% | 1% | 1% | Hug |
– | – | 2% | 1% | Quart |
– | – | 2% | 1% | Twisted |
5% | 5% | 5% | 7% | Other |
29% | 27% | 23% | 19% | None |
All options with less than 2% have been merged into “Other”.
41%
56%
FastAPI
37%
39%
Flask
33%
42%
Requests
28%
61%
Django
22%
33%
Asyncio
22%
7%
Streamlit
13%
44%
Django REST Framework
Percentages are calculated within each column.
Asyncio | Django | Django REST Framework | FastAPI | Requests | Starlette | Streamlit | aiohttp | httpx | |
---|---|---|---|---|---|---|---|---|---|
– | 26% | 33% | 42% | 45% | 69% | 37% | 81% | 56% | Asyncio |
38% | – | 93% | 42% | 41% | 37% | 38% | 39% | 38% | Django |
27% | 53% | – | 29% | 28% | 27% | 23% | 28% | 26% | Django REST Framework |
68% | 45% | 55% | – | 55% | 92% | 65% | 67% | 69% | FastAPI |
43% | 47% | 47% | 45% | 47% | 35% | 51% | 42% | 36% | Flask |
62% | 39% | 47% | 48% | – | 67% | 54% | 64% | 56% | Requests |
23% | 8% | 11% | 19% | 16% | – | 15% | 24% | 27% | Starlette |
19% | 13% | 14% | 21% | 19% | 22% | – | 17% | 17% | Streamlit |
45% | 15% | 19% | 23% | 25% | 41% | 19% | – | 35% | aiohttp |
35% | 16% | 20% | 27% | 25% | 52% | 21% | 40% | – | httpx |
21% | 18% | 18% | 18% | 20% | 22% | 20% | 24% | 27% | Other |
You can find more about the Django landscape in the Django Developers Survey 2023, conducted in partnership with the Django Software Foundation.
31%
34%
BeautifulSoup
28%
32%
Pillow
22%
30%
Pydantic
22%
26%
OpenCV-Python
17%
21%
Tkinter
12%
13%
PyQT
11%
12%
Scrapy
10%
11%
Pygame
pytest
unittest
mock
doctest
tox
Hypothesis
nose
Other
None
Please note that in 2023, the list was expanded with new options.
0%
45%
2021
2022
2023
2024
All options with less than 2% have been merged into “Other”.
Within containers
In virtual machines
Serverless
On a platform-as-a-service
Other
None
of surveyed developers use Kubernetes for running code in containers.
Amazon Elastic Kubernetes Service
Google Kubernetes Engine
Azure Kubernetes Service
RedHat OpenShift
Other
49%
51%
Locally with virtualenv
38%
44%
In Docker containers
23%
23%
In virtual machines
20%
19%
With local system interpreter
16%
16%
In remote development environments
14%
15%
Using WSL
10%
9%
Directly in the production environment
2%
2%
Other
of all surveyed Python developers are involved in data exploration and processing, with pandas and NumPy being the tools mostly used for it.
All options with less than 2% have been merged into “Other”.
An in-house solution
Delta lake
DVC
Pachyderm
Other
None
of surveyed Pythonistas reported that they work on creating dashboards, with Streamlit and Plotly Dash being the top choices for such tasks.
Streamlit
Plotly Dash
TensorBoard
Gradio
Panel
Voila
Other
None
PowerBI
I'm not sure
Tableau
Looker
Metabase
QlikView
Other
None
All options with less than 2% have been merged into “Other”.
of our respondents train or generate predictions using ML models, which is an increase of six percentage points from last year. Among them, more than two thirds use scikit-learn and PyTorch.
67%
68%
SciKit-Learn
60%
66%
PyTorch
48%
49%
TensorFlow
44%
42%
SciPy
30%
30%
Keras
22%
28%
Hugging Face Transformers
22%
23%
XGBoost
All options with less than 2% have been merged into “Other”.
Percentages are calculated within each column.
Hugging Face Diffusers | Hugging Face Transformers | Keras | NLTK | PyTorch | PyTorch Lightning | SciKit-Learn | SciPy | TensorFlow | XGBoost | spaCy | |
---|---|---|---|---|---|---|---|---|---|---|---|
– | 38% | 18% | 22% | 16% | 25% | 14% | 16% | 17% | 17% | 25% | Hugging Face Diffusers |
90% | – | 38% | 53% | 37% | 46% | 33% | 34% | 34% | 42% | 62% | Hugging Face Transformers |
47% | 40% | – | 50% | 36% | 37% | 41% | 42% | 52% | 50% | 46% | Keras |
36% | 36% | 33% | – | 24% | 28% | 27% | 29% | 27% | 35% | 59% | NLTK |
88% | 86% | 78% | 80% | – | 94% | 72% | 77% | 76% | 75% | 82% | PyTorch |
31% | 24% | 18% | 21% | 21% | – | 18% | 21% | 16% | 21% | 25% | PyTorch Lightning |
74% | 78% | 89% | 90% | 73% | 79% | – | 91% | 80% | 94% | 88% | SciKit-Learn |
57% | 50% | 59% | 62% | 49% | 61% | 58% | – | 52% | 62% | 68% | SciPy |
69% | 59% | 85% | 68% | 57% | 55% | 59% | 61% | – | 63% | 63% | TensorFlow |
33% | 34% | 38% | 42% | 26% | 34% | 34% | 34% | 30% | – | 43% | XGBoost |
30% | 31% | 22% | 43% | 18% | 24% | 19% | 23% | 18% | 26% | – | spaCy |
TensorBoard
MLFlow
Weights & Biases
An in-house solution
NeptuneML
CometML
Other
None
TensorBoard.dev is deprecated, but TensorBoard remains a top choice for experiment tracking. Its deep integration with major ML frameworks, rich visualizations, and flexible local setup contribute to its widespread use by developers and researchers.
of surveyed Python developers work on ML deployment and inference. Interestingly, the most popular tools for this task are in-house solutions.
They are important, but I balance them against performance and features
They are the primary factor; I always seek to minimize costs
They are secondary to other factors like ease of use and integration
Costs are not a major concern
Less than USD 1,000
USD 1,000—5,000
USD 5,000—10,000
USD 10,000—25,000
Over USD 25,000
I'm not sure
of respondents work with big data, with the majority preferring cloud solutions. Among big data tools, PySpark is the most popular, used by 40% of respondents.
36%
40%
PySpark
8%
7%
Great Expectations
6%
6%
PyFlink
3%
4%
PyDeequ
5%
4%
Other
50%
49%
None
Cloud
Self-hosted
Both
None
Linux
Windows
macOS
BSD
Other
41%
59%
SQLAlchemy
15%
56%
Django ORM
12%
14%
Raw SQL
10%
14%
SQLModel
All options with less than 2% have been merged into “Other”.
The share of data scientists involved in database development has increased by four percentage points compared to last year.
Could this change be due to the growing use of vector databases in LLM applications?
34%
39%
SQLAlchemy
25%
26%
Django ORM
13%
12%
Raw SQL
7%
10%
SQLModel
43%
49%
PostgreSQL
34%
37%
SQLite
30%
31%
MySQL
17%
18%
Redis
17%
19%
MongoDB
10%
11%
MariaDB
10%
12%
MS SQL Server
All options with less than 2% have been merged into “Other”.
All options with less than 2% have been merged into “Other”.
Two-thirds of Python developers regularly use continuous integration systems.
GitHub Actions leads the way, followed by GitLab CI/CD and Jenkins/Hudson.
Ansible
A custom solution
Puppet
Chef
Salt
Other
None
43%
44%
Markdown
25%
29%
Swagger
16%
15%
Sphinx
14%
15%
Postman
13%
11%
Wiki
I open the entire project that contains the file in an IDE
I use a command-line editor
I open just that one file in an IDE
I use a lightweight text editor
Other
I don't usually need to open or edit individual Python files
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?”.
All options with less than 1% have been merged into “Other”.
44%
46%
Visual Studio Code
27%
37%
PyCharm
7%
0%
Jupyter Notebook
2%
0%
Spyder
Among VS Code users, the Data Wrangler extension is used by 11%, and 53% take advantage of the IDE’s Jupyter support.
of surveyed Python developers use additional IDEs or editors alongside their main one, and 42% use three or more simultaneously.
All options with less than 1% have been merged into “Other”.
1
2
3
>3
55%
62%
venv
28%
25%
virtualenv
20%
19%
Conda
18%
18%
Poetry
9%
8%
Pipenv
–
11%
uv
77%
74%
pip
19%
20%
Poetry
19%
18%
Conda
–
12%
uv
9%
8%
Pipenv
9%
9%
pip-tools
63%
59%
requirements.txt
32%
36%
pyproject.toml
17%
16%
setup.py
11%
12%
I don't store dependency information
80%
75%
PyPI
28%
29%
GitHub
16%
16%
Anaconda
14%
14%
A local source
10%
10%
A private Python Package Index
10%
11%
From Linux distribution
10%
11%
An internal mirror of PyPI
73%
83%
PyPI
29%
25%
GitHub
27%
6%
Anaconda
15%
10%
A local source
13%
11%
An internal mirror of PyPI
11%
12%
A private Python Package Index
10%
2%
Other Conda channels
of respondents have packaged and published a Python application they developed to a package repository.
Twine
PyPI Publish GitHub Action
Poetry
Hatch
Flit
PDM
Other
I've never heard of it
I'm vaguely aware of it
I've tried it, but I don't use it anymore
I currently use it
of surveyed Python developers are working with a monorepo, where multiple packages or services are stored in a single repository, each with its own independently managed dependencies.
Yes
No
Other
I don't use containers for Python development
of respondents build Python binary modules with other languages, primarily C++, C, and Rust. Interestingly, Rust shows an increase of six percentage points compared to last year.
55%
54%
C++
44%
45%
C
27%
33%
Rust
9%
10%
Go
This question was optional.
All options with less than 1% have been merged into “Other”.
All options with less than 1% have been merged into “Other”.
Want to dig further into the data? Download the anonymized survey responses and see what you can learn! Share your findings and insights by mentioning @jetbrains and @ThePSF on X with the hashtag #pythondevsurvey.
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!