Moscow Python
1.85K subscribers
110 photos
3 videos
2 files
813 links
Канал Python.ru и Moscow Python. Новости сообщества, события, статьи, интервью.

Чат: @moscowpythonconf
加入频道
FishITStream - разговоры о программировании на рыбалке

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

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

Кто будет на связи:
🍺 Николай Хитров (https://yangx.top/nkhitrov_blog) — Python-блогер и серийный спикер
🍺 Никита Соболев (https://yangx.top/opensource_findings) — CPython core developer, безработный
🍺 Никита Пастухов (https://yangx.top/fastnewsdev) — автор FastStream, галерный гребец, филантроп
🍺 Роман Пожарнов (https://yangx.top/threaditup) — автор asgi-monitor, говорит на рыбьем языке

О чем поговорим:
📈 Развитие языка Python: как развивается язык и почему Python всё ещё лучше Go (или нет)
💼 Рынок вакансий: тенденции и перспективы, что нужно подтянуть кандидатам, чтобы остаться на плаву в 2025 году
🗂 👥 Конференции и нетворкинг: зачем идти слушать и выступать, как найти тему для доклада
🧘‍♂️ 🌴 Work-life balance: как работать, отдыхать и не выгорать
👨🏻‍🌾 И, конечно же, мы не оставим без внимания OpenSource: обсудим развитие продуктов, успешные проекты, мотивацию людей и секреты правильного использования OSS.

Ссылка на трансляцию
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥7😁32👍1
Forwarded from Елизавета Грейм
По традиции ждем всех в первую пятницу месяца обсудить новости Python🎙

4 июля в 14:00 (по мск) соберемся в прямом эфире Moscow Python Podcast с Гришей Петровым и Мишей Корнеевым и обсудим, что интересного случилось за месяц в Python. О новостях расскажем подробнее в следующем анонсе.

Когда и во сколько: 4 июля в 14:00 по мск
🟤Смотреть на YouTube
🟤Cмотреть на Rutube
🟤Cмотреть в VK Видео
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥111👨‍💻1
Forwarded from Елизавета Грейм
Уже сегодня обсудим новости Python в прямом эфире🎙

О чем поговорим в выпуске:
🔴State of free threading python (FTP);
🔴Проблемы честной concurrency;
🔴Как дела у Python на мобилке;
🔴Python и Mojo;
🔴Заменит ли AI джунов;
🔴Как дизайнить DSL-и в эпоху LLM.

Когда и во сколько: 4 июля в 14:00 по мск

Выбирайте удобную площадку и присоединяйтесь к прямому эфиру:
🟤Смотреть на YouTube
🟤Cмотреть на Rutube
🟤Cмотреть в VK Видео
Please open Telegram to view this post
VIEW IN TELEGRAM
6🤓2
Напоминаем, что 23-го июля в Школе 21 состоится наш 103-й митап.

Нас ожидает 3 доклада:
- Станислав Коленский (Самозанятый, репетитор). Как учат программированию в школьный период и на сколько можно готовить кадры с подросткового возраста
- Мария Рубаненко (Fintech AI / Tech lead DS). Суперсжатие на строках
- Докладчик от Школы 21 - TBA

Читайте подробности и регистрируйтесь тут:
https://moscowdjango.timepad.ru/event/3435199/

ВНИМАНИЕ: Не забудьте взять с собой паспорт!

Онлайн-трансляция пройдёт на https://moscowpython.ru

Митап проходит при поддержке Geekfactor.io, Evrone, Learn Python, Школа 21.

Заявки на доклады на следующих митапах подавайте на https://bit.ly/mp-speaker
🔥3
Лучший курс по Python 15: Subinterpreters

Продолжаем говорить про субинтерпретаторы.
Пригласил их автора – Eric Snow – чтобы поговорить про историю, актуальное состояние проекта и его будущее. Особо отмечу темы про будущие оптимизации. Как ускорить старт интерпретатора? Как сделать возможным шеринг большего количества данных?

Все здесь! Есть русские и английские субтитры.
А еще я добавил много примеров кода и ссылки на исходники / пепы / статьи.
Жмите на паузу и читайте :)

https://www.youtube.com/watch?v=VBiaNNpLzWA

Внутри:
00:00 Вступление
00:11 Представление гостя
01:20 Введение в subinterpreters и PEP-554
04:21 Как subinterpreters выглядят с точки зрения OS?
05:50 Зачем добавили субинтерпретаторы в Python1.5?
08:01 Сколько субинтерпретаторов можно запустить в один момент?
09:19 История subinterpreters
17:25 Изоляция модулей и PEP-687
25:22 Immortal objects и PEP-683
29:15 Static Types
32:50 Проблема с модулем SSL
34:44 Связь subinterpreters и free-threading
42:45 Erlang и Actor Model
43:50 CSP, Channels
45:23 _interpqueues
46:11 (не)Копирование данных при отправке данных в очередь
48:53 Можно ли безопасно делить все буфферы? memoryview
49:53 subinterpreters vs multiprocessing
53:09 subinterpreters and asyncio
56:07 PEP-734
56:37 Сборщик мусора, GC
58:13 Как сделать еще быстрее и лучше в будушем?
01:03:34 Какие библиотеки стоит сделать сообществу?
01:08:14 Завершение

Обсуждение: кого бы вы хотели видеть в качестве будущего гостя?

| Поддержать | YouTube | GitHub | Чат |
8👍1😱1
Напоминаем, что уже на следующей неделе - 23-го июля в Школе 21 состоится наш 103-й митап.

Нас ожидает 3 доклада:
- Станислав Коленский (Самозанятый, репетитор). Как учат программированию в школьный период и на сколько можно готовить кадры с подросткового возраста
- Мария Рубаненко (Fintech AI / Tech lead DS). Суперсжатие на строках
- Михаил Попов (Assigna Python Backend Developer). Vibe coding. Очевидные преимущества и непоправимые угрозы

Читайте подробности и регистрируйтесь тут:
https://moscowdjango.timepad.ru/event/3435199/

ВНИМАНИЕ: Не забудьте взять с собой паспорт!

Онлайн-трансляция пройдёт на https://moscowpython.ru

Митап проходит при поддержке Geekfactor.io, Evrone, Learn Python, Школа 21.

Заявки на доклады на следующих митапах подавайте на https://bit.ly/mp-speaker
👍3🔥1
Последняя возможность зарегистрироваться на наш митап, который пройдёт 23-го июля в Школе 21, - регистрация скоро закроется!

Нас ожидает 3 доклада:
- Станислав Коленский (Самозанятый, репетитор). Как учат программированию в школьный период и на сколько можно готовить кадры с подросткового возраста
- Мария Рубаненко (Fintech AI / Tech lead DS). Суперсжатие на строках
- Михаил Попов (Assigna Python Backend Developer). Vibe coding. Очевидные преимущества и непоправимые угрозы

Читайте подробности и регистрируйтесь тут:
https://moscowdjango.timepad.ru/event/3435199/

ВНИМАНИЕ: Не забудьте взять с собой паспорт!

Онлайн-трансляция пройдёт на https://moscowpython.ru

Митап проходит при поддержке Geekfactor.io, Evrone, Learn Python, Школа 21.

Заявки на доклады на следующих митапах подавайте на https://bit.ly/mp-speaker
Cкоро начнётся наш 103-й митап. Приходите, если зарегистрировались или подключайтесь к трансляции на moscowpython.ru!
3👍2
Скоро начинаем. :)
Подключайтесь на MoscowPython.ru ;)
8🔥6
Снимок экрана 2025-07-25 в 16.38.01.png
454.8 KB
Делаем бесплатный курс по vscode?

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

Тем более видосы с нарезкой моего подкаста на данную тему с @t0digital собрали много обсуждений и даже возмущений. А значит – тема горячая :)

Будем делать из второй картинки третью.

О чем поговорим?
- Почему DX важен?
- Почему vscode, а не vim / pycharm / emacs / тд. И как применить такие же подходы к другим средам
- О минимализме. Для успешной работы вам нужно меньше инструментов, а не больше
- О том, как сделать минимальное количество полезных горячих клавиш, которыми вы реально будете пользоваться
- Как навигироваться по коду, файлам, важным местам в проекте
- Какие принципы позволят вам сделать свой уникальный рабочий сетап, который удобен вам
- Как можно делать свои крутые инструменты, как пример для работы со сложными кейсами в git: https://github.com/sobolevn/fzf-simple-git
- Как писать свои темы, плагины. И когда их не писать

Будет крайне полезно, чтобы писать код быстрее и проще.

Мои конфиги за ~10 лет работы всегда можно посмотреть тут: https://github.com/sobolevn/dotfiles

Собираем донат goal на +16 человек – и начинаем! Все будет бесплатно и на ютюбе. Подписка на https://boosty.to/sobolevn стартует со 100 рублей.

Холивар про IDE объявляется открытым в комментах 🌚
19🔥11👍1
Приглашаем на наш 104-й митап, который состоится 26-го августа в компании MTS Digital!

Нас ожидает 3 доклада:
- Станислав Козырев (ЦУНБ им. Некрасова, ведущий инженер-программист). Как научить Алису рецептам дореволюционной кухни
- Артур Зиннуров (Software Engineer, Swansea University). CI/CD Pytest для тестирования качества данных здравоохранения в Великобритании
- Докладчик от MTS Digital — TBA

Читайте подробности и регистрируйтесь тут:
https://moscowdjango.timepad.ru/event/3491248/

Онлайн-трансляция пройдёт на https://moscowpython.ru

Митап проходит при поддержке Geekfactor.io, Evrone, Learn Python, MTS Digital.

Заявки на доклады на следующих митапах подавайте на https://bit.ly/mp-speaker
🔥73
Forwarded from Елизавета Грейм
Уже завтра обсудим новости Python в прямом эфире🎙

О чем поговорим в выпуске:
🔴20 лет Django;
🔴Python 3.14 rc1;
🔴Reflections on 2 years of CPython’s JIT Compiler: The good, the bad, the ugly;
🔴PEP 792 – Project status markers in the simple index;
🔴PyPi и inbox.ru.

Когда и во сколько: 1 августа в 14:00 по мск

Выбирайте удобную площадку и присоединяйтесь к прямому эфиру:
🟤Смотреть на YouTube
🟤Cмотреть на Rutube
🟤Cмотреть в VK Видео
Please open Telegram to view this post
VIEW IN TELEGRAM
9🔥3👍2
Напоминаем про наш 104-й митап, который состоится 26-го августа в компании MTS Digital!

Нас ожидает 3 доклада:
- Станислав Козырев (ЦУНБ им. Некрасова, ведущий инженер-программист). Как научить Алису рецептам дореволюционной кухни
- Артур Зиннуров (Software Engineer, Swansea University). CI/CD Pytest для тестирования качества данных здравоохранения в Великобритании
- Никита Дорофеев (Блендер, Senior Python Developer. Оптимизация сервиса АБ тестирования или как уйти от Django ORM к Fastapi query builder

Читайте подробности и регистрируйтесь тут:
https://moscowdjango.timepad.ru/event/3491248/

Онлайн-трансляция пройдёт на https://moscowpython.ru

Митап проходит при поддержке Geekfactor.io, Evrone, Learn Python, МТС Web Services.

Заявки на доклады на следующих митапах подавайте на https://bit.ly/mp-speaker
6👍2🔥2
Большая бесплатная Python конференция в Нижнем Новгороде!

У меня хорошая новость. Делаем бесплатную конфу по питону, пригласили топовых специалистов: core-разработчиков, контрибьюторов, организаторов разных комьюнити движух, специалистов из индустрии. И все – участники нашего чата. Как же так получилось 🌚

Вот такой список докладов:

- Подопригора Кирилл, CPython core dev, Evrone: Кто такой CFG в CPython, и какую роль он выполняет?
- Хитров Николай, организатор @peer_2beer, Точка Банк: Проектирование — это когда чувствуешь, а не какие-то там циферки
- Ильиных Илья, организатор @spbpythonnews, блоггер @kydavoiti: Vim — это метаредактирование
- Джалаев Давид, Газпром-нефть ЦР: Continuous profiling
- Порядин Алесей, участник @pytho_nn: AI-агенты в каждый дом
- Мирянов Сергей, CPython contributor, РН-Технологии: Внутреннее устройство сборки мусора в CPython 3.14+
- Неретин Степан, CPython contributor, Postgres Professional: Своя файловая система за 5 минут на Python
- Ефимов Михаил, CPython contributor, X5 Tech: Генератор байткода и байткод генератора

Ну мощь же 💪
Да, конференции можно делать и не за 50 тыщ за билет.

А еще будет много доброго общения, обсуждения кишочков питона, настолки и тусовка до утра :)
Идеальный день.

Бронируйте дату! Если давно хотели побывать в Нижнем – вот идеальный повод. Буду рад всех видеть лично!

📍 Когда: 20 сентября 2025 года
📍 Где: ул. Нижне-Волжская набережная, 11, «Академия Маяк» им. А.Д. Сахарова

Регистрация обязательна: https://dev.itgorky.ru

| Поддержать | YouTube | GitHub | Чат |
🔥19👍1
Три типа объектов в Питоне

В питоне часто любят обсуждать "мутабельные" и "иммутабельные" объекты, но крайне редко объясняют, в чем же на самом деле разница. Сегодня мы посмотрим на такое со стороны C.

PyObject

Все мы знаем, что в питоне все объект или PyObject *, который упрощенно выглядит так (в FT сборке он посложнее):


struct _object {
Py_ssize_t ob_refcnt;
PyTypeObject *ob_type;
}


То есть: у нас есть только счетчик ссылок на объект и указатель на его тип. Первое меняется очень часто, если объект не immortal. Второе тоже можно менять в некоторых случаях:


>>> class A:
... __slots__ = ()

>>> class B:
... __slots__ = ()

>>> a = A()
>>> type(a)
<class '__main__.A'>
>>> a.__class__ = B
>>> type(a)
<class '__main__.B'>


Получается, что большинство объектов мутабельные уже на данном уровне.

Но, в целом есть три типа объектов, разные по уровню мутабельности:
1. Такие как None: ob_refcnt не меняется (immortal), тип менять нельзя, ведь Py_TPFLAGS_IMMUTABLETYPE установлен (static type), размер неизменный 0 для всех потенциальных значений
2. Такие как int: ob_refcnt может меняться для больших чисел (маленькие инты - immortal), тип менять нельзя, размер нельзя менять, но он будет разный для разных чисел:


>>> sys.getsizeof(1)
28
>>> sys.getsizeof(10000000000000)
32


3. Такие как list: ob_refcnt всегда меняется, тип менять нельзя, размер меняется

Отдельно нужно отметить, что пользовательские классы обычно еще более мутабельны, потому что и тип менять можно.
Но, вопрос в другом: а где вообще хранится размер объекта и его внутренности? Раз в PyObject ничего такого нет.

C-API

В C-API питона есть два полезных макроса: PyObject_HEAD для объектов фиксированного размера и PyObject_VAR_HEAD для объектов, которые могут менять размер.


struct PyVarObject {
PyObject ob_base;
Py_ssize_t ob_size; /* Number of items in variable part */
};

#define PyObject_HEAD PyObject ob_base;
#define PyObject_VAR_HEAD PyVarObject ob_base;


Хотим поменять размер объекта? Увеличиваем ob_size, аллоцируем новую память (если нужно) под новые объекты внутри.

Итоговые объекты используют примерно такую логику:


typedef struct {
PyObject_VAR_HEAD
/* Vector of pointers to list elements. list[0] is ob_item[0], etc. */
PyObject **ob_item;

/* ob_item contains space for 'allocated' elements. The number
* currently in use is ob_size.
*/
Py_ssize_t allocated;
} PyListObject;


То есть: на самом деле все объекты list (и любые другие) не просто PyObject, они:
- Имеют свой собственный тип: PyListObject
- Имеют общую абстракцию для размерности: PyVarObject
- Имеют общую абстракцию для типа и счетчика ссылок: PyObject

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

Итог

1. None не имеет внутреннего состояния вообще (не использует ничего)
2. int может иметь разный размер, но не может изменяться, потому использует PyObject_HEAD (раньше был PyObject_VAR_HEAD, там сложная история):


typedef struct _PyLongValue {
uintptr_t lv_tag; /* Number of digits, sign and flags */
digit ob_digit[1];
} _PyLongValue;

struct _longobject {
PyObject_HEAD
_PyLongValue long_value;
};


3. list может иметь разный размер и может изменяться, потому использует PyObject_VAR_HEAD, как я показывал выше

Обсуждение: как вы думаете, как работает len() для list?

| Поддержать | YouTube | GitHub | Чат |
11🤓1
Поздравляем Python Breakfast Moscow с 100-м завтраком
🔥205🍾3
Напоминаем, что уже на следующей неделе - 26-го августа - состоится наш 104-й митап, который пройдёт в компании МТС Web Services!

Нас ожидает 3 доклада:
- Станислав Козырев (ЦУНБ им. Некрасова, ведущий инженер-программист). Как научить Алису рецептам дореволюционной кухни
- Артур Зиннуров (Software Engineer, Swansea University). CI/CD Pytest для тестирования качества данных здравоохранения в Великобритании
- Никита Дорофеев (Блендер, Senior Python Developer. Оптимизация сервиса АБ тестирования или как уйти от Django ORM к Fastapi query builder

Читайте подробности и регистрируйтесь тут:
https://moscowdjango.timepad.ru/event/3491248/

Онлайн-трансляция пройдёт на https://moscowpython.ru

Митап проходит при поддержке Geekfactor.io, Evrone, Learn Python, МТС Web Services.

Заявки на доклады на следующих митапах подавайте на https://bit.ly/mp-speaker
🔥4👍1
Осталось немного мест на наш митап, который состоится завтра.

Читайте подробности и регистрируйтесь тут:
https://moscowdjango.timepad.ru/event/3491248/

Онлайн-трансляция пройдёт на https://moscowpython.ru

Митап проходит при поддержке Geekfactor.io, Evrone, Learn Python, МТС Web Services.

Заявки на доклады на следующих митапах подавайте на https://bit.ly/mp-speaker
🔥3
Forwarded from Valentin Dombrovsky
22-го сентября состоится наш 105-й митап, который пройдёт в компании K2 Cloud!

Нас ожидает 3 доклада:
- Пётр Андреев (МФТИ, лектор по курсу Advanced Python). Дотянуться до кремния. HighLoad Python: SIMD, GPU
- Кирилл Гладких (ООО Штаб, Python разработчик). Как вайбкодить по-сениорски
- Антон Важнецов (K2 Cloud, Тимлид). Подход к глубоким изменениям. Миграция SDN в боевом облаке на Python

Читайте подробности и регистрируйтесь тут:
https://moscowdjango.timepad.ru/event/3552715/

Онлайн-трансляция пройдёт в группе ВК K2 Cloud. Всю важную информацию можно будет найти прямо там или в телеграм-канале ребят.

Митап проходит при поддержке Geekfactor.io, Evrone, Learn Python, K2 Cloud.

Заявки на доклады на следующих митапах подавайте на https://bit.ly/mp-speaker
👍9
Forwarded from Елизавета Грейм
Завтра в 15:00 (по мск) обсудим новости Python в прямом эфире🎙

О чем поговорим в выпуске:
🔴документальный фильм о Python;
🔴StackOverflow Developer Survey;
🔴Python Developer Survey;
🔴Чего ждать от Django 6?;
🔴Astral запускают первый коммерческий продукт.

Когда и во сколько: 5 сентября в 15:00 по мск (обратите внимание, что чуть позже, чем обычно проводим выпуск)

Выбирайте удобную площадку и присоединяйтесь к прямому эфиру:
🟤Смотреть на YouTube
🟤Cмотреть на Rutube
🟤Cмотреть в VK Видео
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥12🤩32