Хорошая статья про то, как устроена в питоне сборка/установка пакетов и почему именно так. Для тех, кому любопытно чуть больше погрузиться в историю - самое то. Выводы у статьи простые - используйте
Ссылка - https://www.bitecode.dev/p/whats-the-deal-with-setuptools-setuppy
pyproject.toml
везде, где это возможно. Я с автором в этом согласен, например у меня на работе как минимум во всех новых проектах pyproject.toml
используется по умолчанию.Ссылка - https://www.bitecode.dev/p/whats-the-deal-with-setuptools-setuppy
www.bitecode.dev
What's the deal with setuptools, setup.py, pyproject.toml and wheels?
Why? Why? Why? Oh, that's why.
Следующий выпуск Moscow Python Podcast записываем в эту пятницу, 13 сентября - обсудим новости августа:
🟤 релиз Django 5.1;
🟤 большое обновление uv;
🟤 PyPI улучшила время реагирования на malware до 24 часов;
🟤 Лучшие языки программирования 2024 года по версии IEEE.
Когда: 13 сентября в 14:00 (по мск)
Где: онлайн и в записи по ссылке
Когда: 13 сентября в 14:00 (по мск)
Где: онлайн и в записи по ссылке
Please open Telegram to view this post
VIEW IN TELEGRAM
YouTube
Django 5.1 / Релиз uv / PyPI реагируют на Malware в течение суток / Рейтинг популярности ЯП от IEEE
Спонсор подкаста: курсы по Python-разработке для тех, кто уже знаком с веб-разработкой — https://learn.python.ru/advanced
Ведущие – Григорий Петров и Михаил Корнеев
Таймкоды:
00:00 — интро
1:08 — релиз Django 5.1 и её развитие
20:25 — релиз uv
37:24…
Ведущие – Григорий Петров и Михаил Корнеев
Таймкоды:
00:00 — интро
1:08 — релиз Django 5.1 и её развитие
20:25 — релиз uv
37:24…
Один из частых вопросов в комментариях к подкасту - где взять идеи для учебных Dajngo-проектов. Хотя я сам считаю, что лучший учебный проект — это тот который ты придумал сам и который тебя драйвит, я понимаю, что многим было бы удобнее взять какую-то плюс-минус готовую идею и сосредоточиться на разработке.
JetBrains у себя в блоге опубликовали список идей для проектов на Django. Хотя там в основном высокоуровневое описание проекта без деталей и всего пара ссылок на туториалы, если вам такое актуально - посмотрите https://blog.jetbrains.com/pycharm/2024/09/django-project-ideas/
JetBrains у себя в блоге опубликовали список идей для проектов на Django. Хотя там в основном высокоуровневое описание проекта без деталей и всего пара ссылок на туториалы, если вам такое актуально - посмотрите https://blog.jetbrains.com/pycharm/2024/09/django-project-ideas/
Привет! Напоминаем, что сегодня, 4 октября в 14:00 по мск обсудим новости сентября:
🟤 перенос релиза 3.13 или настало время перестать использовать 3.8;
🟤 Python Developers Survey 2023;
🟤 большая дискуссия про uv в хвиторе.
Когда: 4 октября в 14:00 (по мск).
Где: онлайн и в записи на YouTube и RuTube.
И да, у нас теперь есть канал и на RuTube, подписывайтесь — https://rutube.ru/channel/45885590/
Когда: 4 октября в 14:00 (по мск).
Где: онлайн и в записи на YouTube и RuTube.
И да, у нас теперь есть канал и на RuTube, подписывайтесь — https://rutube.ru/channel/45885590/
Please open Telegram to view this post
VIEW IN TELEGRAM
YouTube
Релиз 3.13 и когда перестать использовать 3.8 / Python Developers Survey 2023 / Дискуссия про uv
Спонсор подкаста: курсы по Python-разработке для тех, кто уже знаком с веб-разработкой — https://learn.python.ru/advanced
Ведущие – Никита Соболев и Михаил Корнеев
00:00 — интро
02:48 — отложенный релиз Python 3.13
03:47 — поддержка версий и тестирование…
Ведущие – Никита Соболев и Михаил Корнеев
00:00 — интро
02:48 — отложенный релиз Python 3.13
03:47 — поддержка версий и тестирование…
Зарелизился python 3.13, кратенько перечислю самое интересное, а подробно обсудим на подкасте в первых числах ноября.
Сначала самые интересные штуки, которые пока недоступны конечным пользователям:
- Первый релиз с nogil (который теперь официально называется free-threaded). Доступен только если собрать интерпретатор со специальным ключом
- Новый copy-and-patch JIT-компилятор, который (сюрприз!) тоже по умолчанию выключен и требует сборки с ключом
Это все выглядит очень интересно, но давайте перейдем к изменениям, которые можно пощупать и которые реально полезны:
- Эксепшены в питоне, итак, были довольно дружелюбны (по сравнению с другими языками), но в последних версиях идет планомерная работа по их улучшению. В этот раз добавили выделение цветом в терминале и более понятное сообщение об ошибке в случае, когда в проекте есть файл, совпадающий по названию с модулем, который ты хочешь импортировать (пример - у меня в проекте есть файл
- Новый клевый repl с подсветкой, возможностью редактировать не только текущую строку, автоотступами, режимами просмотра истории (F2) и вставки (F3) и самое главное – с возможностью писать
- Новые улучшения системы типов - дефолты (теперь не надо писать
-
Ну и еще всякое по мелочи. Релиз получился без каких-то больших изменений для тех, кто пишет на python, но с очень большим и интересным заделом на будущее.
Сначала самые интересные штуки, которые пока недоступны конечным пользователям:
- Первый релиз с nogil (который теперь официально называется free-threaded). Доступен только если собрать интерпретатор со специальным ключом
--disable-gil
, но если очень хочется поиграться, то можно поставить 3.13.0rc3t
с помощью pyenv. Производительность пока замерять рановато, потому что сам по себе питон в free-threaded режиме на 20% медленнее обычного из-за проблем с garbage collector-ом, мы с Никитой Соболевым довольно подробно в подкасте про это говорили, в 3.14 должны поправить, а для тестирования совместимости с библиотеками это пока не важно.- Новый copy-and-patch JIT-компилятор, который (сюрприз!) тоже по умолчанию выключен и требует сборки с ключом
--enable-experimental-jit
. На самом деле если его включить, то какой-то пользы для себя вы не увидите, так как для работы ему требуются "шаблоны", которые будут заменять куски байт-кода на машинный код, а их еще требуется написать. Собственно, его, как и nogil включили в релиз для того, чтобы можно было экспериментироватьЭто все выглядит очень интересно, но давайте перейдем к изменениям, которые можно пощупать и которые реально полезны:
- Эксепшены в питоне, итак, были довольно дружелюбны (по сравнению с другими языками), но в последних версиях идет планомерная работа по их улучшению. В этот раз добавили выделение цветом в терминале и более понятное сообщение об ошибке в случае, когда в проекте есть файл, совпадающий по названию с модулем, который ты хочешь импортировать (пример - у меня в проекте есть файл
django.py
и я в другом файле пробую импортировать что-то из реальной джанги `from django import forms`)- Новый клевый repl с подсветкой, возможностью редактировать не только текущую строку, автоотступами, режимами просмотра истории (F2) и вставки (F3) и самое главное – с возможностью писать
exit
без скобочек 🙂- Новые улучшения системы типов - дефолты (теперь не надо писать
Generator[int, None, None]
- можно просто Generator[int]`), возможность объявить атрибут TypedDict-а как `ReadOnly
и TypeIs
для более строгой проверки типов-
glob("**")
из pathlib теперь показывает файлы и папки рекурсивно (раньше показывал только папки), привели в соответствие с тем, как это реализовано в большинстве других инструментов, например ls **
Ну и еще всякое по мелочи. Релиз получился без каких-то больших изменений для тех, кто пишет на python, но с очень большим и интересным заделом на будущее.
Proceedings of the ACM on Programming Languages
Copy-and-patch compilation: a fast compilation algorithm for high-level languages and bytecode | Proceedings of the ACM on Programming…
Fast compilation is important when compilation occurs at runtime, such as query compilers
in modern database systems and WebAssembly virtual machines in modern browsers. We
present copy-and-patch, an extremely fast compilation technique that also ...
in modern database systems and WebAssembly virtual machines in modern browsers. We
present copy-and-patch, an extremely fast compilation technique that also ...
Python Software Foundation и JetBrains запустили опрос python-разработчиков 2024. Опрос доступен в том числе на русском языке и результаты обещают тоже перевести. В этом году они хотят охватить больше народа, поэтому если у вас есть 10 минут свободного времени - заполните его. Я уже заполнил 🙂 https://pyfound.blogspot.com/2024/10/join-python-developers-survey-2024.html
Python Software Foundation Blog
Join the Python Developers Survey 2024: Share your experience!
This year we are conducting the eighth iteration of the official Python Developers Survey. The goal is to capture the current state of the l...
Привет! Сегодня в 14:00 по мск встретимся в прямом эфире Moscow Python Podcast с нашим гостем из K R M N Information Technology и обсудим:
🟤 как стать топ-1 в IT-фрилансе;
🟤 как разрабатывать ботов для торговли внутриигровых предметов;
🟤 чем занимается специалист по парсингу.
Когда: 17 октября в 14:00 (по мск).
Где: онлайн и в записи на YouTube и RuTube.
И подписывайтесь на наши каналы в YouTube и Rutube
Когда: 17 октября в 14:00 (по мск).
Где: онлайн и в записи на YouTube и RuTube.
И подписывайтесь на наши каналы в YouTube и Rutube
Please open Telegram to view this post
VIEW IN TELEGRAM
YouTube
Как от IT-фриланса дойти до создания «роботов» для игр
Спонсор подкаста: курсы по Python-разработке для тех, кто уже знаком с веб-разработкой — https://learn.python.ru/advanced
Ведущие – Григорий Петров и Михаил Корнеев
00:00 — интро
01:43 — фриланс-биржи
05:48 — парсинг на фрилансе
11:12 — проблемы с…
Ведущие – Григорий Петров и Михаил Корнеев
00:00 — интро
01:43 — фриланс-биржи
05:48 — парсинг на фрилансе
11:12 — проблемы с…
Сейчас регулярно вижу (и иногда сам участвую) в дискуссиях "зачем нам nogil"? И вот люди начинают пробовать free-treading билд питона и рассказывают о своем опыте.
Например, вот тут чувак в асинхронной программе вынес cpu-bound задачку в тред используя
Пока это просто прикольный эксперимент и вся эта новая машинерия довольно далека от продакшен использования, но лично мне - интересно 🙂 Вполне вероятно, что после полноценного прихода free-terading мы именно так и будем структурировать наш код в каком-нибудь FastAPI - в вебе, конечно, поменьше cpu-bound задачек, по сравнению с datasience, но тоже хватает.
https://blog.changs.co.uk/free-threaded-python-with-asyncio.html
Например, вот тут чувак в асинхронной программе вынес cpu-bound задачку в тред используя
asyncio.to_thread
и предсказуемо получил хорошее ускорение по сравнению с GIL-версией. Конкретно в его случае - в 3 раза.Пока это просто прикольный эксперимент и вся эта новая машинерия довольно далека от продакшен использования, но лично мне - интересно 🙂 Вполне вероятно, что после полноценного прихода free-terading мы именно так и будем структурировать наш код в каком-нибудь FastAPI - в вебе, конечно, поменьше cpu-bound задачек, по сравнению с datasience, но тоже хватает.
https://blog.changs.co.uk/free-threaded-python-with-asyncio.html
blog.changs.co.uk
Free Threaded Python With Asyncio
With the imminent release of Python 3.13, I wanted to look at the biggest changes coming to Python. I think by far the most exciting feature is...
Forwarded from Находки в опенсорсе
`LOAD_CONST` разделили на три опкода в 3.14
https://github.com/python/cpython/pull/125972
В Python 3.14 распилили один из самых популярных опкодов:
Теперь
-
-
-
А еще и
И вот демо байткода:
Зачем нужен LOAD_SMALL_INT?
https://github.com/python/cpython/issues/101291
Если вы внимательно смотрели мой видос про int, то вы помните, как выглядят инты внутри питона:
Большие и сложные объекты. Но, для очень частых маленьких чисел, такое переусложнение замедляет работу. Мы можем просто представлять числа в рамках одного машинного слова и складывать их сразу в oparg, без необходимости заргужать их из
В Python2, кстати, работало быстрее, потому что там был честный
Обсуждение
Задумываетесь ли вы про подобные микро-оптимизации, когда пишите код?
https://github.com/python/cpython/pull/125972
В Python 3.14 распилили один из самых популярных опкодов:
LOAD_CONST
. Он, как можно понять из названия, он загружал константы из frame->co_consts
:
// 3.13:
pure inst(LOAD_CONST, (-- value)) {
value = GETITEM(FRAME_CO_CONSTS, oparg);
Py_INCREF(value);
}
>>> def func():
... return 1
>>> func.__code__.co_consts
(None, 1)
Теперь
LOAD_CONST
разделен на:-
LOAD_SMALL_INT
для интов в range(256)
-
LOAD_CONST_IMMORTAL
для загрузки бесмертных объектов (на 1 Py_INCREF
меньше, см PyStackRef_FromPyObjectNew
vs `PyStackRef_FromPyObjectImmortal`)-
LOAD_CONST
для оставшихсяА еще и
RETURN_CONST
удалили под шумок. И вот демо байткода:
>>> import dis
>>> def func():
... x = 1
... y = ...
... z = 'привет, мир'
>>> dis.dis(func, adaptive=True)
2 LOAD_SMALL_INT 1
STORE_FAST 0 (x)
3 LOAD_CONST 1 (Ellipsis)
STORE_FAST 1 (y)
4 LOAD_CONST 2 ('привет, мир')
STORE_FAST 2 (z)
LOAD_CONST 0 (None)
RETURN_VALUE
>>> # Create caches for tier1 adaptive interpreter to work:
>>> for _ in range(100):
... func()
>>> dis.dis(func, adaptive=True)
2 LOAD_SMALL_INT 1
STORE_FAST 0 (x)
3 LOAD_CONST_IMMORTAL 1 (Ellipsis)
STORE_FAST 1 (y)
4 LOAD_CONST 2 ('привет, мир')
STORE_FAST 2 (z)
LOAD_CONST_IMMORTAL 0 (None)
RETURN_VALUE
Зачем нужен LOAD_SMALL_INT?
https://github.com/python/cpython/issues/101291
Если вы внимательно смотрели мой видос про int, то вы помните, как выглядят инты внутри питона:
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;
};
Большие и сложные объекты. Но, для очень частых маленьких чисел, такое переусложнение замедляет работу. Мы можем просто представлять числа в рамках одного машинного слова и складывать их сразу в oparg, без необходимости заргужать их из
co_consts
:
op(_LOAD_SMALL_INT, (-- value)) {
PyObject *val = PyLong_FromLong(this_instr->oparg);
value = sym_new_const(ctx, val);
}
В Python2, кстати, работало быстрее, потому что там был честный
int
тип.Обсуждение
Задумываетесь ли вы про подобные микро-оптимизации, когда пишите код?
GitHub
GH-125837: Split `LOAD_CONST` into three. by markshannon · Pull Request #125972 · python/cpython
Splits LOAD_CONST into three instructions
LOAD_INT for ints in range(256). Avoids the need for a space in the co_consts tuple and avoids an incref
LOAD_CONST_IMMORTAL for other immortal objects. A...
LOAD_INT for ints in range(256). Avoids the need for a space in the co_consts tuple and avoids an incref
LOAD_CONST_IMMORTAL for other immortal objects. A...
Завтра, в первую пятницу месяца обсудим в прямом эфире Moscow Python Podcast новости октября. Больше всего времени уделим Python 3.13 и посмотрим ещё несколько новостей.
🟤 Когда и во сколько: 1 ноября в 14:00 по мск
🟤 Смотреть на YouTube — https://youtube.com/live/1pv5Fq89I5Y
🟤 Cмотреть на Rutube — https://rutube.ru/video/f0369fe1772d9a225df120a0304f2270/
И подписывайтесь на наши каналы, чтобы не пропускать выпуски: YouTube и Rutube.
И подписывайтесь на наши каналы, чтобы не пропускать выпуски: YouTube и Rutube.
Please open Telegram to view this post
VIEW IN TELEGRAM
YouTube
Python 3.13 и другие новости за октябрь 2024
Спонсор подкаста: курсы по Python-разработке для тех, кто уже знаком с веб-разработкой — https://learn.python.ru/advanced
Ведущие – Григорий Петров и Михаил Корнеев
00:00 — интро
01:57 — проблемы с FreeTuring
05:49 — Copy-and-Paste JIT
12:44 — интерпретатор…
Ведущие – Григорий Петров и Михаил Корнеев
00:00 — интро
01:57 — проблемы с FreeTuring
05:49 — Copy-and-Paste JIT
12:44 — интерпретатор…
Мигель Гринберг, известный своим мега-туториалом по Flask написал большой пост про обработку ошибок в python. Вопросы "когда и какие эксепшены обрабатывать" и "откуда мне узнать, какие эксепшены тут могут возникнуть" особенно актуальны у новичков, я даже у мидлов видел с этим затруднения. Статья довольно длинная, но я очень рекомендую потратить время и почитать https://blog.miguelgrinberg.com/post/the-ultimate-guide-to-error-handling-in-python
Оказывается, на хабре опубликовали перевод статьи https://habr.com/ru/articles/853056/
Оказывается, на хабре опубликовали перевод статьи https://habr.com/ru/articles/853056/
Miguelgrinberg
The Ultimate Guide to Error Handling in Python
I often come across developers who know the mechanics of Python error handling well, yet when I review their code I find it to be far from good. Exceptions in Python is one of those areas that have a…
Этой осенью нашему Python-подкасту исполнилось 5 лет, и я хочу немного рассказать о его внутренней кухне. Сам проект начался как идея раскачать авторов и преподавателей курса от сообщества Moscow Python регулярно делиться контентом с людьми. Ее соавтором и первыми "руками" проекта был Леша, мой младший брат по жизни и маркетолог/пиарщик, а последние 5+ лет - деврел - по профессии.
В 2022-м, когда мы все разъехались и уже не могли как раньше записывать подкаст в оффлайне, он же помог нам пересобрать состав ведущих и наладить регулярную запись эпизодов теперь уже в онлайне.
Сейчас Леша ищет новые проекты на парт-тайме или фуллтайм. В его портфолио, помимо нашего подкаста, Skyeng, 2ГИС, YADRO и другие компании (многие митапы, доклады, статьи на хабре, что вы видели от них - делал или помогал делать он), налаженные связи с Go, PHP, C++, C сообществами, подкаст "Битовые маски" и не только.
Если вам нужен человек, которые поможет раскачать внутренние и работу с внешними сообществами, наладить выступления на митапах, технический блог и другие каналы (в том числе найти темы и раскачать движ), а также грамотно выстроить все процессы вокруг этого - пишите @leshahoroshiy
В 2022-м, когда мы все разъехались и уже не могли как раньше записывать подкаст в оффлайне, он же помог нам пересобрать состав ведущих и наладить регулярную запись эпизодов теперь уже в онлайне.
Сейчас Леша ищет новые проекты на парт-тайме или фуллтайм. В его портфолио, помимо нашего подкаста, Skyeng, 2ГИС, YADRO и другие компании (многие митапы, доклады, статьи на хабре, что вы видели от них - делал или помогал делать он), налаженные связи с Go, PHP, C++, C сообществами, подкаст "Битовые маски" и не только.
Если вам нужен человек, которые поможет раскачать внутренние и работу с внешними сообществами, наладить выступления на митапах, технический блог и другие каналы (в том числе найти темы и раскачать движ), а также грамотно выстроить все процессы вокруг этого - пишите @leshahoroshiy
Всем привет!
Сегодня в прямом эфире Moscow Python Podcast встретимся с сооснователями проекта KeepHQ.dev — Владимиром Филоновым и Матвеем Кукуй, обсудим в выпуске:
🟤 жизнь open-source продукта;
🟤 плюсы и минусы Python;
🟤 рынок AiOps и что это такое.
Когда и во сколько: 22 ноября в 14:00 по мск
🟤 Смотреть на YouTube
🟤 Cмотреть на Rutube
Сегодня в прямом эфире Moscow Python Podcast встретимся с сооснователями проекта KeepHQ.dev — Владимиром Филоновым и Матвеем Кукуй, обсудим в выпуске:
Когда и во сколько: 22 ноября в 14:00 по мск
Please open Telegram to view this post
VIEW IN TELEGRAM
YouTube
Как из Python, Open source и такой-то матери построить бизнес
Спонсор подкаста: курсы по Python-разработке для тех, кто уже знаком с веб-разработкой — https://learn.python.ru/advanced
Ведущие – Григорий Петров и Михаил Корнеев
00:00 — интро
01:00 — Владимир Филонов о себе
03:28 — стартап с искусственным интеллектом…
Ведущие – Григорий Петров и Михаил Корнеев
00:00 — интро
01:00 — Владимир Филонов о себе
03:28 — стартап с искусственным интеллектом…
Django часто выбирают для быстрого старта в небольших стартапах — как средство накодить прототип бекенда за минимальное время. Но с ростом проекта неизбежно возникают вопросы производительности и надежности.
Такой рост может вызывать у не очень опытных разработчиков панику и непонимание - все тормозит, бизнес жалуется, что делать? В сегодняшней статье просто и по делу описаны ключевые аспекты масштабирования Django: оптимизация запросов, кэш, CDN и т.д. Отличное вводное чтиво для тех, кто впервые столкнулся с ростом нагрузи или просто хочет подготовить проект к будущему росту: https://slimsaas.com/blog/django-scaling-performance
Такой рост может вызывать у не очень опытных разработчиков панику и непонимание - все тормозит, бизнес жалуется, что делать? В сегодняшней статье просто и по делу описаны ключевые аспекты масштабирования Django: оптимизация запросов, кэш, CDN и т.д. Отличное вводное чтиво для тех, кто впервые столкнулся с ростом нагрузи или просто хочет подготовить проект к будущему росту: https://slimsaas.com/blog/django-scaling-performance
SlimSaaS
The Practical Guide to Scaling Django
Stripe Payments, Social Authentication & 2FA, Email Integrations, Tailwind/DaisyUI Theming, Astro Marketing Site, Automatic SSL, Containerized With Docker, and much more...
Forwarded from Moscow Python (Valentin Dombrovsky)
По многочисленным просьбам...
Оффлайн-курс Learn Python в Москве возвращается! Читайте детали и оставляйте предварительные заявки, если Вас это интересует. Ну или делитесь новостью с друзьями. :)
https://forms.gle/wE7Lit97U9Q2q3oT9
Оффлайн-курс Learn Python в Москве возвращается! Читайте детали и оставляйте предварительные заявки, если Вас это интересует. Ну или делитесь новостью с друзьями. :)
https://forms.gle/wE7Lit97U9Q2q3oT9
Google Docs
Предварительная запись на оффлайн-курс Learn Python (Март - Май 2025)
Легендарный курс возвращается!
Когда-то мы начинали Learn Python именно как оффлайн-курс в Москве. Курс быстро набрал популярность и мы регулярно собирали на него "аншлаги", были даже планы по запуску курса в других городах. Однако ковид и последующие события…
Когда-то мы начинали Learn Python именно как оффлайн-курс в Москве. Курс быстро набрал популярность и мы регулярно собирали на него "аншлаги", были даже планы по запуску курса в других городах. Однако ковид и последующие события…
В эту субботу, 28 декабря встретимся в прямом эфире Moscow Python Podcast в 14:00 по мск и обсудим самые интересные новости Python за 2024 год. Пишите в комментарии, какие новости запомнились за этот год и какой выпуск подкаста больше всего понравился.
Когда и во сколько: 28 декабря в 14:00 по мск
🟤 Смотреть на YouTube
🟤 Cмотреть на Rutube
Когда и во сколько: 28 декабря в 14:00 по мск
Please open Telegram to view this post
VIEW IN TELEGRAM
YouTube
Итоги года мира Python 2024
Спонсор подкаста: курсы по Python-разработке для тех, кто уже знаком с веб-разработкой — https://learn.python.ru
Ведущие – Григорий Петров и Михаил Корнеев
00:00 — интро
01:53 — устранение GIL
04:24 — поддержка JIT
09:01 — новые функции в Python 3.13…
Ведущие – Григорий Петров и Михаил Корнеев
00:00 — интро
01:53 — устранение GIL
04:24 — поддержка JIT
09:01 — новые функции в Python 3.13…
Никита выпустил 1.0 версию wemake-python-styleguide https://github.com/wemake-services/wemake-python-styleguide/releases/tag/1.0.0
Если вы незнакомы с wemake-python-styleguide - это очень строгий линтер для кода, который помогает находить потенциально проблемные места в коде. Искренне рекомендую посмотреть - тут можно спорить надо или не надо его использовать в своих проектах, но как минимум попробовать и подсмотреть хорошие идеи - обязательно.
Что интересного в релизе?
- Добавлена поддержка ruff
- Добавлена поддержка black
- Множество новых правил сложности
- Крутая поддержка match и case. Находим дубликаты case условий, проверяем сложность, находим много разных ошибок
- Много новой конфигурации, чтобы точечно настраивать отдельные правила линтера
- Куча багов поправлено!
- WPS стал минимум в 2.4 х быстрее
Если вы незнакомы с wemake-python-styleguide - это очень строгий линтер для кода, который помогает находить потенциально проблемные места в коде. Искренне рекомендую посмотреть - тут можно спорить надо или не надо его использовать в своих проектах, но как минимум попробовать и подсмотреть хорошие идеи - обязательно.
Что интересного в релизе?
- Добавлена поддержка ruff
- Добавлена поддержка black
- Множество новых правил сложности
- Крутая поддержка match и case. Находим дубликаты case условий, проверяем сложность, находим много разных ошибок
- Много новой конфигурации, чтобы точечно настраивать отдельные правила линтера
- Куча багов поправлено!
- WPS стал минимум в 2.4 х быстрее
GitHub
Release Version 1.0.0 with full `ruff` support · wemake-services/wemake-python-styleguide
Ruff
This release introduces the new main concept: ruff compatibility.
Now WPS is the only flake8 plugin that is installed.
Other things are done by ruff.
It is faster, it has autofixing, there are...
This release introduces the new main concept: ruff compatibility.
Now WPS is the only flake8 plugin that is installed.
Other things are done by ruff.
It is faster, it has autofixing, there are...
Завтра, 7 февраля в 14:00 (по мск) увидимся в прямом эфире подкаста и обсудим последние новости:
⭕️PEP 768 — Safe external debugger interface for CPython;
⭕️результат опроса Facebook об аннотациях типов в Python;
⭕️PEP 770 — возможность указывать SBOM-файлы в pyproject.toml.
Когда и во сколько: 7 февраля в 14:00 по мск https://youtube.com/live/hYke_DRJ2LQ
⭕️PEP 768 — Safe external debugger interface for CPython;
⭕️результат опроса Facebook об аннотациях типов в Python;
⭕️PEP 770 — возможность указывать SBOM-файлы в pyproject.toml.
Когда и во сколько: 7 февраля в 14:00 по мск https://youtube.com/live/hYke_DRJ2LQ
YouTube
Новости мира Python за январь 2025
Предварительная запись на офлайн-курс Learn Python в Москве — https://forms.gle/wE7Lit97U9Q2q3oT9
Ведущие – Григорий Петров и Михаил Корнеев
Таймкоды:
00:00 — интро
03:04 — новый интерфейс для откладки Python
05:53 — исследование использования типов…
Ведущие – Григорий Петров и Михаил Корнеев
Таймкоды:
00:00 — интро
03:04 — новый интерфейс для откладки Python
05:53 — исследование использования типов…
Поговорим про AI в прямом эфире🔊
В ближайшем выпуске подкаста Moscow Python Podcast пройдет 21 февраля с Александром Храмогиным, AI Engineer в Logic Boost, обсудим следующие темы:
⭕️ заменит ли AI разработчиков;
⭕️ получим ли мы AGI с развитием искусственного интеллекта;
⭕️ что такое агентские системы и зачем они разработчику.
В комментарии пишите вопросы Александру, самые интересные обсудим во время выпуска.
Заранее поставьте колокольчик, чтобы не пропустить эфир на удобной площадке:
🟤 YouTube
🟤 Rutube
🟤 VK Видео
Когда: 21 февраля в 14:00 по мск
В ближайшем выпуске подкаста Moscow Python Podcast пройдет 21 февраля с Александром Храмогиным, AI Engineer в Logic Boost, обсудим следующие темы:
В комментарии пишите вопросы Александру, самые интересные обсудим во время выпуска.
Заранее поставьте колокольчик, чтобы не пропустить эфир на удобной площадке:
Когда: 21 февраля в 14:00 по мск
Please open Telegram to view this post
VIEW IN TELEGRAM
YouTube
Заменит ли AI разработчиков / ждет ли нас AGI / зачем агентские системы разработчику
Предварительная запись на офлайн-курс Learn Python в Москве — https://forms.gle/wE7Lit97U9Q2q3oT9
CFP Python Day — https://python-day.python.ru
Таймкоды:
00:00 — интро
01:44 — симбиоз разработчика и ИИ
03:00 — массовые увольнения в IT
05:36 — проблемы с…
CFP Python Day — https://python-day.python.ru
Таймкоды:
00:00 — интро
01:44 — симбиоз разработчика и ИИ
03:00 — массовые увольнения в IT
05:36 — проблемы с…