JetBrains logo

Результаты опроса Python-разработчиков 2024

JetBrains PyCharm в сотрудничестве с Python Software Foundation в восьмой раз провели ежегодное исследование Python-сообщества.

В октябре-ноябре 2024 года более 30 000 разработчиков и поклонников Python из почти 200 стран и регионов приняли участие в исследовании и помогли нам определить текущее состояние языка и связанной с ним экосистемы.

Результаты предыдущих опросов: 2023, 2022, 2021, 2020, 2019, 2018 и 2017.

Поделиться:

Использование Python

Python в качестве основного и второстепенного языка

86%

Основной

14%

Второстепенный

Использование Python с другими языками100+

0%

50%

2021202220232024

Все варианты ответа с долей меньше 2% объединены в категорию «Другое».

Языки для Data Science и веб-разработки100+

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#

Статистика по веб-разработке основана на ответах респондентов, которые выбрали веб-разработку, отвечая на вопрос «С какой целью вы используете Python чаще всего?».

Соответственно, Data Science относится к тем, кто в ответе на тот же вопрос выбрал анализ данных или машинное обучение.

Использование Python с другими языками100+

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

27%

опрошенных практикуют совместную разработку, что на 7 процентных пунктов меньше, чем в прошлом году.

Снижение может быть связано с усталостью от удаленной работы, из-за чего многие предпочитают работать индивидуально, или с возвращением в офисы, где командное взаимодействие устроено иначе.

Как долго вы профессионально занимаетесь программированием?

31%

Меньше года

19%

1–2 года

20%

3–5 лет

13%

6–10 лет

17%

11 лет и больше

Как давно вы программируете на Python?

21%

Меньше года

18%

1–2 года

30%

3–5 лет

19%

6–10 лет

12%

11 лет и больше

А вы знали, что Python — самый популярный язык среди тех, кто учится программировать?

Каждый пятый опрошенный программирует на нем меньше года, и больше двух третей изучающих информатику по всему миру использовали Python в прошлом году и для учебы, и для работы.

Хотите узнать, что происходит в IT-образовании?

Читайте отчет об исследовании, которое мы провели среди тех, кто изучает компьютерные науки и учится программировать. Мы рассказываем об основных трендах: какие форматы и инструменты популярны в обучении, что мотивирует людей учиться, какие у них карьерные цели и с какими трудностями они сталкиваются.

32%

Python-разработчиков в прошлом году участвовали в проектах с открытым исходным кодом.

Как вы можете описать свое участие в проектах с открытым исходным кодом в прошлом году?100+

78%

Пишите код

40%

Документация/примеры/учебные материалы

35%

Обслуживание/управление/руководство

33%

Тестирование

19%

Приоритизация ошибок и запросов функций

13%

Создание сообщества/информирование

2%

Другое

Откуда вы обычно узнаете о новых инструментах и технологиях, связанных с разработкой Python?100+

55%

58%

Документация и API

45%

51%

YouTube

44%

41%

Python.org

42%

43%

Stack Overflow

41%

38%

Блоги

28%

22%

Книги

19%

27%

ИИ-инструменты

14%

13%

Онлайн-курсы программирования и массовые открытые онлайн-курсы

Искусственный интеллект становится все популярнее как способ изучения новых инструментов и технологий для Python. С 2023 по 2024 год доля учащихся, которые используют ИИ для этих целей, выросла с 19% до 27%.

Саймон Уиллисон
член совета PSF, соавтор Django и основатель Datasette

Большинство ИИ-инструментов обучались на данных, актуальных год или два назад, и предпочитают библиотеки с большим количеством примеров и кода. Поэтому они чаще находят старые и проверенные пакеты.

Для чего используют Python

Мы спрашивали, с какой целью люди используют Python, какими видами разработки они занимаются и как совмещают разные варианты применения языка.

Для чего вы используете Python?

52%

И для рабочих, и для личных проектов

28%

Для личных, образовательных и не связанных с основной работой проектов

20%

Для работы

Для чего вы используете Python?100+

0%

60%

2021202220232024

Использование Python в качестве основного и второстепенного языка100+

49%

42%

Анализ данных

48%

34%

Веб-разработка

42%

33%

Машинное обучение

33%

22%

Инжиниринг данных

28%

23%

Веб-скрейпинг и парсинг

28%

23%

Научные исследования

26%

25%

DevOps / cистемное администрирование

С какой целью вы используете Python чаще всего?

21%

23%

Веб-разработка

10%

13%

Машинное обучение

10%

10%

Анализ данных

9%

8%

Научные исследования

9%

8%

Образовательные цели

7%

6%

DevOps / cистемное администрирование / написание скриптов автоматизации

6%

7%

Инжиниринг данных

В этом вопросе респондентов просили выбрать только одну основную деятельность.

Насколько активно вы занимаетесь следующими видами деятельности?

Веб-разработка

Анализ данных

Машинное обучение

Инжиниринг данных

Научные исследования

DevOps / cистемное администрирование / написание скриптов автоматизации

Образовательные цели

Тестирование ПО / написание автоматических тестов

Прототипирование ПО

Проектирование/визуализация данных

Программирование веб-парсеров/скраперов/сборщиков

Разработка десктопных приложений

Сетевое программирование

Версии Python

4%

опрошенных продолжают использовать Python 2.

Версии Python 3

2%

Python 3.14

15%

Python 3.13

35%

Python 3.12

21%

Python 3.11

15%

Python 3.10

6%

Python 3.9

3%

Python 3.8

1%

Python 3.7

1%

Python 3.6

1%

Python 3.5 или более ранняя

Хьюго ван Кеменаде
PSF Fellow, мейнтейнер Open-Source Python, разработчик CPython и редактор PEP

Как и в последние два года, радует, что только 6 % используют неподдерживаемые версии Python (сейчас это 3.8 и ниже), а большинство переходят на более новые. Больше всего пользователей уже на версии 3.12. Это особенно впечатляет, учитывая, что опрос стартовал всего через день после выхода 3.13. За те шесть недель, что шел опрос, 15 % участников уже перешли на новую версию 3.13. Как менеджеру релиза Python 3.14, мне приятно, что люди уже пробуют новые альфа-версии.

Установка и обновление Python100+

34%

Python.org

24%

Инструмент управления пакетами в масштабе ОС

17%

pyenv

17%

Использую Docker-контейнеры

14%

Anaconda

6%

Обновлением Python занимается другой человек

5%

Сборка из исходного кода

4%

Автоматическое обновление через поставщика облачных сервисов

Почему вы не перешли на новейшую версию?100+

53%

Меня полностью устраивает текущая версия

27%

Мои проекты не совместимы с последней версией Python

25%

Не было времени обновиться

17%

Я переживаю за стабильность новой версии Python

12%

Политика нашей организации предусматривает использование определенной версии Python

6%

Я не в курсе, что вышла новая версия Python

5%

Мне не хватает прав для обновления версии Python

9%

Другое

Фреймворки и библиотеки

Веб-фреймворки100+

Проценты в каждой колонке считаются отдельно.

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%Другое
29%27%23%19%Ничего из перечисленного
041%

Все варианты ответа с долей меньше 2% объединены в категорию «Другое».

Веб-фреймворки100+

41%

56%

FastAPI

37%

39%

Flask

33%

42%

Requests

28%

61%

Django

22%

33%

Asyncio

22%

7%

Streamlit

13%

44%

Django REST Framework

Перекрестное использование веб-фреймворков100+

Проценты в каждой колонке считаются отдельно.

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%Другое
093%
Уильям Винсент
девелопер-адвокат в JetBrains

Асинхронные веб-фреймворки, такие как FastAPI, чаще используются в связке с асинхронными библиотеками вроде httpx, чем фреймворки с необязательной поддержкой асинхронности, например Django.

Подробнее об использовании Django можно узнать из результатов опроса Django-разработчиков, который мы провели совместно с Django Software Foundation в 2023 году.

Другие фреймворки и библиотеки100+

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

Фреймворки для юнит-тестирования100+

53%

pytest

23%

unittest

11%

mock

6%

doctest

5%

tox

4%

Hypothesis

2%

nose

2%

Другое

36%

Ничего из перечисленного

Хьюго ван Кеменаде
PSF Fellow, мейнтейнер Open-Source Python, разработчик CPython и редактор PEP

Хорошие новости для пользователей библиотек тестирования из стандартной библиотеки: в Python 3.13 появилась цветная подсветка вывода в doctest, а в Python 3.14 такая же подсветка появится и в unittest.

Для каких фреймворков вам бы хотелось иметь хорошую поддержку в вашем редакторе/IDE?100+

34%

FastAPI

31%

Django

29%

pytest

25%

Flask

21%

Pydantic

20%

Requests

19%

Django REST Framework

17%

Asyncio

17%

OpenCV-Python

17%

BeautifulSoup

PyCharm

PyCharm предоставляет расширенные возможности для бэкенд-разработки, включая поддержку Django, FastAPI и Flask.

Узнайте больше о веб-разработке с PyCharm

Облачные платформы

Использование облачных платформ100+

Обратите внимание, что в 2023 году вариантов ответа стало больше.

0%

45%

2021202220232024

Все варианты ответа с долей меньше 2% объединены в категорию «Другое».

Как вы запускаете код в облаке?100+

53%

В контейнерах

44%

В виртуальных машинах

28%

Бессерверно

20%

На платформе PaaS

2%

Другое

7%

Ничего из перечисленного

44%

Python-разработчиков для запуска кода в контейнере используют Kubernetes.

Какие из следующих инструментов вы используете?100+

51%

Amazon Elastic Kubernetes Service

31%

Google Kubernetes Engine

25%

Azure Kubernetes Service

11%

RedHat OpenShift

15%

Другое

Как вы разрабатываете облачные приложения?100+

49%

51%

Локально с помощью virtualenv

38%

44%

В контейнерах Docker

23%

23%

В виртуальных машинах

20%

19%

С помощью интерпретатора локальной системы

16%

16%

В удаленных средах разработки

14%

15%

С помощью WSL

10%

9%

Напрямую в продакшен-окружении

2%

2%

Другое

Data Science

51%

всех опрошенных Python-разработчиков занимаются обработкой и анализом данных — чаще всего с помощью библиотек pandas и NumPy.

Инструменты исследования и обработки данных

80%

pandas

75%

NumPy

16%

Spark

15%

Polars

15%

Airflow

8%

Собственное решение

7%

Dask

Все варианты ответа с долей меньше 2% объединены в категорию «Другое».

Инструменты для работы с версиями данных

14%

Собственное решение

7%

Delta Lake

7%

DVC

4%

Pachyderm

3%

Другое

69%

Ничего из перечисленного

30%

опрошенных сообщили, что занимаются созданием дэшбордов — чаще всего с помощью Streamlit и Plotly Dash.

Библиотеки для создания панелей мониторинга100+

33%

Streamlit

28%

Plotly Dash

14%

TensorBoard

11%

Gradio

10%

Panel

4%

Voila

12%

Другое

28%

Ничего из перечисленного

Чёк Тинг Хо
член совета PSF, девелопер-адвокат в JetBrains

Streamlit становится все более популярным благодаря своей простоте и минимальным требованиям к знаниям о веб-разработке.

BI-решения100+

21%

PowerBI

17%

Затрудняюсь с ответом

11%

Tableau

4%

Looker

4%

Metabase

2%

QlikView

9%

Другое

47%

Ничего из перечисленного

Все варианты ответа с долей меньше 2% объединены в категорию «Другое».

38%

респондентов обучают или используют ML-модели для генерации прогнозов — это на шесть процентных пунктов больше, чем в прошлом году. Среди них более двух третей работают со scikit-learn и PyTorch.

Фреймворки для обучения моделей машинного обучения и прогнозов100+

67%

68%

SciKit-Learn

60%

66%

PyTorch

48%

49%

TensorFlow

44%

42%

SciPy

30%

30%

Keras

22%

28%

Hugging Face Transformers

22%

23%

XGBoost

Все варианты ответа с долей меньше 2% объединены в категорию «Другое».

Саймон Уиллисон
член совета PSF, соавтор Django и основатель Datasette

Hugging Face Transformers — самая популярная библиотека для работы с крупными языковыми моделями с открытой лицензией, такими как Llama. Hugging Face Diffusers — ведущая библиотека для диффузионных моделей, которые используются для генерации изображений и видео такими моделями, как Stable Diffusion. И Transformers, и Diffusers имеют глубокую интеграцию с PyTorch.

Чёк Тинг Хо
член совета PSF, девелопер-адвокат в JetBrains

PyTorch сейчас находится под управлением Linux Foundation и, по-видимому, становится еще популярнее в этом году.

Перекрестное использование фреймворков для обучения ML-моделей и прогнозирования100+

Проценты в каждой колонке считаются отдельно.

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
094%

Инструменты отслеживания экспериментов100+

24%

TensorBoard

22%

MLFlow

13%

Weights & Biases

12%

Собственное решение

3%

NeptuneML

3%

CometML

2%

Другое

45%

Ничего из перечисленного

TensorBoard.dev устарел, но TensorBoard по-прежнему остается одним из лучших инструментов для отслеживания экспериментов. Глубокая интеграция с основными ML-фреймворками, разнообразные визуализации и удобная локальная настройка делают его популярным среди разработчиков и исследователей.

Платформы для обучения100+

50%

Jupyter Notebook

19%

Собственное решение

11%

Amazon Sagemaker

9%

Облачные ВМ с доступом по SSH

9%

AzureML

6%

Databricks

6%

VertexAI

21%

опрошенных разработчиков занимаются развертыванием и применением моделей машинного обучения. Интересно, что самыми популярными инструментами для этой задачи являются внутренние решения.

Платформы для развертывания и инференса100+

26%

Собственное решение

24%

Hugging Face

19%

Amazon Sagemaker

16%

MLFlow

14%

AzureML

9%

Databricks

9%

VertexAI

7%

Nvidia Triton

6%

Kubeflow

Пользуетесь ли вы или ваша компания облачными инструментами/платформами для задач машинного обучения?

Как стоимость вычислений влияет на ваш выбор облачных инструментов/платформ для машинного обучения?

46%

Они важны, но я также учитываю функциональность и производительность

33%

Это основной фактор — я всегда стараюсь сократить расходы

12%

Они не так важны, как удобство и интеграция

8%

Стоимость не имеет большого значения

Какой у вас средний ежемесячный бюджет на облачные ресурсы для машинного обучения?

27%

Меньше $1000

17%

$1000–5000

8%

$5000–10 000

5%

$10 000–25 000

7%

Больше $25 000

37%

Затрудняюсь с ответом

16%

респондентов занимаются большими данными, причем большинство предпочитают облачные решения. Среди инструментов для работы с большими данными, PySpark является самым популярным: его используют 40% опрошенных.

Инструменты для работы с большими данными100+

36%

40%

PySpark

8%

7%

Great Expectations

6%

6%

PyFlink

3%

4%

PyDeequ

5%

4%

Другое

50%

49%

Ничего из перечисленного

Решения для работы с большими данными100+

34%

Облачные

28%

На собственных серверах

25%

И то, и другое

13%

Ничего из перечисленного

Инструменты

Операционная система100+

59%

Linux

58%

Windows

27%

macOS

2%

BSD

1%

Другое

ИИ-инструменты, которые использовались или тестировались для программирования и других задач, связанных с разработкой100+

82%

ChatGPT

39%

GitHub Copilot

23%

Google Gemini

17%

Anthropic Claude

13%

Visual Studio IntelliCode

12%

Microsoft 365 Copilot

12%

Плагин CodeGPT для VS Code

9%

JetBrains AI Assistant

8%

Code Llama

7%

Codeium

7%

Tabnine

ORM100+

41%

59%

SQLAlchemy

15%

56%

Django ORM

12%

14%

Чистый SQL

10%

14%

SQLModel

Все варианты ответа с долей меньше 2% объединены в категорию «Другое».

Доля тех, кто вообще не занимается разработкой баз данных, увеличилась на четыре процентных пункта по сравнению с прошлым годом.

Может ли это изменение быть связано с ростом использования векторных баз данных в LLM-приложениях?

ORM100+

34%

39%

SQLAlchemy

25%

26%

Django ORM

13%

12%

Чистый SQL

7%

10%

SQLModel

Базы данных100+

43%

49%

PostgreSQL

34%

37%

SQLite

30%

31%

MySQL

17%

18%

Redis

17%

19%

MongoDB

10%

11%

MariaDB

10%

12%

MS SQL Server

Все варианты ответа с долей меньше 2% объединены в категорию «Другое».

Саймон Уиллисон
член совета PSF, соавтор Django и основатель Datasette

PostgreSQL — выдающийся опенсорс-проект с отличной поддержкой: ему уже 28 лет, а он до сих пор продолжает набирать долю рынка!

Системы непрерывной интеграции (CI)100+

35%

GitHub Actions

22%

GitLab CI

12%

Jenkins/Hudson

8%

Azure DevOps

5%

AWS CodePipeline / AWS CodeStar

Все варианты ответа с долей меньше 2% объединены в категорию «Другое».

Две трети Python-разработчиков регулярно используют системы непрерывной интеграции.

Лидирует GitHub Actions, а следом идут GitLab CI/CD и Jenkins/Hudson.

Инструменты управления конфигурацией100+

15%

Ansible

8%

Кастомное решение

4%

Puppet

2%

Chef

2%

Salt

3%

Другое

71%

Ничего из перечисленного

Инструменты для создания документации100+

43%

44%

Markdown

25%

29%

Swagger

16%

15%

Sphinx

14%

15%

Postman

13%

11%

Wiki

Как вы обычно работаете с отдельным Python-файлом?100+

58%

Открываю весь проект в IDE

13%

Использую редактор в терминале

13%

Открываю только этот файл в IDE

11%

Использую легковесный текстовый редактор

2%

Другое

4%

Мне редко приходится редактировать отдельные Python-файлы

Основная IDE/редактор

Чтобы определить, какие IDE и редакторы наиболее популярны, мы задали вопрос, в котором можно было выбрать только один вариант ответа.

48%

Visual Studio Code

25%

PyCharm

4%

Neovim

4%

Jupyter Notebook

3%

Vim

1%

Python Tools for Visual Studio

14%

Другое

3%

Ничего из перечисленного

Все варианты ответа с долей меньше 1% объединены в категорию «Другое».

Data Science и веб-разработка

44%

46%

Visual Studio Code

27%

37%

PyCharm

7%

0%

Jupyter Notebook

2%

0%

Spyder

Среди пользователей VS Code 11 % используют расширение Data Wrangler, а 53 % работают с поддержкой Jupyter, встроенной в IDE.

PyCharm

Для сравнения: поддержкой Jupyter пользуются 33% пользователей IntelliJ IDEA и 37% пользователей PyCharm.

Подробнее о поддержке Jupyter-ноутбуков и других возможностях PyCharm для анализа данных.

80%

опрошенных используют дополнительные IDE или редакторы наряду с основной средой, причем 42 % работают одновременно с тремя и более.

IDE/редакторы, используемые в дополнение к основной IDE/редактору100+

22%

Visual Studio Code

21%

Jupyter Notebook

19%

PyCharm

16%

Vim

13%

NotePad++

12%

JupyterLab

8%

Sublime Text

8%

Nano

6%

Neovim

6%

IDLE

Все варианты ответа с долей меньше 1% объединены в категорию «Другое».

Количество используемых IDE/редакторов

20%

1

38%

2

22%

3

20%

>3

Пакеты Python

Какие из следующих инструментов вы используете для изоляции окружений Python в разных проектах?100+

55%

62%

venv

28%

25%

virtualenv

20%

19%

Conda

18%

18%

Poetry

9%

8%

Pipenv

–

11%

uv

Чарли Марш
основатель Astral, создатель Ruff и uv

Rust позволил нам создать высокопроизводительные инструменты для Python, особенно в области управления пакетами. Здорово видеть, какое влияние это оказало и как стремительно такие решения начали использоваться за последний год.

Дмитрий Усталов
Тимлид AI Evaluation в JetBrains

Мы наблюдаем появление нового поколения отличных инструментов для Python, написанных на Rust: uv, Ruff и Polars. Сейчас это одна из самых заметных тенденций в мире Python.

Саймон Уиллисон
член совета PSF, соавтор Django и основатель Datasette

То, что uv набрал 11% уже в первый год после релиза (а вышел он в феврале 2024), — впечатляющее достижение.

Владимир Сотников
руководитель разработки в JetBrains Computational Arts Initiative

Я недавно начал использовать uv для личного проекта, и мне очень понравилось.

LinkedIn, Google Scholar

PyCharm

PyCharm поддерживает интеграцию с uv, позволяя создавать новые окружения с нуля и применять uv к уже существующим.

Какие инструменты вы используете для управления зависимостями?100+

77%

74%

pip

19%

20%

Poetry

19%

18%

Conda

–

12%

uv

9%

8%

Pipenv

9%

9%

pip-tools

Сет Ларсон
специалист по безопасности в PSF, PSF Fellow

Отлично, что все больше людей пользуются инструментами для управления зависимостями, которые фиксируют версии и контрольные суммы — это важно для безопасности. Всем Python-приложениям стоит использовать такие инструменты, как pip-tools, Poetry или uv.

В каком формате хранится информация о зависимостях приложения?100+

63%

59%

requirements.txt

32%

36%

pyproject.toml

17%

16%

setup.py

11%

12%

Не храню информацию о зависимостях

Саймон Уиллисон
член совета PSF, соавтор Django и основатель Datasette

PEP 621 в отношении pyproject.toml был принят в ноябре 2020 года. Приятно видеть, что этот современный стандарт для упаковки Python продолжает получать широкое распространение.

simonwillison.net, GitHub, LinkedIn, Mastodon, Bluesky

Откуда вы скачиваете пакеты?100

80%

75%

PyPI

28%

29%

GitHub

16%

16%

Anaconda

14%

14%

Локальный источник

10%

10%

Частный Python Package Index

10%

11%

Из дистрибутива Linux

10%

11%

Внутреннее зеркало PyPI

Чарли Марш
основатель Astral, создатель Ruff и uv

Как пользователя, меня всегда радует скорость и стабильность PyPI. Это основа всей экосистемы Python, и команда отлично справляется с поддержанием ее бесперебойной работы.

Чёк Тинг Хо
член совета PSF, девелопер-адвокат в JetBrains

Это подчеркивает важность PyPI, поскольку большинство разработчиков устанавливают пакеты именно оттуда. Обеспечение безопасности PyPI — одна из приоритетных задач PSF, и сообществу тоже важно поддерживать эти усилия.

Откуда вы скачиваете пакеты?100

73%

83%

PyPI

29%

25%

GitHub

27%

6%

Anaconda

15%

10%

Локальный источник

13%

11%

Внутреннее зеркало PyPI

11%

12%

Частный Python Package Index

10%

2%

Другие каналы Conda

Чёк Тинг Хо
член совета PSF, девелопер-адвокат в JetBrains

Anaconda и Conda по-прежнему популярны среди дата-сайентистов, так как обеспечивают стабильную работу на разных платформах и предлагают готовые инструменты для проектов в области анализа данных.

26%

респондентов упаковывали и публиковали разработанное ими Python-приложение в репозиторий пакетов.

Какие инструменты вы используете для создания пакетов своих библиотек Python?100

44%

Twine

31%

PyPI Publish GitHub Action

29%

Poetry

10%

Hatch

5%

Flit

5%

PDM

8%

Другое

Саймон Уиллисон
член совета PSF, соавтор Django и основатель Datasette

Я использую PyPI Publish GitHub Action в десятках своих проектов.Это очень удобный способ публиковать пакеты на PyPI — начиная с ноября 2024 года он автоматически обрабатывает цифровые подтверждения, и пользователям не нужно ничего менять.

simonwillison.net, GitHub, LinkedIn, Mastodon, Bluesky

Насколько вы знакомы с Trusted Publishers?

51%

Впервые слышу

33%

Имею смутное представление

4%

Пробовал(а), но больше не пользуюсь

12%

Пользуюсь сейчас

Саймон Уиллисон
член совета PSF, соавтор Django и основатель Datasette

Trusted Publishing позволяет безопасно публиковать пакеты на PyPI без необходимости копировать пароли или токены аутентификации в CI-системы. Благодаря GitHub Action PyPI Publish этим очень удобно пользоваться.

Чарли Марш
основатель Astral, создатель Ruff и uv

Trusted Publishing — одно из важнейших, но пока недооцененных нововведений в экосистеме упаковки за последний год.

30%

опрошенных работают с монорепозиторием, где хранятся несколько пакетов или сервисов, каждый из которых имеет собственные управляемые зависимости.

Вы используете в контейнерах виртуальное окружение?

35%

Да

42%

Нет

1%

Другое

21%

Не использую контейнеры для разработки на Python

17%

опрошенных создают бинарные модули для Python на других языках — в основном C++, C и Rust. Интересно, что доля Rust выросла на шесть процентных пунктов по сравнению с прошлым годом.

Языки сборки двоичных модулей для Python100+

55%

54%

C++

44%

45%

C

27%

33%

Rust

9%

10%

Go

Сет Ларсон
специалист по безопасности в PSF, PSF Fellow

Радует, что рядом с Python продолжают набирать популярность языки с безопасным управлением памятью — такие как Rust, а также Go и C#. Во многом это стало возможным благодаря качественным проектам вроде PyO3 и maturin, которые развиваются силами сообщества. Отличная работа всех, кто к ним причастен.

Чёк Тинг Хо
член совета PSF, девелопер-адвокат в JetBrains

Python и Rust отлично дополняют друг друга. Python – это высокоуровневый язык, на котором быстро писать код, а Rust компилируется и быстро выполняется. Благодаря PyO3 их можно объединить и использовать сильные стороны обоих языков.

Демография

Гендер

На этот вопрос можно было не отвечать.

Возраст

9%

18–20

38%

21–29

27%

30–39

15%

40–49

7%

50–59

3%

60 и старше

Чёк Тинг Хо
член совета PSF, девелопер-адвокат в JetBrains

Хотя сообщество прилагает усилия для повышения разнообразия и инклюзивности, большинство разработчиков по-прежнему составляют мужчины. Эту работу важно продолжать.

Где вы живете?

14%

США

11%

Индия

6%

Германия

4%

Великобритания

4%

Бразилия

4%

Франция

3%

Материковый Китай

Все варианты ответа с долей меньше 1% объединены в категорию «Другое».

Мэри Нордин
менеджерка по связям с сообществом в PSF

Хотя больше всего ответов по-прежнему поступило из США, приятно видеть, что наши усилия по расширению географии участников опроса в 2024 году принесли результат.

В команде vs самостоятельно

Работа над проектами

Статус занятости

59%

Работаю в штате компании или организации

4%

Работаю по совместительству в компании или организации

6%

Самозанятый

6%

Фрилансер

6%

Работающий студент

12%

Студент

4%

В настоящее время не работаю

1%

На пенсии

1%

Другое

Должность100+

66%

Разработчик, программист

16%

Руководитель команды

16%

Инженер данных

15%

Cпециалист по Data Science

15%

Архитектор

13%

Аналитик данных

12%

Специалист по машинному обучению/MLOps

Размер компании

7%

Только я

12%

2–10

17%

11–50

24%

51–500

7%

501–1000

10%

1001–5000

18%

Более 5000

4%

Не знаю

Размер команды

70%

От 2 до 7 человек

19%

От 8 до 12 человек

6%

От 13 до 20 человек

3%

От 21 до 40 человек

2%

Более 40 человек

Сфера деятельности компании

41%

Информационные технологии / разработка ПО

7%

Наука

6%

Образование / обучение

5%

Бухгалтерия / финансы / страхование

4%

Производство

4%

Медицина / здравоохранение

3%

Банковское дело / недвижимость / ипотечное финансирование

Все варианты ответа с долей меньше 1% объединены в категорию «Другое».

Исходные данные и методология

Хотите проанализировать данные самостоятельно? Скачайте обезличенные результаты опроса и найдите нужные вам сведения. Делитесь своими открытиями и мыслями на платформе X с хештегом #pythondevsurvey. Не забудьте упомянуть @jetbrains и @ThePSF.

Прежде чем анализировать данные самостоятельно, обратите внимание:

Набор данных включает в себя только ответы, полученные через официальные каналы Python Software Foundation. После того как мы исключили дубликаты и ненадежные анкеты, в наборе данных остались ответы более 25 000 респондентов, собранные в осенью 2024 года за счет продвижения опроса на сайте python.org и в блоге PSF, через официальные рассылки Python и связанные с Python сабреддиты, а также на страницах PSF в X и >LinkedIn. Чтобы избежать искажения результатов в пользу определенного инструмента или технологии, для сбора ответов не использовались каналы, связанные с какими-либо продуктами, сервисами и поставщиками.

Данные полностью анонимны и не содержат персональной информации о респондентах и об их местонахождении. Чтобы исключить вероятность идентификации респондентов по их комментариям, мы удалили все ответы на открытые вопросы.

Чтобы вам было проще понять логику опроса, мы делимся набором данных, вопросами и всей логикой анкеты. Мы использовали разные способы упорядочивания вариантов ответов (алфавитный, случайный и прямой). Порядок ответов указан для каждого вопроса.

Критерии исключения ответов

Любой из следующих факторов
  • Возраст меньше 18 лет.
  • Нет ответа на вопрос «Как долго вы профессионально занимаетесь программированием?» на третьей странице опроса.
  • Возраст менее 21 года, а опыт профессионального программирования более 11 лет.
  • Слишком много одиночных ответов на вопросы с возможностью выбора нескольких ответов (за исключением ответов «Никакие», «Нет»).
  • Несколько ответов с одного адреса электронной почты (для каждого адреса мы сохранили только один ответ).
  • Респондент не использует Python.

Сочетание по крайней мере двух из следующих факторов
  • Используется более 16 языков программирования.
  • Более 9 рабочих ролей.
  • Выбрано более 11 вариантов при ответе на вопрос «Для чего вы используете Python?».
  • Выбранная страна/регион находится в верхней части списка, сортированного по алфавиту, и не относится к самым часто выбираемым странам/регионам.
  • Сочетание рабочих ролей CEO и «Техническая поддержка».
  • CEO и возраст менее 21 года.
  • В целом слишком много выбранных вариантов ответа (например, респондент использует практически все фреймворки для Data Science, веб-разработки, упаковки и т. п.).
  • Ответы даны слишком быстро (меньше 5 секунд на вопрос).

JetBrains и Python Software Foundation благодарят всех, кто участвовал в опросе. Вы помогли нам составить актуальное представление об экосистеме Python.

Поддержите PSF. PSF — некоммерческая организация, существующая исключительно на средства, внесенные ее членами, спонсорами и сообществом.

Результаты предыдущих опросов: 2023, 2022, 2021, 2020, 2019, 2018 и 2017.

Читайте отчеты о других исследованиях JetBrains.

Спасибо, что уделили время!

Надеемся, наш отчет был вам полезен. Поделитесь результатами исследования с друзьями и коллегами!

Присоединяйтесь к JetBrains Tech Insights Lab

Участвуйте в опросах и UX-исследованиях JetBrains, чтобы помочь нам сделать наши продукты еще лучше. Среди участников исследований разыгрываются призы.