Moscow Python
1.63K subscribers
90 photos
2 videos
1 file
735 links
Канал Python.ru и Moscow Python. Новости сообщества, события, статьи, интервью.

Чат: @moscowpythonconf
Download Telegram
6 лет назад были записаны первые выпуски Moscow Python Podcast (тогда ещё Python Junior Podcast).
На сегодняшний день вышло уже больше 200 выпусков. И мы не собираемся останавливаться на достигнутом.
Следите за выпусками на нашем Ютуб-канале или предпочитаемой вами подкаст-платформе. Ну и в этом канале мы, конечно, продолжим публиковать анонсы. :)
Также напоминаем, что уже на следующей неделе в компании КРОК пройдёт наш 93-й митап.

Нас ожидает 3 доклада:
- Евгений Блинов (Яндекс, Руководитель команды интеграции робототехнических решений). Расширяем возможности стандартной библиотеки
- Сурен Хоренян (ВК Реклама, Руководитель команды в команде интерфейсов). Python нельзя Go: почему меня не зацепил новый тренд
- Докладчик из компании КРОК - TBA

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

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

Митап проходит при поддержке Geekfactor.io, Evrone, КРОК и Learn Python.

Заявки на доклады на следующих митапах подавайте на https://bit.ly/mp-speaker
Forwarded from Елизавета Грейм
Всем привет!
В пятницу, 16 августа в 14:00 (по МСК) встретимся в прямом эфире Moscow Python Podcast с Борисом Ореховым, кандидатом филологических наук и доцентом факультета гуманитарных наук НИУ ВШЭ. В выпуске мы обсудим:
🟡в чём особенности обучения программированию гуманитариев;
🟡что общего между естественным языком и языком программирования;
🟡какие библиотеки востребованы у гуманитариев;
🟡зачем кандидату филологических наук изучать программирование.

➡️Когда: 16 августа в 14:00 по Москве.
➡️Где: онлайн и в записи по ссылке.
Please open Telegram to view this post
VIEW IN TELEGRAM
30-го августа приглашаем на True Tech Party от МТС.

Событие станет финальным из серии митапов True Tech, которые проходили в пространстве МТС парка искусств Музеон этим летом. Вместе с CTO, руководителями разработки крупных компаний мы поговорим про управленческие роли в IT, какие хард- и софтскилы развивать, чтобы продвигаться по карьере. Участников ждёт много нетворкинга, игры и яркое афтепати в летней атмосфере. Для тех, кто не сможет приехать очно, будет онлайн-трансляция докладов.

В рамках программы в 19 часов Moscow Python проводит дискуссию "Карьерное развитие Python-разработчика: от хардов до трендов" с участием Валентина Домбровского, Дениса Аникина и Максима Столпасова.

Мероприятие будет интересно CTO, тимлидам, продактам, разработчикам и всем, кто строит карьеру в IT.

Место проведения:
г. Москва, ул. Крымский Вал, владение 2, пространство Москино в парке «Музеон».

Количество очных мест ограничено.

Зарегистрироваться: https://mts-digital.ru/events/details?id=742628

(При регистрации указывайте, что вы состоите в Moscow Python - так будет больше шансов попасть на мероприятие очно)
Просто небольшое напоминание, что у нас ещё есть места на митап в среду: https://moscowdjango.timepad.ru/event/2984669/ - успевайте регистрироваться. :)
Хотите попасть на сегодняшний митап, но ещё не успели зарегистрироваться? Осталось ещё немного мест и времени на регистрацию. :)
https://moscowdjango.timepad.ru/event/2984669/

Для тех, кто не сможет прийти, как всегда доступна онлайн-трансляция на moscowpython.ru
Forwarded from Хитрый Питон
Вышел новый большой релиз менеджера пакетов uv в котором добавили много нового:

- теперь uv может создавать более сложные файлы зависимостей и самое главное - они теперь кроссплатформенные. Например, если файл создавался, скажем, на маке он будет содержать также хеши для версий пакетов для Linux и Windows и также пакеты, которые нужны только доя конкретной платформы буду указаны и установлены только для нее. Они говорят, что формат файла standart complient но я не совсем понял на какой именно стандарт они тут ссылаются
- появилась возможность ставить нужную версию питона с помощью uv
- появилась возможность запускать с помощью uv другие консольные команды по аналогии с pipx, например uvx ruff check
- возможность запускать скрипты содержащие в файле зависимости (inline script metadata https://packaging.python.org/en/latest/specifications/inline-script-metadata/#inline-script-metadata). При этом он автоматически создаст виртуальное окружение и поставит зависимости туда, а если указанной в зависимостях версии питона нет в система - сам установит ее

В общем выглядит как еще один большой шаг к тому, чтобы заменить другие тулы - https://astral.sh/blog/uv-unified-python-packaging
20-го сентября состоится наш 94-й митап, который пройдёт при поддержке компании MTS Digital.

Нас ожидает 3 доклада:
- Алексей Жиряков (KION — руководитель направления, техлид бекенд команды витрины). Geo по IP без усилителей вкуса и консервантов
- Дмитрий Легчиков (CTO Harmonix). Датасторителлинг на Streamlit
- Александр Гончаров (SlashHash LLC). Это вообще не просто!

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

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

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

Заявки на доклады на следующих митапах подавайте на https://bit.ly/mp-speaker
Хотели бы напомнить, что уже в эту пятницу мы проведём дискуссию на тему хард-скиллов Python-разработчика и не только вместе с Максимом Столпасовым, (TeamLead, X5 Tech) и Денисом Аникиным, (TechLead/CommunityLead, Райффайзен).
Дискуссия состоится в рамках MTS True Tech Party, на которой будет ещё много интересного. :)

Регистрация тут:
https://mts-digital.ru/events/details?id=742628

При регистрации не забывайте указывать, что вы из MoscowPython, чтобы Ваша заявка на регистрацию точно прошла модерацию!
Проблемы модуля `inspect`.

Модуль inspect в питоне – сборник костылей и легаси.

Если вы не любите людей, то можете спрашивать их:
1. Чем отличается typing.get_type_hints от inspect.get_annotations? А от annotationslib.get_annotations?
2. Какие проблемы есть у getargvalues?
3. Чем отличаются getargs, getfullargspec и singature?
4. В чем разница между inspect.iscoroutinefunction и asyncio.iscoroutinefunction? А между inspect.iscoroutine и asyncio.iscoroutine?
5. Чем будет отличаться inspect.getmembers от inspect.getmembers_static?
6. Как конкретно работает получение сигнатуры у разных объектов? 😱

Некоторое время назад я взялся исправить несколько самых сломанных частей: https://github.com/python/cpython/issues/108901

И даже сделал пакет с бекпортами для <=3.13: https://github.com/wemake-services/inspect313
Но все опять оказалось совсем не просто. Я не успел до фича фриза в 3.13, так что надеюсь, что успею в 3.14

Что сломано?

Например: inspect.getargvalues. Оно не работает с pos-only параметрами:


>>> import inspect

>>> def func(a: int = 0, /, b: int = 1, *, c: int = 2):
... return inspect.currentframe()

>>> frame = func()
>>> # notice that pos-only and kw-only args are not supported properly:
>>> inspect.formatargvalues(*inspect.getargvalues(frame))
'(a=0, b=1, c=2)'


Должно быть так:


>>> from inspect import Signature

>>> str(Signature.from_frame(frame)) # this API does not exist yet
'(a=0, /, b=1, *, c=2)'


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

Далее: getfullargspec. Он не поддерживает pos-only параметры и не совсем корректно работает с параметрами self, cls, тд.


>>> import inspect

>>> class A:
... def method(self, arg, /): ...

>>> inspect.getfullargspec(A.method)
FullArgSpec(args=['self', 'arg'], varargs=None, varkw=None, defaults=None, kwonlyargs=[], kwonlydefaults=None, annotations={})
>>> inspect.getfullargspec(A().method).args # must not report `self`! :(
['self', 'arg']

>>> inspect.signature(A.method)
<Signature (self, arg, /)>
>>> inspect.signature(A().method)
<Signature (arg, /)>


Но, все-таки работа ведется довольно активно:
- asyncio.iscoroutinefunction уже задепрекейчена: https://github.com/python/cpython/pull/122875 Скоро будет только версия из inspect
- Добавили annotationslib.get_annotations (которая переехала из inspect и теперь будет самым-правильным-способом): https://github.com/python/cpython/blob/9e108b8719752a0a2e390eeeaa8f52391f75120d/Lib/annotationlib.py#L582
- Пофиксили кучу багов

Для чего `inspect` можно использовать на практике?

Я пользовался inspect.signature только для создания рантайм имплементациия каррирования для dry-python/returns: https://github.com/dry-python/returns/blob/master/returns/curry.py

Довольно много библиотечного кода используют inspect для интроспекции в самых неожиданных местах:
- https://github.com/search?type=code&q=inspect.iscoroutinefunction
- https://github.com/search?type=code&q=inspect.getfullargspec
- https://github.com/search?type=code&q=inspect.getargvalues

Расскажите: а у вас были проблемы с inspect? Если да, то какие?
Друзья, это личная просьба от Валентина Домбровского, основателя Moscow Python:

"Моя хорошая знакомая готовит доклад к конференции на тему взаимодействия кандидатов на технические позиции и компаний. Интересно, следите ли вы как-то за активностью компаний, прежде чем устраиваться туда на работу. Помогите, пожалуйста, в этом небольшом исследовании - заполните анкету. В ней всего 12 вопросов, которые займут не больше 5 минут.
Большая благодарность от Натальи и меня лично всем откликнувшимся! :)"
https://docs.google.com/forms/d/e/1FAIpQLSeZkyijfhFzQkIQmaUbn1ksd78EU2ciQ0QdJiQB6zXfltW-ug/viewform
Календарь перевернули? Молодцы! :)
Поздравляем всех с началом "горячего" осеннего сезона и напоминаем, 20-го сентября состоится наш 94-й митап, который пройдёт при поддержке компании MTS Digital.

Нас ожидает 3 доклада:
- Алексей Жиряков (KION — руководитель направления, техлид бекенд команды витрины). Geo по IP без усилителей вкуса и консервантов
- Дмитрий Легчиков (CTO Harmonix). Датасторителлинг на Streamlit
- Александр Гончаров (SlashHash LLC). Это вообще не просто!

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

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

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

Заявки на доклады на следующих митапах подавайте на https://bit.ly/mp-speaker
Forwarded from Хитрый Питон
Хорошая статья про то, как устроена в питоне сборка/установка пакетов и почему именно так. Для тех, кому любопытно чуть больше погрузиться в историю - самое то. Выводы у статьи простые - используйте pyproject.toml везде, где это возможно. Я с автором в этом согласен, например у меня на работе как минимум во всех новых проектах pyproject.toml используется по умолчанию.

Ссылка - https://www.bitecode.dev/p/whats-the-deal-with-setuptools-setuppy
Cтартовали записи на новые наборы курсов Learn Python, которые начнутся в ноябре. В частности, до конца сентября можно записаться на курс Learn Python Advanced cо скидкой (действует до конца сентября).

Напомню, что на курсе вас ждёт:

10 недель интенсивной работы
4 трека: практика программирования, инфраструктура, автотесты и работа с Django
Классные кураторы с кучей боевого опыта
Знакомый вам формат обучения: небольшие группы, кураторы, ревью, много практики
2 общих созвона в неделю по вторникам и субботам (с возможностью посмотреть запись)

Курс стартует 23-го ноября. В настоящий момент на курс принимается всего 25 человек.

Регистрация доступна на https://learn.python.ru/advanced
Forwarded from Елизавета Грейм
Всем привет! Анонсируем ближайший выпуск Moscow Python Podcast. В эту пятницу, 13 сентября обсудим новости августа:
🟤релиз Django 5.1;
🟤большое обновление uv;
🟤PyPI улучшила время реагирования на malware до 24 часов;
🟤Лучшие языки программирования 2024 года по версии IEEE.

Когда: 13 сентября в 14:00 (по мск).
Где: онлайн и в записи по ссылке.
Please open Telegram to view this post
VIEW IN TELEGRAM
Forwarded from Елизавета Грейм
Привет! Напоминаем, что сегодня в 14:00 по мск обсудим новости августа:
🟤релиз Django 5.1;
🟤большое обновление uv;
🟤PyPI улучшила время реагирования на malware до 24 часов;
🟤Лучшие языки программирования 2024 года по версии IEEE.

Начинаем через час по ссылке.

Ссылки на новости оставили под видео, на выходных выложим выпуск на аудиоплощадки и добавим таймкоды под видео.
Please open Telegram to view this post
VIEW IN TELEGRAM
Напоминаем, что уже на этой неделе в пятницу состоится наш 94-й митап, который пройдёт при поддержке компании MTS Digital.

Нас ожидает 3 доклада:
- Алексей Жиряков (KION — руководитель направления, техлид бекенд команды витрины). Geo по IP без усилителей вкуса и консервантов
- Дмитрий Легчиков (CTO Harmonix). Датасторителлинг на Streamlit
- Александр Гончаров (SlashHash LLC). Это вообще не просто!

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

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

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

Заявки на доклады на следующих митапах подавайте на https://bit.ly/mp-speaker
Последние 5 мест на пятничный митап: https://moscowdjango.timepad.ru/event/3016786/ - кто успеет "запрыгнуть в последний вагон"? :)
Места на завтрашнем митапе закончились, но если не успели зарегистрироваться или не можете прийти, не расстраивайтесь, ведь для вас всегда есть трансляция на moscowpython.ru :)

До встречи на мероприятии и в онлайне!
А что у нас будет в октябре? Уже догадались? Правильно, 95-й митап Moscow Python, который пройдёт в Сбере 21-го октября.

По традиции нас ожидает 3 доклада:
- Макс Столпасов (X5 Tech, TeamLead). D в DDD — где D это доменная логика
- Арсен Гумин (Сбер, Руководитель направления по исследованию данных) Model-as-a-service: с нуля до enterprise ready
- Юлия Сухинина (АО «ГОЛЬФСТРИМ охранные системы» (МТС), Руководитель по развитию). Разработка ТГ Бота с ИИ модулем для автоматизации процесса контроля качества оформления документов

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

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

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

Заявки на доклады на следующих митапах подавайте на https://bit.ly/mp-speaker