🚀 Современная система сборки Meson
Meson — это высокопроизводительная система сборки, ориентированная на простоту и скорость. Она поддерживает множество языков и инструментов, обеспечивая гибкость и эффективность в разработке.
🚀 Основные моменты:
- Поддержка Python и Ninja для сборки.
- Быстрая и интуитивно понятная настройка проектов.
- Активное сообщество и возможность внесения вкладов.
- Совместимость с различными платформами и языками.
📌 GitHub: https://github.com/mesonbuild/meson
@pythonl
Meson — это высокопроизводительная система сборки, ориентированная на простоту и скорость. Она поддерживает множество языков и инструментов, обеспечивая гибкость и эффективность в разработке.
🚀 Основные моменты:
- Поддержка Python и Ninja для сборки.
- Быстрая и интуитивно понятная настройка проектов.
- Активное сообщество и возможность внесения вкладов.
- Совместимость с различными платформами и языками.
📌 GitHub: https://github.com/mesonbuild/meson
@pythonl
❤10👍4🔥3🤩2
⚠️ SQL-инъекция через f-string
Если подставлять значения прямо в SQL через f-string, злоумышленник может выполнить любой код в базе:
💥 И вот таблица accounts удалена!
Почему так?
Потому что строка с именем вставляется как есть и воспринимается как часть SQL-запроса.
✅ Правильный способ — использовать параметры:
✔ Имя ищется как текст, база остаётся в безопасности.
👉 Запомни: никогда не вставляй пользовательские данные напрямую в SQL.
Используй параметризованные запросы — это надёжная защита от SQL-инъекций.
@pythonl
Если подставлять значения прямо в SQL через f-string, злоумышленник может выполнить любой код в базе:
name = "Alice'; DROP TABLE accounts; --"
query = f"SELECT * FROM accounts WHERE name = '{name}'"
conn.sql(query)
💥 И вот таблица accounts удалена!
Почему так?
Потому что строка с именем вставляется как есть и воспринимается как часть SQL-запроса.
✅ Правильный способ — использовать параметры:
name = "Alice'; DROP TABLE accounts; --"
query = "SELECT * FROM accounts WHERE name = ?"
conn.sql(query, params=(name,))
✔ Имя ищется как текст, база остаётся в безопасности.
👉 Запомни: никогда не вставляй пользовательские данные напрямую в SQL.
Используй параметризованные запросы — это надёжная защита от SQL-инъекций.
@pythonl
👍27❤10🔥9😱2😁1
🔍 Django ModelSearch: Умный поиск для ваших моделей
Django ModelSearch позволяет индексировать модели Django и осуществлять поиск с помощью ORM. Поддерживает PostgreSQL FTS, SQLite FTS5, Elasticsearch и OpenSearch. Идеально подходит для создания мощных поисковых решений в ваших приложениях.
🚀Основные моменты:
- Индексация моделей в Elasticsearch и OpenSearch
- Поддержка автозаполнения и фасетного поиска
- Возможность использования существующих QuerySets
- Поддержка нечеткого поиска и структурированных запросов
- Нулевая простоя при перестройке индекса
📌 GitHub: https://github.com/kaedroho/django-modelsearch
@pythonl
#python
Django ModelSearch позволяет индексировать модели Django и осуществлять поиск с помощью ORM. Поддерживает PostgreSQL FTS, SQLite FTS5, Elasticsearch и OpenSearch. Идеально подходит для создания мощных поисковых решений в ваших приложениях.
🚀Основные моменты:
- Индексация моделей в Elasticsearch и OpenSearch
- Поддержка автозаполнения и фасетного поиска
- Возможность использования существующих QuerySets
- Поддержка нечеткого поиска и структурированных запросов
- Нулевая простоя при перестройке индекса
📌 GitHub: https://github.com/kaedroho/django-modelsearch
@pythonl
#python
❤8👍4🔥4
🚀 Python Pro совет
Хотите измерить время выполнения куска кода без лишних библиотек?
Используйте модуль
💡 Это простой способ проверить, какой из вариантов реализации быстрее.
Сравнивайте разные подходы и оптимизируйте критичные куски кода на практике.
@pythonl
Хотите измерить время выполнения куска кода без лишних библиотек?
Используйте модуль
timeit
, встроенный прямо в Python:
# Запуск из командной строки
python -m timeit -n 100 -r 5 "sum(range(1000))"
# В коде
import timeit
print(timeit.timeit("sum(range(1000))", number=1000))
💡 Это простой способ проверить, какой из вариантов реализации быстрее.
Сравнивайте разные подходы и оптимизируйте критичные куски кода на практике.
@pythonl
👍20❤9🔥7
📐 Agent Reinforcement Trainer — фреймворк для обучения ИИ-агентов через reinforcement learning
Проект предлагает удобный способ прокачки LLM для решения практических задач. Во время работы ART использует метод GRPO и позволяет обучать агентов работать с MCP-серверами, играть в игры и выполнять другие действия через взаимодействие со средой.
Инструмент минимально требователен к данным — система сама анализирует доступные инструменты и генерирует учебные сценарии. Поддерживается интеграция с популярными языковыми моделями, включая Qwen 2.5.
🤖 GitHub
@pythonl
Проект предлагает удобный способ прокачки LLM для решения практических задач. Во время работы ART использует метод GRPO и позволяет обучать агентов работать с MCP-серверами, играть в игры и выполнять другие действия через взаимодействие со средой.
Инструмент минимально требователен к данным — система сама анализирует доступные инструменты и генерирует учебные сценарии. Поддерживается интеграция с популярными языковыми моделями, включая Qwen 2.5.
🤖 GitHub
@pythonl
❤10👍4🔥3
👨💻 Omnara — Mission Control для AI-агентов
Что это?
Omnara — это «диспетчерская» для ваших AI-агентов. С её помощью можно управлять и наблюдать за работой агентов в реальном времени: через терминал, веб-интерфейс и мобильное приложение.
Возможности
- Отслеживание всех шагов агента в реальном времени.
- Push-уведомления, когда агент ждёт обратной связи.
- Ответы и контроль прямо с телефона или браузера.
- Единый дашборд для всех агентов.
Почему это удобно
- Не нужно сидеть за ПК, чтобы держать процесс под контролем.
- Всё open-source, можно разворачивать самостоятельно.
- Подходит как для разработчиков-одиночек, так и для команд.
👉 Omnara делает взаимодействие с AI-агентами гибким и удобным: вы всегда в курсе, что они делают, и можете вмешаться в любой момент.
🔗 GitHub
@pythonl
Что это?
Omnara — это «диспетчерская» для ваших AI-агентов. С её помощью можно управлять и наблюдать за работой агентов в реальном времени: через терминал, веб-интерфейс и мобильное приложение.
Возможности
- Отслеживание всех шагов агента в реальном времени.
- Push-уведомления, когда агент ждёт обратной связи.
- Ответы и контроль прямо с телефона или браузера.
- Единый дашборд для всех агентов.
Почему это удобно
- Не нужно сидеть за ПК, чтобы держать процесс под контролем.
- Всё open-source, можно разворачивать самостоятельно.
- Подходит как для разработчиков-одиночек, так и для команд.
👉 Omnara делает взаимодействие с AI-агентами гибким и удобным: вы всегда в курсе, что они делают, и можете вмешаться в любой момент.
🔗 GitHub
@pythonl
❤11🔥7👍3
🔥 Успех в IT = скорость + знания + окружение
Здесь ты найдёшь всё это — коротко, по делу и без воды.
Пока другие ищут, где “подглядеть решение”, ты уже используешь самые свежие инструменты!
AI: t.me/ai_machinelearning_big_data
Python: t.me/python_job_interview
Linux: t.me/linuxacademiya
Собеседования DS: t.me/machinelearning_interview
C++ t.me/cpluspluc
Docker: t.me/DevopsDocker
Хакинг: t.me/linuxkalii
Devops: t.me/DevOPSitsec
Data Science: t.me/data_analysis_ml
Javascript: t.me/javascriptv
C#: t.me/csharp_1001_notes
Java: t.me/java_library
Базы данных: t.me/sqlhub
Python собеседования: t.me/python_job_interview
Мобильная разработка: t.me/mobdevelop
Golang: t.me/Golang_google
React: t.me/react_tg
Rust: t.me/rust_code
ИИ: t.me/vistehno
PHP: t.me/phpshka
Android: t.me/android_its
Frontend: t.me/front
Big Data: t.me/bigdatai
МАТЕМАТИКА: t.me/data_math
Kubernets: t.me/kubernetc
Разработка игр: https://t.me/gamedev
Haskell: t.me/haskell_tg
Физика: t.me/fizmat
💼 Папка с вакансиями: t.me/addlist/_zyy_jQ_QUsyM2Vi
Папка Go разработчика: t.me/addlist/MUtJEeJSxeY2YTFi
Папка Python разработчика: t.me/addlist/eEPya-HF6mkxMGIy
Папка ML: https://t.me/addlist/2Ls-snqEeytkMDgy
Папка FRONTEND: https://t.me/addlist/mzMMG3RPZhY2M2Iy
😆ИТ-Мемы: t.me/memes_prog
🇬🇧Английский: t.me/english_forprogrammers
🧠ИИ: t.me/vistehno
🎓954ГБ ОПЕНСОРС КУРСОВ: @courses
📕Ит-книги бесплатно: https://t.me/addlist/BkskQciUW_FhNjEy
Подпишись, если хочешь быть в числе тех, кого зовут в топовые проекты!
Здесь ты найдёшь всё это — коротко, по делу и без воды.
Пока другие ищут, где “подглядеть решение”, ты уже используешь самые свежие инструменты!
AI: t.me/ai_machinelearning_big_data
Python: t.me/python_job_interview
Linux: t.me/linuxacademiya
Собеседования DS: t.me/machinelearning_interview
C++ t.me/cpluspluc
Docker: t.me/DevopsDocker
Хакинг: t.me/linuxkalii
Devops: t.me/DevOPSitsec
Data Science: t.me/data_analysis_ml
Javascript: t.me/javascriptv
C#: t.me/csharp_1001_notes
Java: t.me/java_library
Базы данных: t.me/sqlhub
Python собеседования: t.me/python_job_interview
Мобильная разработка: t.me/mobdevelop
Golang: t.me/Golang_google
React: t.me/react_tg
Rust: t.me/rust_code
ИИ: t.me/vistehno
PHP: t.me/phpshka
Android: t.me/android_its
Frontend: t.me/front
Big Data: t.me/bigdatai
МАТЕМАТИКА: t.me/data_math
Kubernets: t.me/kubernetc
Разработка игр: https://t.me/gamedev
Haskell: t.me/haskell_tg
Физика: t.me/fizmat
💼 Папка с вакансиями: t.me/addlist/_zyy_jQ_QUsyM2Vi
Папка Go разработчика: t.me/addlist/MUtJEeJSxeY2YTFi
Папка Python разработчика: t.me/addlist/eEPya-HF6mkxMGIy
Папка ML: https://t.me/addlist/2Ls-snqEeytkMDgy
Папка FRONTEND: https://t.me/addlist/mzMMG3RPZhY2M2Iy
😆ИТ-Мемы: t.me/memes_prog
🇬🇧Английский: t.me/english_forprogrammers
🧠ИИ: t.me/vistehno
🎓954ГБ ОПЕНСОРС КУРСОВ: @courses
📕Ит-книги бесплатно: https://t.me/addlist/BkskQciUW_FhNjEy
Подпишись, если хочешь быть в числе тех, кого зовут в топовые проекты!
❤3👍3🔥3😁1
🚀 Lemonade SDK — локальный сервер для LLM с максимальной производительностью
Что это?
Lemonade — это open-source проект (спонсируется AMD), который позволяет запускать большие языковые модели прямо у себя: на ПК, в браузере или на сервере. Всё работает локально, без облака, с поддержкой GPU и NPU, и при этом совместимо со стандартом OpenAI API.
Возможности
- Lemonade Server — локальный сервер, который имитирует OpenAI API. Поддерживает движки llama.cpp (GGUF), ONNX Runtime GenAI и HuggingFace Transformers. Работает с ускорением через Vulkan и ROCm.
- Lemonade CLI — консольный инструмент для запуска моделей, тестов производительности, проверки памяти и точности.
- Python API — простой способ подключить LLM к своим скриптам и приложениям.
Интеграция и совместимость
- Полная поддержка OpenAI API (`/chat/completions`,
- SDK доступен для Python, C++, Java, C#, Go, Node.js, Rust, PHP и других языков.
Почему это важно
- Всё работает локально → выше приватность и ниже затраты.
- Автоматическая оптимизация под ваше железо.
- Подходит для продакшн-нагрузок, edge-устройств и экспериментов.
- Удобные инструменты: сервер, CLI, Python API, web-панель.
- Проект активно развивается: свежие релизы выходят каждую неделю.
👉 Репозиторий: [github.com/lemonade-sdk/lemonade](https://github.com/lemonade-sdk/lemonade)
#LLM #AI #Lemonade #OpenSource #AMD
@pythonl
Что это?
Lemonade — это open-source проект (спонсируется AMD), который позволяет запускать большие языковые модели прямо у себя: на ПК, в браузере или на сервере. Всё работает локально, без облака, с поддержкой GPU и NPU, и при этом совместимо со стандартом OpenAI API.
Возможности
- Lemonade Server — локальный сервер, который имитирует OpenAI API. Поддерживает движки llama.cpp (GGUF), ONNX Runtime GenAI и HuggingFace Transformers. Работает с ускорением через Vulkan и ROCm.
- Lemonade CLI — консольный инструмент для запуска моделей, тестов производительности, проверки памяти и точности.
- Python API — простой способ подключить LLM к своим скриптам и приложениям.
Интеграция и совместимость
- Полная поддержка OpenAI API (`/chat/completions`,
/completions
, /models
, /load
, /stats
и др.). - SDK доступен для Python, C++, Java, C#, Go, Node.js, Rust, PHP и других языков.
Почему это важно
- Всё работает локально → выше приватность и ниже затраты.
- Автоматическая оптимизация под ваше железо.
- Подходит для продакшн-нагрузок, edge-устройств и экспериментов.
- Удобные инструменты: сервер, CLI, Python API, web-панель.
- Проект активно развивается: свежие релизы выходят каждую неделю.
👉 Репозиторий: [github.com/lemonade-sdk/lemonade](https://github.com/lemonade-sdk/lemonade)
#LLM #AI #Lemonade #OpenSource #AMD
@pythonl
❤13👍8😁1🤩1
🔥 Thyme: Think Beyond Images
Thyme — это инновационная модель, которая улучшает обработку изображений и сложные задачи рассуждения, используя автономное генерирование и выполнение операций через исполняемый код. Она сочетает в себе методы супервайзинга и обучения с подкреплением, обеспечивая высокую точность выполнения кода.
🚀 Основные моменты:
- Автономная генерация и выполнение операций с изображениями.
- Комбинация супервайзинга и обучения с подкреплением.
- Поддержка высокоразрешающей перцепции и сложного рассуждения.
- Использует алгоритм GRPO-ATS для оптимизации работы.
📌 GitHub: https://github.com/yfzhang114/Thyme
Thyme — это инновационная модель, которая улучшает обработку изображений и сложные задачи рассуждения, используя автономное генерирование и выполнение операций через исполняемый код. Она сочетает в себе методы супервайзинга и обучения с подкреплением, обеспечивая высокую точность выполнения кода.
🚀 Основные моменты:
- Автономная генерация и выполнение операций с изображениями.
- Комбинация супервайзинга и обучения с подкреплением.
- Поддержка высокоразрешающей перцепции и сложного рассуждения.
- Использует алгоритм GRPO-ATS для оптимизации работы.
📌 GitHub: https://github.com/yfzhang114/Thyme
❤10👍8🔥3
🔥 Подборка небанальных Python-трюков, которые реально упрощают жизнь разработчику
🌀 1. functools.cached_property — ленивое свойство с кэшем
Позволяет вычислить значение один раз и потом возвращать готовый результат.
🪄 2. contextlib.suppress — игнорируем ошибки красиво
Вместо громоздкого try/except:
👉 Идеально для операций, где ошибка — нормальная ситуация (удаление файла, закрытие сокета и т.п.).
🧩 3. Свой контекстный менеджер через enter / exit
Можно сделать объекты, которые сами открываются и закрываются как файлы.
👉 Отлично для работы с ресурсами: подключение к БД, временные настройки, логирование.
@pythonl
🌀 1. functools.cached_property — ленивое свойство с кэшем
Позволяет вычислить значение один раз и потом возвращать готовый результат.
from functools import cached_property
import time
class DataFetcher:
@cached_property
def heavy_data(self):
print("⏳ Запрос к API...")
time.sleep(2)
return {"status": "ok", "data": [1, 2, 3]}
obj = DataFetcher()
print(obj.heavy_data) # первый вызов → считает
print(obj.heavy_data) # второй вызов → из кэша
🪄 2. contextlib.suppress — игнорируем ошибки красиво
Вместо громоздкого try/except:
import os
from contextlib import suppress
with suppress(FileNotFoundError):
os.remove("tmp.txt")
👉 Идеально для операций, где ошибка — нормальная ситуация (удаление файла, закрытие сокета и т.п.).
🧩 3. Свой контекстный менеджер через enter / exit
Можно сделать объекты, которые сами открываются и закрываются как файлы.
class DemoResource:
def __enter__(self):
print("🔓 Ресурс открыт")
return self
def __exit__(self, exc_type, exc_value, traceback):
print("🔒 Ресурс закрыт")
if exc_type:
print(f"⚠️ Ошибка: {exc_value}")
return True # подавить исключение
with DemoResource() as res:
print("⚡ Работаем...")
raise ValueError("Что-то пошло не так!")
👉 Отлично для работы с ресурсами: подключение к БД, временные настройки, логирование.
@pythonl
❤10👍9🔥5
🔥 Старт олимпиады по ИИ и анализу данных — AIDAO.
🚀 В чем кайф:
- Не теоретически возможные задачи, а приближенные к реальным проектам
- Задачи на онлайн-этап готовит научная лаборатория, а финал — один из сервисов Яндекса
- Командная олимпиада, в которой могут принять участие студенты российских и зарубежных вузов
- Живое общение с экспертами и научными сотрудниками
- Масштабный финал олимпиады в Москве: 32 часа хакатона и общения с комьюнити
Международную олимпиаду организуют ФКН НИУ ВШЭ и Яндекс Образование. Главные призы: 1 млн рублей и бонусы при поступлении на магистратуры ФКН ВШЭ. Регистрируем команду на AIDAO по ссылке.
🚀 В чем кайф:
- Не теоретически возможные задачи, а приближенные к реальным проектам
- Задачи на онлайн-этап готовит научная лаборатория, а финал — один из сервисов Яндекса
- Командная олимпиада, в которой могут принять участие студенты российских и зарубежных вузов
- Живое общение с экспертами и научными сотрудниками
- Масштабный финал олимпиады в Москве: 32 часа хакатона и общения с комьюнити
Международную олимпиаду организуют ФКН НИУ ВШЭ и Яндекс Образование. Главные призы: 1 млн рублей и бонусы при поступлении на магистратуры ФКН ВШЭ. Регистрируем команду на AIDAO по ссылке.
👍7❤4
This media is not supported in your browser
VIEW IN TELEGRAM
⚡️КРАСИВЫЙ JSON ИЗ СЛОВАРЯ ЗА 1 СТРОКУ
Сегодня разберём крутую и полезную фишку — как с помощью Python одной строчкой красиво форматировать словарь в JSON с отступами.
pretty_json = json.dumps(data, indent=4, ensure_ascii=False)
print(pretty_json)
Это особенно удобно при отладке, логировании или подготовке данных для API. Больше не нужно вручную настраивать pprint — просто используй json.dumps с параметрами indent и ensure_ascii!
Сегодня разберём крутую и полезную фишку — как с помощью Python одной строчкой красиво форматировать словарь в JSON с отступами.
import json
data = {
"user": "Alice",
"age": 30,
"skills": ["Python", "Docker", "ML"],
"active": True,
"projects": {
"current": "Chatbot",
"next": "Data Pipeline"
}
}
pretty_json = json.dumps(data, indent=4, ensure_ascii=False)
print(pretty_json)
Это особенно удобно при отладке, логировании или подготовке данных для API. Больше не нужно вручную настраивать pprint — просто используй json.dumps с параметрами indent и ensure_ascii!
❤15👍5🔥1😁1
This media is not supported in your browser
VIEW IN TELEGRAM
🦀 PyApp — новый способ упаковать Python-программы
PyApp написан на Rust и превращает Python-проекты в готовые .exe или бинарники, которые работают без отдельной установки Python.
В отличие от PyInstaller или Nuitka, это не библиотека, а отдельный инструмент:
- для каждого проекта нужна своя сборка;
- зато конфигурация максимально гибкая и можно тонко настроить процесс.
🔗 Репозиторий: https://github.com/ofek/pyapp
@pythonl
PyApp написан на Rust и превращает Python-проекты в готовые .exe или бинарники, которые работают без отдельной установки Python.
В отличие от PyInstaller или Nuitka, это не библиотека, а отдельный инструмент:
- для каждого проекта нужна своя сборка;
- зато конфигурация максимально гибкая и можно тонко настроить процесс.
🔗 Репозиторий: https://github.com/ofek/pyapp
@pythonl
👍24❤9🤩3
🚀 Энергоэффективный транспайлер Python в Rust
Depyler — это транспайлер, который преобразует код Python в безопасный и производительный Rust, снижая потребление энергии на 75-85%. Он предлагает мощные инструменты для тестирования и верификации, обеспечивая высокое качество кода и поддержку CI/CD.
🚀 Основные моменты:
- Эффективное преобразование Python в Rust
- Поддержка многоуровневого тестирования и верификации
- Интеграция с AI для улучшения качества кода
- Поддержка формата Ruchy для функционального программирования
- Высокие стандарты безопасности и производительности
📌 GitHub: https://github.com/paiml/depyler
@pythonl
Depyler — это транспайлер, который преобразует код Python в безопасный и производительный Rust, снижая потребление энергии на 75-85%. Он предлагает мощные инструменты для тестирования и верификации, обеспечивая высокое качество кода и поддержку CI/CD.
🚀 Основные моменты:
- Эффективное преобразование Python в Rust
- Поддержка многоуровневого тестирования и верификации
- Интеграция с AI для улучшения качества кода
- Поддержка формата Ruchy для функционального программирования
- Высокие стандарты безопасности и производительности
📌 GitHub: https://github.com/paiml/depyler
@pythonl
👍6🔥6😱2❤1
Среди нас есть школьники или студенты техникумов? Тут принесли вам новость.
Яндекс Лицей открывает набор на программу «Веб-разработка на Django»
🟢 Много практики: будете создавать сайты и веб-приложения с нуля, работать с базами данных и научитесь правильно обрабатывать ввод от пользователей.
🟢 Базовые скилы на Django: освоите тестирование кода, окружение и развертывание.
🟢 Интенсивное, трехмесячное обучение с реальным проектом: будете работать в команде над собственным веб-приложением.
Короче, если ждете рекомендации по интенсивному онлайн-обучению Django для новичков — это оно.
В конце обучения, кстати, вам выдадут сертификат. С ним проще поступить на другие направления Яндекс Лицея. Также он даёт дополнительные баллы в некоторых вузах.
🟠 Зарегистрироваться и пройти отбор до 23 сентября можно здесь
Яндекс Лицей открывает набор на программу «Веб-разработка на Django»
🟢 Много практики: будете создавать сайты и веб-приложения с нуля, работать с базами данных и научитесь правильно обрабатывать ввод от пользователей.
🟢 Базовые скилы на Django: освоите тестирование кода, окружение и развертывание.
🟢 Интенсивное, трехмесячное обучение с реальным проектом: будете работать в команде над собственным веб-приложением.
Короче, если ждете рекомендации по интенсивному онлайн-обучению Django для новичков — это оно.
В конце обучения, кстати, вам выдадут сертификат. С ним проще поступить на другие направления Яндекс Лицея. Также он даёт дополнительные баллы в некоторых вузах.
🟠 Зарегистрироваться и пройти отбор до 23 сентября можно здесь
❤6😁3👍2
@pythonl
Please open Telegram to view this post
VIEW IN TELEGRAM
❤16🔥5👍3
PlutoPrint — это лёгкая и удобная библиотека на Python для генерации качественных PDF и изображений напрямую из HTML или XML. Она основана на мощном рендеринг-движке PlutoBook, что делает её идеальной для отчетов, счетов, билетов и визуализаций.
Основные возможности
Поддержка PDF и PNG – можно создавать как статичные изображения, так и печатные документы из
Простота установки и использования — установка через pip install plutoprint; пример для командной строки:
plutoprint input.html output.pdf --size=A4
@pythonl
Please open Telegram to view this post
VIEW IN TELEGRAM
1👍17❤11🔥2
This media is not supported in your browser
VIEW IN TELEGRAM
Когда мы используем модуль random, числа выглядят случайными, но на самом деле они вычисляются по алгоритму. Поэтому такие числа называют псевдослучайными.
Главное:
- Если задать одинаковый seed (зерно), генератор выдаст одинаковую последовательность. Это удобно для тестов и экспериментов — результат можно воспроизвести.
- Алгоритм по умолчанию — Mersenne Twister. Он быстрый и подходит для моделирования, но не годится для безопасности.
- Для генерации паролей, токенов и других защищённых данных нужно использовать модуль secrets, который делает случайность криптографически стойкой.
Просто правило:
- Для экспериментов → random с фиксированным seed.
- Для безопасности → secrets.
Пример работы seed
import random
random.seed(42)
print([random.random() for _ in range(3)])
random.seed(42)
print([random.random() for _ in range(3)]) те же числа
Криптографически безопасные значения
import secrets
print(secrets.token_hex(8))
print(secrets.randbelow(10))
Please open Telegram to view this post
VIEW IN TELEGRAM
❤23👍15🤩6🔥3
Отличный курс для тех, кто хочет разобраться в нейронках с нуля от Андрея Карпати (OpenAI/Tesla).
Внутри бесплатная серия лекций на YouTube (и репа на GitHub), где ты с нуля учишься собирать нейронки. Всё максимально hands-on:
Автор не просто рассказывает теорию, а пишет код вместе с тобой — от самых азов до тренировки сетей.
https://github.com/karpathy/nn-zero-to-hero/
@pythonl
Внутри бесплатная серия лекций на YouTube (и репа на GitHub), где ты с нуля учишься собирать нейронки. Всё максимально hands-on:
Автор не просто рассказывает теорию, а пишет код вместе с тобой — от самых азов до тренировки сетей.
https://github.com/karpathy/nn-zero-to-hero/
@pythonl
❤24👍10🤩3🔥1
Что это:
Новый инструмент для фильтрации в DRF, который расширяет возможности стандартного
django-filter
. Особенности
- Использует serializer-поля для разбора и валидации (без Django-форм и виджетов)
- Поддержка группировки фильтров для гибкой логики
- Constraint system — проверка взаимозависимостей между параметрами
- Вложенные фильтры (nested filters) для работы со сложными структурами
Последний релиз — v0.6.0 (21 августа 2025)
- Возможность указывать группу по умолчанию для всего
FilterSet
(в том числе глобально) - Поддержка subgroups для более сложных связей между фильтрами
- Новый метод
FilterSet.get_combinator()
для динамического выбора способа объединения фильтров - ⚠️ Breaking change: теперь
Entry
нельзя создавать без указания группы Почему стоит попробовать
Если стандартные фильтры Django REST кажутся ограниченными, rest-filters даёт:
- фильтрацию через сериализаторы,
- сложные сценарии с группировками и вложенностью,
- гибкость и расширяемость.
🔗 Репозиторий: https://github.com/realsuayip/rest-filters
@pythonl
Please open Telegram to view this post
VIEW IN TELEGRAM
❤11👍7🔥2