41232
Все самое полезное для питониста в одном канале. Список наших каналов: https://t.me/proglibrary/9197 Учиться у нас: https://proglib.io/w/d7f1e6ed Обратная связь: @proglibrary_feedback_bot По рекламе: @proglib_adv Прайс: @proglib_advertising
🖥 Холивар: Linux — для гибкости, macOS — для эстетики, Windows — для универсальности
Программисты, делитесь: на чём предпочитаете писать код?
🐧 Linux: терминал и свобода
📝 Максимальный контроль — можно настроить всё: от ядра до оконного менеджера. Arch, Manjaro, Kali? Полный выбор.
📝 Open Source: свободное ПО без необходимости платить за лицензии.
📝 Терминал — главный инструмент. sudo apt-get install — и всё под контролем.
Минусы:
— Настройка драйверов и оборудования может занять время.
— Работа с проприетарным ПО (например, Photoshop) — отдельный квест.
— Интерфейс не всегда дружелюбен для новичков.
🍎 macOS: стиль и стабильность
📝 Экосистема Apple: Xcode, iOS-разработка, отличная интеграция между устройствами.
📝 Стабильность и надёжность — система работает как часы.
📝 Приятный интерфейс и дизайн, который вдохновляет.
Минусы:
— Высокая цена на устройства.
— Ограниченные возможности апгрейда.
— Закрытая система с меньшей гибкостью.
🪟 Windows: универсальный солдат
📝 Работает «из коробки»: Visual Studio, Unity, .NET — всё готово для разработки.
📝 Поддержка большинства игр и софта.
📝 Огромный выбор устройств: от бюджетных до топовых игровых машин.
Минусы:
— Автоматические обновления могут прервать работу.
— Требуется внимание к безопасности: антивирус — must-have.
— Подсистема WSL — шаг вперёд, но до полноценного Linux ещё есть путь.
А вы на какой стороне?
❤️ Linux — свобода и гибкость
👍 macOS — красота и стабильность
🔥 Windows — универсальность и удобство
Пишите в комментариях, почему ваша ОС — лучший выбор для разработчика. Без ссор — только аргументы и опыт.
P.S. Инструкция, как оставить коммент
Библиотека питониста #междусобойчик
😱 14 продвинутых фишек Python, которые вы вряд ли видели
Python известен своей простотой, но за лаконичным синтаксисом скрываются мощные и недооценённые возможности.
В этой подборке — 14 нестандартных приёмов: от «непитоничных» конструкций до малоизвестных трюков, которые помогают писать код гибче, чище и умнее.
🔍 Внутри:
— неожиданные фичи
— примеры и объяснения
— ссылки на ресурсы для углубления
📄 Читайте статью и удивляйтесь, на что способен Python: https://clc.to/YzUlOA
Библиотека питониста
🎙 Что послушать: Developer Trends 2025
Новый выпуск подкаста Talk Python to Me посвящён главным трендам 2025 года:
➡️ какие технологии на подъёме,
➡️ что показывает последний опрос Stack Overflow,
➡️ и куда движется Python-сообщество.
📌 Темы:
— Стоит ли изучать новые базы данных или это хайп?
— Что теряет актуальность?
— Как поменялись роли разработчиков и ожидания в индустрии?
▶️ Слушать: https://clc.to/4neIiA
Библиотека питониста #буст
🔵 11 устаревших Python-модулей, которые следует больше не использовать, и их современные аналоги
Использование старых модулей может привести к неожиданным ошибкам в проектах.
Вот 11 устаревших Python-модулей и их современные аналоги:
1️⃣ Pipes (удален с Python 3.13)
Модуль pipes был удален, так как был заменен более мощным и кросс-платформенным модулем subprocess.
import subprocess
result = subprocess.run("echo Hello | tr a-z A-Z", shell=True, capture_output=True, text=True)
print(result.stdout) # HELLO
Text был предназначен для совместимости с Python 2, и теперь его можно заменить на str.def greet(name: str) -> str:
return f"Hello, {name}!"
urllib устарел для работы с HTTP-запросами. Вместо него лучше использовать requests или urllib3.import requests
response = requests.post('https://httpbin.org/post', json={'name': 'Yang'})
print(response.json())
crypt устарел и его заменил более безопасный модуль bcrypt для хеширования паролей.import bcrypt
password = b"strongpassword"
hashed = bcrypt.hashpw(password, bcrypt.gensalt())
typing.def func(x: list[int]) -> dict[str, int]:
return {}
% или .format() устарело. Современный способ — это f-строки.name = "Yang"
print(f"My name is {name}.")
cgi устарел и заменен современными фреймворками для веб-разработки, такими как Flask или FastAPI.ossaudiodev устарел, и для работы с аудио рекомендуется использовать такие модули, как pyaudio или sounddevice.pickle может быть опасным для использования, так как есть риски выполнения вредоносного кода. Для безопасной сериализации лучше использовать json.import json
data = {"name": "Yang"}
with open('data.json', 'w') as f:
json.dump(data, f)
asyncio для асинхронного программирования.random использует предсказуемый алгоритм, который небезопасен для генерации паролей. Используйте secrets для криптографически стойких случайных чисел.import secrets
password = secrets.token_hex(16)
👍 Команда дня: contextlib.suppress
Сегодня разберём полезную команду для работы с contextlib.suppress — удобный способ игнорировать определённые исключения без громоздкого try-except.
from contextlib import suppress
# Игнорируем FileNotFoundError при удалении файла
with suppress(FileNotFoundError):
import os
os.remove("non_existent_file.txt")
data = {"name": "Alice"}
with suppress(KeyError):
print(data["age"]) # Не сломается, даже если ключа "age" нет
🔰 How to: как сделать логические выражения в Python читаемыми
Длинные логические выражения — бич читаемости. Вот простой пример:
if user["verified"] and event["date"] > datetime.now() and not event["full"]:
print("Here's the event signup form...")
if (user["verified"]
and event["date"] > datetime.now()
and not event["full"]):
print("Here's the event signup form...")
and, or) в начале строки.user_is_verified = user["verified"]
event_in_future = event["date"] > datetime.now()
event_not_full = not event["full"]
if user_is_verified and event_in_future and event_not_full:
print("Here's the event signup form...")
def is_verified(user): return user["verified"]
def in_future(event): return event["date"] > datetime.now()
def not_full(event): return not event["full"]
if is_verified(user) and in_future(event) and not_full(event):
print("Here's the event signup form...")
not (a or b) — можно применить трансформацию:# Было:
not (a or b)
# Стало:
not a and not b
def can_only_read(user):
return not (
user["role"] == "admin"
or "edit" in user["permissions"]
)
def can_only_read(user):
return user["role"] != "admin" and "edit" not in user["permissions"]
🔥 Конкурс: 30 000 ₽ за самую смешную IT-новость
Напоминаем о конкурсе «Библиотеки программиста»: напишите самую смешную версию реальной новости про технологии.
👾 Правила просты:
1. Берете настоящую новость из мира технологий.
2. Переписываете ее так, чтобы смеялись все.
3. Получаете деньги и славу.
🎁 Призы:
- 1 место: 30 000 ₽ + статус ведущего нового юмористического IT-канала
- 2 и 3 место: по 5 000 ₽ + вечный почет в IT-сообществе
🏆 Как будем оценивать:
Мы выложим новости всех участников в одном из наших телеграм-каналов. Те новости, которые наберут больше всего охвата, войдут в шорт-лист. Из шорт-листа подписчики и жюри выберут победителя.
📅 Сроки: прием новостей до 11 мая включительно
Для участия отправьте свою смешную новость в гугл-форму: https://forms.gle/6YShjgfiycfJ53LX8
Осталась неделя — ждем ваших новостей!
📱 Python новости
🚀 Релизы и инструменты:
— pip 25.1— поддержка групп зависимостей и вывод lock-файлов
— Python 3.15: расписание релиза (PEP 790) — важные даты и этапы разработки
— PyCharm стал единым продуктом — что изменилось для разработчиков
— AutoKitteh — гибкая альтернатива Zapier и n8n для автоматизации
— Django Action Triggers — триггеры действий прямо в Django
— IT-календарь: релизы и события мая — чтобы ничего не пропустить
👍 Советы:
— Как запускать Python в проде — практики деплоя и окружения
— Как я строю инфраструктуру вокруг Python-проектов — линтеры, Poetry, CI/CD и Docker
— Управление памятью в Python — когда и зачем вмешиваться вручную
— 14 интересных фич Python — полезные, хоть и не всегда pythonic
📚 Библиотека питониста #свежак
🔎 Wordsearch: узнаем, кто самый внимательный
Готовы проверить свои знания в Python? В этой головоломке спрятаны термины из мира программирования.
Правила просты:
— Найдите все слова в сетке (слова идут по горизонтали)
— Напишите в комментариях, какие слова вы нашли
— Объясните один из терминов так, чтобы даже джун понял
🏆 Первый, кто найдёт все слова и объяснит хотя бы один термин, получит почётный статус Python Guru на неделю!
Прячем ответы под спойлер, чтобы не спалить остальным.
Погнали 👇
Библиотека питониста #междусобойчик
🎓 Как выбрать свою роль в Data Science и не потеряться в терминах
Если вы только начинаете разбираться в Data Science — перед вами лабиринт из названий: data scientist, аналитик, ML-инженер, BI, архитектор... Кто чем занимается? Что нужно учить?
➡️ Что внутри статьи
— Кто такие Data Engineer
— Чем отличается Data Architect от инженера и зачем он нужен в big data проектах
— Чем занимаются Data Analyst и почему это отличная точка входа в карьеру
— Что делает настоящий Data Scientist
В статье разобрано всё: от задач до технологий, которые реально спрашивают на собеседованиях.
📎 Ссылка
Азбука айтишника #ликбез
🔥 Холивар: Flask vs Django vs FastAPI
🧑💻 Начинающий разработчик:
«Хочу выбрать фреймворк, чтобы изучать бэкенд на Python. Что лучше начать: Flask, Django или FastAPI?»
🤯 Как простая задачка поставила в тупик программистов
На собеседовании задали простой вопрос:
«В мешке числа от 1 до 100. Одно пропало. Как найти его? А если пропали два числа? Три? Или вообще k чисел?»
Библиотека питониста #развлекалово
Читать полностью…
🐍✨ Пиши как профи: 10 Python-лайфхаков для новичков
Лайфхаки от разработчиков, обжёгшихся до вас
➡️ Что вас ждет внутри:
— почему if x == True: — это преступление
— как списковые включения экономят часы
— зачем линтер важнее кофе
— и почему def func(start_list=[]) может испортить тебе вечер
— как не сойти с ума от зависимостей (и что делать с виртуальными окружениями)
— секретный power move: dir(), help() и другие встроенные суперсилы
И всё это без занудства и «книг для чайников». Просто, по делу, с примерами и личным опытом от бывалых питонистов
📎 Статья
🔵 Начинайте свой путь в программировании и прокачивайте свои навыки с нашим курсом «Основы программирования на Python»
Proglib Academy #буст
Инструмент недели: планирование задач с Rocketry
Rocketry — это фреймворк для планирования задач в Python, который позволяет легко управлять задачами и их выполнением с помощью простых выражений.
👇 В этом посте мы покажем, как быстро настроить планировщик задач, используя Rocketry.
1⃣ Установите Rocketry
Для начала установите Rocketry с помощью pip:
pip install rocketry
scheduler.py, и добавьте в него следующий код:from rocketry import Rocketry
from rocketry.conds import daily
app = Rocketry()
@app.task(daily)
def do_daily():
print("Эта задача выполняется каждый день!")
if __name__ == '__main__':
app.run()
python scheduler.py
@app.task(every("10 seconds"))
def do_continuously():
print("Эта задача выполняется каждую секунду!")
@app.task(daily.after("07:00"))
def do_daily_after_seven():
print("Эта задача выполняется каждый день после 7:00!")
@app.task(hourly & time_of_day.between("22:00", "06:00"))
def do_hourly_at_night():
print("Эта задача выполняется каждый час ночью!")
@app.task(cron("* 2 * * *"))
def do_based_on_cron():
print("Эта задача выполняется по cron-выражению!")
from rocketry.conds import daily, after_success
from rocketry.args import Return
@app.task(daily.after("07:00"))
def do_first():
return 'Hello World'
@app.task(after_success(do_first))
def do_second(arg=Return('do_first')):
print(f"Задача 'do_first' вернула: {arg}")
return 'Hello Python'
@app.task(daily, execution="main")
def do_unparallel():
print("Эта задача выполняется синхронно.")
@app.task(daily, execution="async")
async def do_async():
print("Эта задача выполняется асинхронно.")
@app.task(daily, execution="thread")
def do_on_separate_thread():
print("Эта задача выполняется в отдельном потоке.")
@app.task(daily, execution="process")
def do_on_separate_process():
print("Эта задача выполняется в отдельном процессе.")
Увы 🥲
Библиотека питониста #развлекалово
🆕 Появился ty — молниеносный type checker для Python на Rust
Разработчики представили ty — новый инструмент для проверки типов и language server для Python, написанный на Rust. Обещают высокую скорость и удобство интеграции с редакторами.
⚠️ Пока что это pre-release:
— баги,
— отсутствующие фичи,
— возможны критические ошибки.
ty ещё не готов к продакшну, но активно развивается. Инструмент уже вызывает интерес у сообщества — особенно за счёт скорости и амбиций.
👀 Следим за развитием: https://clc.to/1jvRfg
Библиотека питониста #свежак
✉️ Вопросы подписчиков: какой ваш Python-стек в 2025 году
Сегодня делимся вопросом от подписчика, который интересуется, какие инструменты для Python наиболее актуальны в 2025 году.
💬 Вот что он пишет:
«Я использую VSCode и ChatGPT/Sonnet3.5, когда занимаюсь разработкой ML-решений или оптимизацией в ассемблере/CUDA. Однако ограничивающим фактором является то, что в большинстве случаев ИИ работает на уровне младшего разработчика. Поэтому мне часто приходится проверять информацию в документации и на Google.
Какие IDE и инструменты для ноутбуков вы используете в 2025 году? Например, VS Code, Jupyter, PyCharm — что лучше подходит для работы с данными и ML?
Используете ли вы ИИ-инструменты, такие как Cursor, Copilot или Cline? Если да, то какие задачи они помогают решать в вашем рабочем процессе?»
🤔
Библиотека питониста #развлекалово
🏗 7 архитектурных паттернов, которые должен знать каждый программист
Хочешь писать код, который не разваливается через полгода? Понимание архитектурных паттернов — ключ к стабильным и масштабируемым приложениям.
📌 Мы собрали 7 базовых подходов, которые должен знать каждый разработчик. Подходит для тех, кто хочет прокачать архитектурное мышление, уверенно проходить собеседования и строить проекты «на вырост».
👉 Ссылка на статью: https://clc.to/tgproglibacademy6
Библиотека питониста
⌨️ Топ-вакансий для питонистов за неделю
Junior Python Developer (Data) — до 200 000, удалёнка
Team Lead (Python) команды разработки — от 350 000 до 450 000 ₽, удалёнка (Москва)
Junior Python developer — от 100 000 до 130 000 ₽, офис (Москва)
Python разработчик, гибрид (Москва, Санкт-Петербург)
Программист Python junior — от 100 000 ₽, гибрид (Москва)
➡️ Еще больше топовых вакансий — в нашем канале Python jobs
Библиотека питониста
Что представляют собой генераторы в Python, как функционирует метод send() в этих генераторах и каким образом его можно применять для управления их поведением?
Генераторы в Python представляют собой функции, которые применяют оператор yield для возврата значений и временной приостановки выполнения. С помощью метода send() можно отправлять данные обратно в генератор, которые затем могут быть использованы при следующем возобновлении его работы. Это делает генераторы двусторонними, позволяя не только получать значения, но и передавать данные внутрь.
📚Напоминаем про наш полный курс «Самоучитель по Python для начинающих»
Мы написали и собрали для вас в одну подборку все 25 глав и 230 практических заданий!
🐍 Часть 1: Особенности, сферы применения, установка, онлайн IDE
🐍 Часть 2: Все, что нужно для изучения Python с нуля – книги, сайты, каналы и курсы
🐍 Часть 3: Типы данных: преобразование и базовые операции
🐍 Часть 4: Методы работы со строками
🐍 Часть 5: Методы работы со списками и списковыми включениями
🐍 Часть 6: Методы работы со словарями и генераторами словарей
🐍 Часть 7: Методы работы с кортежами
🐍 Часть 8: Методы работы со множествами
🐍 Часть 9: Особенности цикла for
🐍 Часть 10: Условный цикл while
🐍 Часть 11: Функции с позиционными и именованными аргументами
🐍 Часть 12: Анонимные функции
🐍 Часть 13: Рекурсивные функции
🐍 Часть 14: Функции высшего порядка, замыкания и декораторы
🐍 Часть 15: Методы работы с файлами и файловой системой
🐍 Часть 16: Регулярные выражения
🐍 Часть 17: Основы скрапинга и парсинга
🐍 Часть 18: Основы ООП – инкапсуляция и наследование
🐍 Часть 19: Основы ООП – абстракция и полиморфизм
🐍 Часть 20: Графический интерфейс на Tkinter
🐍 Часть 21: Основы разработки игр на Pygame
🐍 Часть 22: Основы работы с SQLite
🐍 Часть 23: Основы веб-разработки на Flask
🐍 Часть 24: Основы работы с NumPy
🐍 Часть 25: Основы анализа данных с Pandas
😆
Библиотека питониста #развлекалово
🔰 Модуль enum: обзор
Модуль enum в Python используется для создания перечислений — объектов, которые упрощают работу с группами связанных константных значений. Это полезно для удобного различия значений без привязки к их конкретным значениям, например, при работе с параметрами конфигурации.
🟠 Создание перечислений с Enum и auto
Перечисления позволяют избежать ошибок с опечатками и делают код более читаемым.
Пример с конкретными значениями:
from enum import Enum
class TempUnit(Enum):
CELSIUS = "celsius"
FAHRENHEIT = "fahrenheit"
def get_temperature(city, unit):
return 18.0 if unit == TempUnit.CELSIUS else 64.4
print(get_temperature("Lisbon", TempUnit.CELSIUS)) # 18.0
print(TempUnit.CELSIUS.name) # CELSIUS
print(TempUnit.CELSIUS.value) # celsius
auto() для автоматической нумерации:from enum import Enum, auto
class Weekday(Enum):
SUNDAY = auto()
MONDAY = auto()
TUESDAY = auto()
WEDNESDAY = auto()
THURSDAY = auto()
FRIDAY = auto()
SATURDAY = auto()
StrEnum:from enum import StrEnum
class TempUnit(StrEnum):
CELSIUS = "celsius"
FAHRENHEIT = "fahrenheit"
print(TempUnit.CELSIUS.capitalize()) # Celsius
from enum import StrEnum, auto
class TempUnit(StrEnum):
CELSIUS = auto()
FAHRENHEIT = auto()
assert TempUnit.CELSIUS.value == "celsius"
IntEnum:from enum import IntEnum
class SomeIntegers(IntEnum):
ONE = 1
TWO = 2
THREE = 3
print(SomeIntegers.TWO + 1) # 3
Flag для комбинирования флагов:from enum import Flag, auto
class NotificationMethod(Flag):
IN_APP = auto()
PUSH = auto()
EMAIL = auto()
SMS = auto()
user_settings = NotificationMethod.IN_APP | NotificationMethod.PUSH
print(user_settings) # <NotificationMethod.IN_APP|PUSH: 3>
@unique:from enum import Enum, unique
@unique
class EnumWithAliases(Enum):
ONE = 1
TWO = 2
THREE = 3
UNO = 1 # Ошибка, дублирующее значение
@verify(CONTINUOUS):from enum import Enum, verify, CONTINUOUS
@verify(CONTINUOUS)
class Nums(Enum):
THREE = 3
FOUR = 4
FIVE = 5
SIX = 6
@verify(CONTINUOUS)
class NumsHole(Enum):
THREE = 3
FOUR = 4
SIX = 6 # Ошибка, отсутствует 5
🐍 Python 3.15 — расписание релиза (PEP 790)
📅 Этапы разработки:
— Начало разработки: 6 мая 2025
— Альфа-релизы:
📝 Alpha 1: 14 октября 2025
📝 Alpha 2: 18 ноября 2025
📝 Alpha 3: 16 декабря 2025
📝 Alpha 4: 13 января 2026
📝 Alpha 5: 10 февраля 2026
📝 Alpha 6: 10 марта 2026
📝 Alpha 7: 7 апреля 2026
— Бета-релизы (без добавления новых фич):
📝 Beta 1: 5 мая 2026
📝 Beta 2: 26 мая 2026
📝 Beta 3: 16 июня 2026
📝 Beta 4: 14 июля 2026
— Release candidates:
📝 RC1: 28 июля 2026
📝 RC2: 1 сентября 2026
— Финальный релиз: 1 октября 2026 (четверг)
🔧 Срок поддержки:
📝 Bugfix-обновления: каждые ~2 месяца в течение 2 лет (до выхода Python 3.18.0 final)
📝 Обновления безопасности (только исходный код): ещё 3 года — до октября 2031
Библиотека питониста #свежак
⌨️ Как адаптировать код под синтаксические изменения в Python 3.14
Python 3.14 планируется к релизу 7 октября 2025 года. В нем будут представлены значительные улучшения производительности, включая новый экспериментальный интерпретатор и оптимизацию различных встроенных модулей.
Кроме того, Python 3.14 вводит несколько изменений синтаксиса, которые важно учитывать разработчикам:
1⃣ Запрещены операторы управления потоком в блоках `finally`
Сейчас разработчики могут по ошибке использовать операторы управления потоком (такие как return, break или continue) в блоках finally, что может привести к неожиданному поведению. В Python 3.14 будет выводиться SyntaxWarning при наличии таких операторов в блоках finally.
Пример:
def return_example():
try:
print("В блоке try")
return "Возврат из блока try"
except Exception as e:
print(f"Ошибка: {e}")
finally:
print("В блоке finally")
return "Возврат из блока finally" # Перекрывает возврат из try
result = return_example()
print(f"Результат: {result}")
В блоке try
В блоке finally
Результат: Возврат из блока finally
finally перезаписывает поток из блоков try/except.as для захвата экземпляра исключения.def divide(a, b):
try:
result = a / b
return result
except ZeroDivisionError, TypeError: # Обработка без скобок
print(f"Неправильный ввод: {a} и {b}")
raise
def divide(a, b):
try:
result = a / b
return result
except (ZeroDivisionError, TypeError) as e:
print(f"Ошибка: {e}")
raise e
NameError. Разработчики должны были использовать строковые литералы или импортировать __future__, чтобы избежать этой проблемы. В Python 3.14 аннотации типов теперь оцениваются только по мере необходимости.class Node:
def __init__(self, value: int, next: Node): # Ошибка NameError
self.value = value
self.next = next
class Node:
def __init__(self, value: int, next: Node): # Работает без ошибок
self.value = value
self.next = next
📱 Новый ассистент Python-разработки — всего один промпт
Промпт, который превратит ChatGPT в полноценного помощника при решении инженерных задач, отладки и проектирования архитектуры.
✍️ Промпт:
Act as a senior Python developer.
I will describe a project or task I'm working on. You will ask clarifying questions if needed, then help me:
— design clean architecture,
— identify edge cases,
— suggest libraries, tools, and testing strategies,
— write well-structured, production-ready code.
Please explain your reasoning and best practices throughout. Wait for my input before continuing to the next step.
🔥 IT Breaking Memes — 30 000 ₽ за самую смешную IT-новость
Библиотека программиста запускает конкурс, который взорвет вашу ленту: создайте самую смешную альтернативную версию реальной IT-новости!
👾 Правила просты:
1. Берете настоящую новость из мира технологий.
2. Переписываете ее так, чтобы смеялись все.
3. Получаете деньги и славу.
🏆 Призы:
- 1 место: 30 000 ₽ + статус ведущего нового юмористического IT-канала
- 2 и 3 место: по 5 000 ₽ + вечный почет в IT-сообществе
Пример:
Реальная новость: «Гугл создала модель для общения с дельфинами».
Смешная альтернатива: «Нейросеть от Гугл обрабатывает видеопоток с камеры в свинарнике. ИИ следит, сколько свинья находится возле кормушки, не отталкивают ли ее собратья. Недокормленных докармливают, а переевшие пропускают следующую кормешку».
📅 Сроки: с 29 апреля по 11 мая включительно
Для участия отправьте свою смешную новость в гугл-форму: https://forms.gle/6YShjgfiycfJ53LX8
Ждем ваших новостей!
☀️ IT-календарь: главные релизы и события мая
📅 Важные релизы:
• Python 3.14 Beta 1
Ожидаемая дата: 6 мая 2025 года
Это важный этап разработки: после выхода беты новые функции замораживаются, а основное внимание переключается на тестирование и исправление ошибок.
• Python 3.13.4
Ожидаемая дата: вероятно, середина месяца
Релиз будет включать исправления багов и обновления безопасности в рамках регулярного двухмесячного цикла.
🌟 Ключевые мероприятия:
• PyCon US 2025 (PyCon US)
Даты проведения: 15–23 мая 2025 года
Место: Питтсбург, США
Крупнейшая конференция Python в США, объединяющая доклады, мастер-классы, хакатоны, ярмарку вакансий (Job Fair), аукцион PyLadies и другие мероприятия для разработчиков всех уровней.
• PyCon Italia 2025 (PyCon Italia)
Даты проведения: 28–31 мая 2025 года
Место: Болонья, Италия
Конференция Python в Италии с насыщенной программой: доклады, мастер-классы и социальные мероприятия — PyDrinks, PyDinner и PyFest.
Библиотека питониста #свежак