General Python Usage
Python as main vs secondary language
Python usage with other languages100+
All options with less than 2% have been merged into “Other”.
Languages for Data Science and Web100+
SQL
JavaScript
HTML/CSS
Bash / Shell
C/C++
Java
TypeScript
R
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.
Python usage with other languages100+
JavaScript
HTML/CSS
SQL
Bash / Shell
C/C++
Java
TypeScript
C#
Go
27%
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.
How many years of professional coding experience do you have?
How long have you been programming in Python?
Did you know that Python is the most popular language for learning to code?
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.
Curious to dive deeper into the world of computer science education?
32%
of Pythonistas reported contributing to open-source projects last year.
In the past year, how would you describe your contributions to open source?100+
Documentation / Examples / Educational
Maintainer / Governance / Leadership
Triaging issues or feature requests
Community building / Outreach
Where do you typically learn about new tools and technologies that are relevant to your Python development?100+
Documentation and APIs
YouTube
Python.org
Stack Overflow
Blogs
Books
AI Tools
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%.
Purposes for Using Python
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.
For what purposes do you mainly use Python?
Both for work and personal
For personal, educational or side projects
What do you use Python for?100+
Python usage as main and secondary language100+
Data analysis
Web development
Machine learning
Data engineering
Web scraping & parsing
Academic research
DevOps / Systems administration
What do you use Python for the most?
Web development
Machine learning
Data analysis
Academic research
Educational purposes
DevOps / systems administration / writing automation scripts
Data engineering
In this question, we asked respondents to select only one primary activity.
To what extent are you involved in the following activities?
DevOps / systems administration / writing automation scripts
Software testing / Writing automated tests
Design / Data visualization
Programming of web parsers / scrapers / crawlers
Python Versions
4%
of surveyed Python developers continue to use Python 2.
Python 3 versions
Python installation and upgrade100+
OS-wide package-management tool
Somebody else manages Python updates for me
Automatic upgrade via cloud provider
Why haven’t you updated to the latest version?100+
The version I’m using meets all my needs
My projects are not compatible with the latest Python version
I haven’t had the time to update
I’m concerned about the stability of the latest Python version
It is our organization’s policy to only use a specific Python version
I wasn’t aware that the latest Python version is available
I don’t have the necessary permission to update my Python version
Frameworks and Libraries
Web frameworks100+
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”.
Web frameworks100+
FastAPI
Flask
Requests
Django
Asyncio
Streamlit
Django REST Framework
Web frameworks cross-usage100+
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 |
Other frameworks and libraries100+
BeautifulSoup
Pillow
Pydantic
OpenCV-Python
Tkinter
PyQT
Scrapy
Pygame
Unit-testing frameworks100+
For which frameworks would you like to have rich support in your editor / IDE?100+
Cloud platforms
Cloud platforms usage100+
Please note that in 2023, the list was expanded with new options.
All options with less than 2% have been merged into “Other”.
How do you run code in the cloud?100+
On a platform-as-a-service
44%
of surveyed developers use Kubernetes for running code in containers.
Which of the following do you use?100+
Amazon Elastic Kubernetes Service
Google Kubernetes Engine
Azure Kubernetes Service
How do you develop for the cloud?100+
Locally with virtualenv
In Docker containers
In virtual machines
With local system interpreter
In remote development environments
Using WSL
Directly in the production environment
Other
Data Science
51%
of all surveyed Python developers are involved in data exploration and processing, with pandas and NumPy being the tools mostly used for it.
Tools for data exploration and processing
All options with less than 2% have been merged into “Other”.
Tools for data versioning
30%
of surveyed Pythonistas reported that they work on creating dashboards, with Streamlit and Plotly Dash being the top choices for such tasks.
Libraries for creating dashboards100+
BI solutions100+
All options with less than 2% have been merged into “Other”.
38%
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.
Frameworks for ML model training and prediction100+
SciKit-Learn
PyTorch
TensorFlow
SciPy
Keras
Hugging Face Transformers
XGBoost
All options with less than 2% have been merged into “Other”.
Frameworks for ML model training or prediction cross-usage100+
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 |
Experiment tracking tools100+
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.
Platforms for training100+
21%
of surveyed Python developers work on ML deployment and inference. Interestingly, the most popular tools for this task are in-house solutions.
Platforms for deployment and inference100+
Do you or does your company use tools / platforms for ML workloads in the cloud?
How do computation costs impact your choice of tools or platforms for ML workloads in the cloud?
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
What is your typical monthly budget for cloud-based ML compute resources?
16%
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.
Big data tools100+
PySpark
Great Expectations
PyFlink
PyDeequ
Other
None
Solutions used for work with big data100+
Development Tools
Operating system100+
100+
Visual Studio IntelliCode
CodeGPT plugin in VS Code
ORMs100+
SQLAlchemy
Django ORM
Raw SQL
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?
ORMs100+
SQLAlchemy
Django ORM
Raw SQL
SQLModel
Databases100+
PostgreSQL
SQLite
MySQL
Redis
MongoDB
MariaDB
MS SQL Server
All options with less than 2% have been merged into “Other”.
Continuous integration (CI) systems100+
AWS CodePipeline / AWS CodeStar
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.
Configuration Management Tools100+
Documentation Tools100+
Markdown
Swagger
Sphinx
Postman
Wiki
How do you typically work with a single Python file?100+
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
I don't usually need to open or edit individual Python files
Main IDE/Editor
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?”.
Python Tools for Visual Studio
All options with less than 1% have been merged into “Other”.
Data science vs. Web development
Visual Studio Code
PyCharm
Jupyter Notebook
Spyder
Among VS Code users, the Data Wrangler extension is used by 11%, and 53% take advantage of the IDE’s Jupyter support.
80%
of surveyed Python developers use additional IDEs or editors alongside their main one, and 42% use three or more simultaneously.
IDEs/Editors used in addition to main IDE/Editor100+
All options with less than 1% have been merged into “Other”.
Number of IDEs/Editors used
Python Packaging
Which of the following tools do you use to isolate Python environments between projects?100+
venv
virtualenv
Conda
Poetry
Pipenv
uv
Which tools do you use to manage dependencies?100+
pip
Poetry
Conda
uv
Pipenv
pip-tools
What format(s) is your application dependency information stored in?100+
requirements.txt
pyproject.toml
setup.py
I don't store dependency information
Where do you install packages from?100
PyPI
GitHub
Anaconda
A local source
A private Python Package Index
From Linux distribution
An internal mirror of PyPI
Where do you install packages from?100
PyPI
GitHub
Anaconda
A local source
An internal mirror of PyPI
A private Python Package Index
Other Conda channels
26%
of respondents have packaged and published a Python application they developed to a package repository.
Which tools do you use to create packages of your Python libraries?100
How familiar are you with Trusted Publishers?
I've never heard of it
I'm vaguely aware of it
I've tried it, but I don't use it anymore
30%
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.
Do you use a virtual environment in containers?
I don't use containers for Python development
17%
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.
Languages for building binary modules for Python100+
Demographics
Gender
This question was optional.
Age range
What is your country or region?
All options with less than 1% have been merged into “Other”.
Working in a team vs working independently
Working on projects
Employment status
Fully employed by a company / organization
Partially employed by a company / organization
Job roles100+
Company size
Team size
Company industry
Information Technology / Software Development
Accounting / Finance / Insurance
Banking / Real Estate / Mortgage Financing
All options with less than 1% have been merged into “Other”.
Methodology and Raw Data
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.
Before you begin to dissecting this data, please note the following important points:
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!
We hope you found our report useful. Share this report with your friends and colleagues!