Python Developers Survey 2024 Results

8 min read Original article ↗

JetBrains logo

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?

52%

Both for work and personal

28%

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.

2021202220232024
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.

AsyncioDjangoDjango REST FrameworkFastAPIRequestsStarletteStreamlitaiohttphttpx
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+

20%

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+

51%

Amazon Elastic Kubernetes Service

31%

Google Kubernetes Engine

25%

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 DiffusersHugging Face TransformersKerasNLTKPyTorchPyTorch LightningSciKit-LearnSciPyTensorFlowXGBoostspaCy
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?

46%

They are important, but I balance them against performance and features

33%

They are the primary factor; I always seek to minimize costs

12%

They are secondary to other factors like ease of use and integration

8%

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+

AI tools used or tried for coding and other development-related activities100+

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+

58%

I open the entire project that contains the file in an IDE

13%

I use a command-line editor

13%

I open just that one file in an IDE

11%

I use a lightweight text editor

4%

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?

51%

I've never heard of it

33%

I'm vaguely aware of it

4%

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?

21%

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!