Python Portal
55.4K subscribers
2.22K photos
276 videos
51 files
772 links
Всё самое интересное из мира Python

Связь: @devmangx

РКН: https://clck.ru/3GMMF6
Download Telegram
Как работать с requirements.txt и не запутаться в зависимостях

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

Чтобы сохранить список установленных библиотек, достаточно одной команды:

pip freeze > requirements.txt


Она выгрузит все текущие пакеты и их версии в requirements.txt.

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

pip install -r requirements.txt


Все нужные пакеты установятся автоматически — с нужными версиями.

В requirements.txt можно указывать версии библиотек по-разному:

numpy==1.21.0     # строгая версия  
pandas>=1.3.0 # версия не ниже указанной
requests # установится последняя


И не забывай: комментарии начинаются с #.

# Основные зависимости
numpy==1.21.0
pandas>=1.3.0

# Для тестов
pytest


Если проект большой то можно разбить зависимости:

# requirements.txt
-r base.txt
-r dev.txt


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

Чтобы зафиксировать версии пакетов без прямого указания в основном файле, можно использовать constraints.txt:

pip install -r requirements.txt -c constraints.txt


Пример:

requirements.txt:

numpy==1.21.0
pandas


constraints.txt:

pandas<=1.3.5


Для разных задач - свои зависимости:

requirements-dev.txt     # разработка  
requirements-test.txt # тесты
requirements-prod.txt # продакшен


Пример:

pip install -r requirements-dev.txt


Чтобы подтянуть свежие версии библиотек:

pip install --upgrade -r requirements.txt


Всегда изолируй зависимости:

python -m venv venv
source venv/bin/activate # macOS/Linux
venv\Scripts\activate # Windows
pip install -r requirements.txt


👉 @PythonPortal
Please open Telegram to view this post
VIEW IN TELEGRAM
23👍13🔥11💊1
This media is not supported in your browser
VIEW IN TELEGRAM
Визуальное объяснение интеграла

👉 @PythonPortal
Please open Telegram to view this post
VIEW IN TELEGRAM
36🤔19👍10🔥9
100 процентое сходство

👉 @PythonPortal
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥69🤣59😁92
This media is not supported in your browser
VIEW IN TELEGRAM
Бесплатный курс от MIT для начинающих по основам компьютерных наук. В этих классических лекциях разбираются такие концепции, как дизайн языков программирования, абстракция и рекурсия: https://bit.ly/46zVDEy

👉 @PythonPortal
Please open Telegram to view this post
VIEW IN TELEGRAM
19👍4
Вот трюк для оптимизации нейросетки, который даёт примерно 4x ускорение при передаче данных с CPU на GPU.

Представим задачу классификации изображений.

Определяем модель, загружаем и преобразуем данные.

В цикле обучения передаём данные на GPU и тренируем сеть.

В чём проблема:

Если заглянуть в профайлер,

- большая часть ресурсов уходит на ядро (то есть на само обучение),
- но заметное время тратится и на передачу данных с CPU на GPU (cudaMemcpyAsync).

Сократить это просто.

Изначально датасет состоит из пикселей в виде 8-битных целых чисел. Мы преобразуем их в 32-битные float’ы.
А потом именно эти float-тензоры гоняем на GPU. В итоге данных стало в 4 раза больше, а значит, и передача тяжелее.

Решение:

Сдвинуть шаг преобразования после передачи. То есть сначала передаём 8-битные int’ы, а уже на GPU конвертируем их в float.

В результате шаг передачи данных заметно ускорится.

Конечно, это работает не везде, например, в NLP мы изначально имеем дело с float-эмбеддингами.
Но в случаях, где это применимо, ускорение получается очень ощутимым.

👉 @PythonPortal
Please open Telegram to view this post
VIEW IN TELEGRAM
31
This media is not supported in your browser
VIEW IN TELEGRAM
Пока дебажишь чужой код, мир начинает играть новыми красками

👉 @PythonPortal
Please open Telegram to view this post
VIEW IN TELEGRAM
😁76🤣516🔥3👀2
This media is not supported in your browser
VIEW IN TELEGRAM
Бесплатная халява в Steam

Забираем Upload Labs — симулятор программиста, где тебе предстоит спасти Вселенную от тепловой смерти, создав идеальную компьютерную систему. 🤣

Готовься к настоящему испытанию мозга, ведь придётся писать код, оптимизировать ресурсы и заставлять всё работать как часы.

Забираем: стим

👉 @PythonPortal
Please open Telegram to view this post
VIEW IN TELEGRAM
36🔥2🤯1💊1
Совет по чистому коду в Python:

Избегай наивных datetime-объектов — всегда используй те, что учитывают часовой пояс.

Работай с ними в UTC, а пользователю показывай только в его локальной таймзоне.

import datetime
from zoneinfo import ZoneInfo

# BAD
now = datetime.datetime.now()

print(now.isoformat())
# 2025-10-21T15:03:07.332217

# GOOD
now = datetime.datetime.now(tz=ZoneInfo("UTC"))
print(now.isoformat())
# 2025-10-21T12:04:22.573590+00:00

print(now.astimezone().isoformat())
# 2025-10-21T15:04:22.573590+03:00


👉 @PythonPortal
Please open Telegram to view this post
VIEW IN TELEGRAM
👍405💊1
Media is too big
VIEW IN TELEGRAM
OpenAI выпустила Atlas новый браузер с искусственным интеллектом, который умеет запоминать контекст и работает в Agent Mode.

Что известно:

Atlas полностью интегрирован с ChatGPT и использует ChatGPT Search под капотом.

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

Можно открывать неограниченное число вкладок с агентами — каждый живёт своей жизнью и решает отдельные задачи.

Atlas уже доступен для пользователей Free, Plus, Pro, Go и Business по всему миру.
Пользователи Enterprise и Education могут получить доступ к бете, если админ включит её. Также в разработке версии для Windows, iOS и Android.

Скачать можно на chatgpt.com/atlas

Надеемся, что пользователи Windows скоро тоже смогут оценить этот новый браузер в деле. 😎

👉 @PythonPortal
Please open Telegram to view this post
VIEW IN TELEGRAM
6👍5💊3
This media is not supported in your browser
VIEW IN TELEGRAM
Возможности Python впечатляют

👉 @PythonPortal
Please open Telegram to view this post
VIEW IN TELEGRAM
😁94🔥12💊6🤔4🤣43🌚3👀2👍1🤝1
This media is not supported in your browser
VIEW IN TELEGRAM
Изучай алгоритмы computer science наглядно

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

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

👉 @PythonPortal
Please open Telegram to view this post
VIEW IN TELEGRAM
👍19🤝42🤯2
This media is not supported in your browser
VIEW IN TELEGRAM
Эксперимент: диффузионная текстовая модель на 11 млн параметров

Разработчик тестирует миниатюрную символьную диффузионную модель (всего 11M параметров), основанную на переработанной версии nanochat GPT. Вместо классического авторегрессионного декодирования используется диффузионный подход, а обучается модель на датасете Tiny Shakespeare.

В процессе экспериментов исследуются разные стратегии маскирования токенов. Простая схема с равномерной вероятностью уступает новым методам, где маскирование идёт блоками слева направо = это повышает качество вывода и даёт возможность частично переиспользовать KVCache.

Самое интересное, автор попробовал применять маскирование по правилам «Игры жизни» Конвея, и это дало неожиданные, но визуально захватывающие результаты.

Он предполагает, что подобные нестандартные схемы маскирования могут привести к новым эффектам и улучшениям в генерации текста.

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

👉 @PythonPortal
Please open Telegram to view this post
VIEW IN TELEGRAM
21👍8🔥6😁1
Машин лернинг наглядно

👉 @PythonPortal
Please open Telegram to view this post
VIEW IN TELEGRAM
😁131🤣36🤔9👀5👍42🔥2
Самостоятельные курсы по программированию для школьников от Яндекс Лицея

Убрали дедлайны, отборы и преподавателей, чтобы вы смогли в комфортном темпе проходить материал. Сейчас доступны курсы по Go, С++ и фронтенд-разработке.

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

👉 Регистрируемся и начинаем обучение здесь
8
This media is not supported in your browser
VIEW IN TELEGRAM
Визуализируй большие векторные данные в Python — БЫСТРО!

Надоели медленные и громоздкие инструменты для визуализации больших векторных датасетов в Python?
Открой для себя этот однострочный трюк с Leafmap + DuckDB, который позволяет мгновенно отрисовывать огромные векторные наборы данных, даже размером в гигабайты - прямо в Jupyter Notebook.

В этом видео ты узнаешь, как:

Без труда визуализировать миллионы векторных объектов
Использовать Leafmap + DuckDB для динамической выдачи векторных тайлов
Работать с GeoParquet, GeoPackage, данными из облака и не только
Создавать полностью интерактивные карты — без вылетов браузера

Пример ноутбука: https://leafmap.org/maplibre/duckdb_layer

👉 @PythonPortal
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥15👍54
This media is not supported in your browser
VIEW IN TELEGRAM
Годы юзал Chrome и только сегодня узнал об этом 😅

Вводишь в адресную строку: chrome://chrome-urls — открывается список всех внутренних страниц браузера - от отладочных тулзов до экспериментальных фич.

Полезные штуки, которые там можно найти:

- chrome://flags → скрытые настройки
- chrome://gpu → информация о работе GPU
- chrome://net-export → отладка сети

Ставьте лайк, если тоже не знали, посмотрим сколько нас

👉 @PythonPortal
Please open Telegram to view this post
VIEW IN TELEGRAM
👍9016💊8🤣6🌭2
Компания JetBrains на днях выпустила отчёт о состоянии экосистемы разработчиков в 2025 году. В нем приняли участие 24 534 разработчика из 194 стран

Некоторые выводы:

Наиболее используемый язык - Python

TypeScript демонстрирует самый впечатляющий рост в реальном использовании за последние пять лет. Rust, Go и Kotlin тоже постепенно укрепляют свои позиции, хотя их успехи не столь заметны, как у TypeScript.
А PHP, Ruby и Objective-C продолжают уверенно терять популярность.

Индекс Language Promise от JetBrains оценивает языки по трём критериям: рост, стабильность и готовность разработчиков их осваивать. Согласно этому индексу, в 2025 году наибольший потенциал роста демонстрируют TypeScript, Rust и Go, тогда как JavaScript, PHP и SQL, судя по всему, достигли стадии зрелости.

Список самых высокооплачиваемых разработчиков возглавлавила Scala — 38%, хотя этот язык является основным всего у 2% специалистов. Похоже, сказывается узкая специализация

👉 @PythonPortal
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
20👍9