🆕 OctoBot — мощный криптовалютный торговый бот с открытым исходным кодом!
OctoBot — это:
- Открытый и настраиваемый крипто-торговый бот от Drakkar-Software
- Интерфейс конфигурации и система *tentacles* (модули-«щупальца») для гибкого построения стратегий — от технического анализа до интеграции внешних данных
- Поддержка Spot и Futures, торговля на более чем 15 биржах через библиотеку ccxt
- Возможности: создание и тестирование стратегий, оптимизация, торговля корзиной криптовалют, использование AI-инструментов и backtesting
Архитектура проекта:
- OctoBot — ядро с backtesting и стратегическим менеджментом
- OctoBot-Tentacles — модули для стратегий, нотификаций, внешних данных
- OctoBot-Trading — взаимодействие с биржами через ccxt
- Дополнительные пакеты: OctoBot-Services, OctoBot-Backtesting, OctoBot-Commons, Async-Channel
Активность и релизы:
- 4,5k★ и 900+ форков на GitHub
- Недавний релиз 2.0.12 (июнь 2025) с поддержкой Windows, Linux (x64, arm64) и macOS
- Регулярные обновления и активное сообщество
Почему это важно:
- Гибкая модульная архитектура
- Возможность добавлять свои стратегии и источники данных
- Отличный инструмент для изучения алгоритмической торговли и прототипирования
- Интеграции с AI, TradingView, Telegram
👉 Репозиторий: https://github.com/Drakkar-Software/OctoBot
@Python_Community_ru
OctoBot — это:
- Открытый и настраиваемый крипто-торговый бот от Drakkar-Software
- Интерфейс конфигурации и система *tentacles* (модули-«щупальца») для гибкого построения стратегий — от технического анализа до интеграции внешних данных
- Поддержка Spot и Futures, торговля на более чем 15 биржах через библиотеку ccxt
- Возможности: создание и тестирование стратегий, оптимизация, торговля корзиной криптовалют, использование AI-инструментов и backtesting
Архитектура проекта:
- OctoBot — ядро с backtesting и стратегическим менеджментом
- OctoBot-Tentacles — модули для стратегий, нотификаций, внешних данных
- OctoBot-Trading — взаимодействие с биржами через ccxt
- Дополнительные пакеты: OctoBot-Services, OctoBot-Backtesting, OctoBot-Commons, Async-Channel
Активность и релизы:
- 4,5k★ и 900+ форков на GitHub
- Недавний релиз 2.0.12 (июнь 2025) с поддержкой Windows, Linux (x64, arm64) и macOS
- Регулярные обновления и активное сообщество
Почему это важно:
- Гибкая модульная архитектура
- Возможность добавлять свои стратегии и источники данных
- Отличный инструмент для изучения алгоритмической торговли и прототипирования
- Интеграции с AI, TradingView, Telegram
👉 Репозиторий: https://github.com/Drakkar-Software/OctoBot
@Python_Community_ru
GitHub
GitHub - Drakkar-Software/OctoBot: Open source crypto trading bot
Open source crypto trading bot. Contribute to Drakkar-Software/OctoBot development by creating an account on GitHub.
This media is not supported in your browser
VIEW IN TELEGRAM
🍏 Apple представила FastVLM на Hugging Face — модели 0.5B, 1.5B и 7B с поддержкой WebGPU
VLM (Vision-Language Model) — это модель, которая умеет одновременно работать с картинками и текстом: понимать, что изображено, описывать картинку словами, отвечать на вопросы по изображению и совмещать визуальные и текстовые данные.
⚡ Что это значит:
- До 85 раз быстрее и в 3.4 раза компактнее аналогичных VLM
- У крупных моделей время до первого токена стало быстрее в 7.9 раз
- Меньше выходных токенов + быстрее обработка картинок высокого разрешения
🔥Модель работает в реальном времени прямо в браузере через transformers.js и WebGPU.
https://huggingface.co/spaces/apple/fastvlm-webgpu
@Python_Community_ru
VLM (Vision-Language Model) — это модель, которая умеет одновременно работать с картинками и текстом: понимать, что изображено, описывать картинку словами, отвечать на вопросы по изображению и совмещать визуальные и текстовые данные.
⚡ Что это значит:
- До 85 раз быстрее и в 3.4 раза компактнее аналогичных VLM
- У крупных моделей время до первого токена стало быстрее в 7.9 раз
- Меньше выходных токенов + быстрее обработка картинок высокого разрешения
🔥Модель работает в реальном времени прямо в браузере через transformers.js и WebGPU.
https://huggingface.co/spaces/apple/fastvlm-webgpu
@Python_Community_ru
🔥1
This media is not supported in your browser
VIEW IN TELEGRAM
🐍 Необычный Python-совет
В Python можно перегрузить оператор [] и превратить объект в умный словарь или вычисляемый массив. Это позволяет писать очень выразительный код.
Пример: создадим класс, который хранит функцию и вычисляет результат «на лету» при обращении по индексу:
class PowTable:
def __init__(self, power):
self.power = power
def __getitem__(self, n):
return n ** self.power
squares = PowTable(2)
cubes = PowTable(3)
print(squares[5]) # 25
print(cubes[4]) # 64
👉 В итоге obj[x] может не просто доставать значение, а вычислять его динамически.
Это мощный приём для DSL, кэшей и ленивых вычислений.
@Python_Community_ru
В Python можно перегрузить оператор [] и превратить объект в умный словарь или вычисляемый массив. Это позволяет писать очень выразительный код.
Пример: создадим класс, который хранит функцию и вычисляет результат «на лету» при обращении по индексу:
class PowTable:
def __init__(self, power):
self.power = power
def __getitem__(self, n):
return n ** self.power
squares = PowTable(2)
cubes = PowTable(3)
print(squares[5]) # 25
print(cubes[4]) # 64
👉 В итоге obj[x] может не просто доставать значение, а вычислять его динамически.
Это мощный приём для DSL, кэшей и ленивых вычислений.
@Python_Community_ru
This media is not supported in your browser
VIEW IN TELEGRAM
🚀 Полезный совет: any и all в Python работают с генераторами и используют short-circuit
Иногда в python есть малоизвестные особенности, которые могут сильно помочь.
Например, функция all и any умеют работать не только с простыми списками, но и с генераторами. Это значит, что пайтон остановит проверку сразу, как только результат станет очевидным — это называется "шорт-сёркьют".
nums = [0, 0, 0, 5, 0]
#any (эни) вернёт True, как только найдёт первый элемент != 0
print(any(nums)) # True
#ll (ол) вернёт False, как только встретит первый элемент == 0
print(all(nums)) # False
#использование с генератором — не создаёт лишний список
print(any(x > 10 for x in nums)) # False
Это позволяет писать очень эффективный код без лишних проверок и без создания промежуточных списков.
@Python_Community_ru
Иногда в python есть малоизвестные особенности, которые могут сильно помочь.
Например, функция all и any умеют работать не только с простыми списками, но и с генераторами. Это значит, что пайтон остановит проверку сразу, как только результат станет очевидным — это называется "шорт-сёркьют".
nums = [0, 0, 0, 5, 0]
#any (эни) вернёт True, как только найдёт первый элемент != 0
print(any(nums)) # True
#ll (ол) вернёт False, как только встретит первый элемент == 0
print(all(nums)) # False
#использование с генератором — не создаёт лишний список
print(any(x > 10 for x in nums)) # False
Это позволяет писать очень эффективный код без лишних проверок и без создания промежуточных списков.
@Python_Community_ru
🚀 Современная система сборки Meson
Meson — это высокопроизводительная система сборки, ориентированная на простоту и скорость. Она поддерживает множество языков и инструментов, обеспечивая гибкость и эффективность в разработке.
🚀 Основные моменты:
- Поддержка Python и Ninja для сборки.
- Быстрая и интуитивно понятная настройка проектов.
- Активное сообщество и возможность внесения вкладов.
- Совместимость с различными платформами и языками.
📌 GitHub: https://github.com/mesonbuild/meson
@Python_Community_ru
Meson — это высокопроизводительная система сборки, ориентированная на простоту и скорость. Она поддерживает множество языков и инструментов, обеспечивая гибкость и эффективность в разработке.
🚀 Основные моменты:
- Поддержка Python и Ninja для сборки.
- Быстрая и интуитивно понятная настройка проектов.
- Активное сообщество и возможность внесения вкладов.
- Совместимость с различными платформами и языками.
📌 GitHub: https://github.com/mesonbuild/meson
@Python_Community_ru
⚠️ SQL-инъекция через f-string
Если подставлять значения прямо в 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-инъекций.
@Python_Community_ru
Если подставлять значения прямо в 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-инъекций.
@Python_Community_ru
🔥2👍1
🔍 Django ModelSearch: Умный поиск для ваших моделей
Django ModelSearch позволяет индексировать модели Django и осуществлять поиск с помощью ORM. Поддерживает PostgreSQL FTS, SQLite FTS5, Elasticsearch и OpenSearch. Идеально подходит для создания мощных поисковых решений в ваших приложениях.
🚀Основные моменты:
- Индексация моделей в Elasticsearch и OpenSearch
- Поддержка автозаполнения и фасетного поиска
- Возможность использования существующих QuerySets
- Поддержка нечеткого поиска и структурированных запросов
- Нулевая простоя при перестройке индекса
📌 GitHub: https://github.com/kaedroho/django-modelsearch
#python
@Python_Community_ru
Django ModelSearch позволяет индексировать модели Django и осуществлять поиск с помощью ORM. Поддерживает PostgreSQL FTS, SQLite FTS5, Elasticsearch и OpenSearch. Идеально подходит для создания мощных поисковых решений в ваших приложениях.
🚀Основные моменты:
- Индексация моделей в Elasticsearch и OpenSearch
- Поддержка автозаполнения и фасетного поиска
- Возможность использования существующих QuerySets
- Поддержка нечеткого поиска и структурированных запросов
- Нулевая простоя при перестройке индекса
📌 GitHub: https://github.com/kaedroho/django-modelsearch
#python
@Python_Community_ru
GitHub
GitHub - kaedroho/django-modelsearch: Index Django Models with Elasticsearch or OpenSearch and query them with the ORM
Index Django Models with Elasticsearch or OpenSearch and query them with the ORM - kaedroho/django-modelsearch
В преддверии новой активности мы собрали в одну папку 30 Telegram-каналов известных профессионалов и попросили их авторов подготовить для вас документы, которые помогут:
Также они проводят розыгрыш с топовыми призами:
Как участвовать:
1. Подпишись на папку: https://t.me/addlist/AYTpZaCWIxA5NWNi
2. Подтверди участие в боте
До встречи 25 сентября — дата объявления победителя!
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥4
📐 Agent Reinforcement Trainer — фреймворк для обучения ИИ-агентов через reinforcement learning
Проект предлагает удобный способ прокачки LLM для решения практических задач. Во время работы ART использует метод GRPO и позволяет обучать агентов работать с MCP-серверами, играть в игры и выполнять другие действия через взаимодействие со средой.
Инструмент минимально требователен к данным — система сама анализирует доступные инструменты и генерирует учебные сценарии. Поддерживается интеграция с популярными языковыми моделями, включая Qwen 2.5.
🤖 GitHub (https://github.com/OpenPipe/ART)
@Python_Community_ru
Проект предлагает удобный способ прокачки LLM для решения практических задач. Во время работы ART использует метод GRPO и позволяет обучать агентов работать с MCP-серверами, играть в игры и выполнять другие действия через взаимодействие со средой.
Инструмент минимально требователен к данным — система сама анализирует доступные инструменты и генерирует учебные сценарии. Поддерживается интеграция с популярными языковыми моделями, включая Qwen 2.5.
🤖 GitHub (https://github.com/OpenPipe/ART)
@Python_Community_ru
👨💻 Omnara — Mission Control для AI-агентов
Что это?
Omnara — это «диспетчерская» для ваших AI-агентов. С её помощью можно управлять и наблюдать за работой агентов в реальном времени: через терминал, веб-интерфейс и мобильное приложение.
Возможности
- Отслеживание всех шагов агента в реальном времени.
- Push-уведомления, когда агент ждёт обратной связи.
- Ответы и контроль прямо с телефона или браузера.
- Единый дашборд для всех агентов.
Почему это удобно
- Не нужно сидеть за ПК, чтобы держать процесс под контролем.
- Всё open-source, можно разворачивать самостоятельно.
- Подходит как для разработчиков-одиночек, так и для команд.
👉 Omnara делает взаимодействие с AI-агентами гибким и удобным: вы всегда в курсе, что они делают, и можете вмешаться в любой момент.
🔗 GitHub (https://github.com/omnara-ai/omnara)
@Python_Community_ru
Что это?
Omnara — это «диспетчерская» для ваших AI-агентов. С её помощью можно управлять и наблюдать за работой агентов в реальном времени: через терминал, веб-интерфейс и мобильное приложение.
Возможности
- Отслеживание всех шагов агента в реальном времени.
- Push-уведомления, когда агент ждёт обратной связи.
- Ответы и контроль прямо с телефона или браузера.
- Единый дашборд для всех агентов.
Почему это удобно
- Не нужно сидеть за ПК, чтобы держать процесс под контролем.
- Всё open-source, можно разворачивать самостоятельно.
- Подходит как для разработчиков-одиночек, так и для команд.
👉 Omnara делает взаимодействие с AI-агентами гибким и удобным: вы всегда в курсе, что они делают, и можете вмешаться в любой момент.
🔗 GitHub (https://github.com/omnara-ai/omnara)
@Python_Community_ru
👍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`, /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
@Python_Community_ru
Что это?
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
@Python_Community_ru
🔥 Thyme: Think Beyond Images
Thyme — это инновационная модель, которая улучшает обработку изображений и сложные задачи рассуждения, используя автономное генерирование и выполнение операций через исполняемый код. Она сочетает в себе методы супервайзинга и обучения с подкреплением, обеспечивая высокую точность выполнения кода.
🚀 Основные моменты:
- Автономная генерация и выполнение операций с изображениями.
- Комбинация супервайзинга и обучения с подкреплением.
- Поддержка высокоразрешающей перцепции и сложного рассуждения.
- Использует алгоритм GRPO-ATS для оптимизации работы.
📌 GitHub: https://github.com/yfzhang114/Thyme
@Python_Community_ru
Thyme — это инновационная модель, которая улучшает обработку изображений и сложные задачи рассуждения, используя автономное генерирование и выполнение операций через исполняемый код. Она сочетает в себе методы супервайзинга и обучения с подкреплением, обеспечивая высокую точность выполнения кода.
🚀 Основные моменты:
- Автономная генерация и выполнение операций с изображениями.
- Комбинация супервайзинга и обучения с подкреплением.
- Поддержка высокоразрешающей перцепции и сложного рассуждения.
- Использует алгоритм GRPO-ATS для оптимизации работы.
📌 GitHub: https://github.com/yfzhang114/Thyme
@Python_Community_ru
🔥1
🔥 Подборка небанальных Python-трюков, которые реально упрощают жизнь разработчику
🌀 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("Что-то пошло не так!")
👉 Отлично для работы с ресурсами: подключение к БД, временные настройки, логирование.
@Python_Community_ru
🌀 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("Что-то пошло не так!")
👉 Отлично для работы с ресурсами: подключение к БД, временные настройки, логирование.
@Python_Community_ru
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
@Python_Community_ru
PyApp написан на Rust и превращает Python-проекты в готовые .exe или бинарники, которые работают без отдельной установки Python.
В отличие от PyInstaller или Nuitka, это не библиотека, а отдельный инструмент:
- для каждого проекта нужна своя сборка;
- зато конфигурация максимально гибкая и можно тонко настроить процесс.
🔗 Репозиторий: https://github.com/ofek/pyapp
@Python_Community_ru
🚀 Энергоэффективный транспайлер Python в Rust
Depyler — это транспайлер, который преобразует код Python в безопасный и производительный Rust, снижая потребление энергии на 75-85%. Он предлагает мощные инструменты для тестирования и верификации, обеспечивая высокое качество кода и поддержку CI/CD.
🚀 Основные моменты:
- Эффективное преобразование Python в Rust
- Поддержка многоуровневого тестирования и верификации
- Интеграция с AI для улучшения качества кода
- Поддержка формата Ruchy для функционального программирования
- Высокие стандарты безопасности и производительности
📌 GitHub: https://github.com/paiml/depyler
@Python_Community_ru
Depyler — это транспайлер, который преобразует код Python в безопасный и производительный Rust, снижая потребление энергии на 75-85%. Он предлагает мощные инструменты для тестирования и верификации, обеспечивая высокое качество кода и поддержку CI/CD.
🚀 Основные моменты:
- Эффективное преобразование Python в Rust
- Поддержка многоуровневого тестирования и верификации
- Интеграция с AI для улучшения качества кода
- Поддержка формата Ruchy для функционального программирования
- Высокие стандарты безопасности и производительности
📌 GitHub: https://github.com/paiml/depyler
@Python_Community_ru
🔥2
📝 PDF-Extract-Kit (https://github.com/opendatalab/PDF-Extract-Kit) — библиотека для извлечения данных из PDF-файлов с поддержкой сложных документов с помощью моделей компьютерного зрения!
🔍 Основные особенности:
🌟 Точное извлечение текста и таблиц из структурированных и неструктурированных PDF, включая многостраничные таблицы и иерархические блоки!
🌟 OCR-интеграция, позволяющая обрабатывать PDF-документы с отсканированными изображениями!
🌟 Гибкий API на Python, что делает его удобным для анализа и интеграции в приложения!
🔐 Лицензия: AGPL-3.0
🖥 Github (https://github.com/opendatalab/PDF-Extract-Kit)
@Python_Community_ru
🔍 Основные особенности:
🌟 Точное извлечение текста и таблиц из структурированных и неструктурированных PDF, включая многостраничные таблицы и иерархические блоки!
🌟 OCR-интеграция, позволяющая обрабатывать PDF-документы с отсканированными изображениями!
🌟 Гибкий API на Python, что делает его удобным для анализа и интеграции в приложения!
🔐 Лицензия: AGPL-3.0
🖥 Github (https://github.com/opendatalab/PDF-Extract-Kit)
@Python_Community_ru
🔥1
🖥 PlutoPrint — быстрое создание PDF и PNG из HTML с помощью Python
PlutoPrint — это лёгкая и удобная библиотека на Python для генерации качественных PDF и изображений напрямую из HTML или XML. Она основана на мощном рендеринг-движке PlutoBook, что делает её идеальной для отчетов, счетов, билетов и визуализаций.
Основные возможности
Поддержка PDF и PNG – можно создавать как статичные изображения, так и печатные документы из
Простота установки и использования — установка через pip install plutoprint; пример для командной строки:
plutoprint input.html output.pdf --size=A4
🟠 Github (https://github.com/plutoprint/plutoprint)
@Python_Community_ru
PlutoPrint — это лёгкая и удобная библиотека на Python для генерации качественных PDF и изображений напрямую из HTML или XML. Она основана на мощном рендеринг-движке PlutoBook, что делает её идеальной для отчетов, счетов, билетов и визуализаций.
Основные возможности
Поддержка PDF и PNG – можно создавать как статичные изображения, так и печатные документы из
Простота установки и использования — установка через pip install plutoprint; пример для командной строки:
plutoprint input.html output.pdf --size=A4
🟠 Github (https://github.com/plutoprint/plutoprint)
@Python_Community_ru
🖥 Что такое псевдослучайность в Python
Когда мы используем модуль random, числа выглядят случайными, но на самом деле они вычисляются по алгоритму. Поэтому такие числа называют псевдослучайными.
Главное:
- Если задать одинаковый seed (зерно), генератор выдаст одинаковую последовательность. Это удобно для тестов и экспериментов — результат можно воспроизвести.
- Алгоритм по умолчанию — Mersenne Twister (https://ru.wikipedia.org/wiki/%D0%92%D0%B8%D1%85%D1%80%D1%8C_%D0%9C%D0%B5%D1%80%D1%81%D0%B5%D0%BD%D0%BD%D0%B0). Он быстрый и подходит для моделирования, но не годится для безопасности.
- Для генерации паролей, токенов и других защищённых данных нужно использовать модуль 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))
@Python_Community_ru
Когда мы используем модуль random, числа выглядят случайными, но на самом деле они вычисляются по алгоритму. Поэтому такие числа называют псевдослучайными.
Главное:
- Если задать одинаковый seed (зерно), генератор выдаст одинаковую последовательность. Это удобно для тестов и экспериментов — результат можно воспроизвести.
- Алгоритм по умолчанию — Mersenne Twister (https://ru.wikipedia.org/wiki/%D0%92%D0%B8%D1%85%D1%80%D1%8C_%D0%9C%D0%B5%D1%80%D1%81%D0%B5%D0%BD%D0%BD%D0%B0). Он быстрый и подходит для моделирования, но не годится для безопасности.
- Для генерации паролей, токенов и других защищённых данных нужно использовать модуль 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))
@Python_Community_ru
Wikipedia
Вихрь Мерсенна
генератор псевдослучайных чисел (ГПСЧ), разработанный в 1997 году японскими учёными Макото Мацумото и Такудзи Нисимура
Отличный курс для тех, кто хочет разобраться в нейронках с нуля от Андрея Карпати (OpenAI/Tesla).
Внутри бесплатная серия лекций на YouTube (и репа на GitHub), где ты с нуля учишься собирать нейронки. Всё максимально hands-on:
Автор не просто рассказывает теорию, а пишет код вместе с тобой — от самых азов до тренировки сетей.
https://github.com/karpathy/nn-zero-to-hero/
@Python_Community_ru
Внутри бесплатная серия лекций на YouTube (и репа на GitHub), где ты с нуля учишься собирать нейронки. Всё максимально hands-on:
Автор не просто рассказывает теорию, а пишет код вместе с тобой — от самых азов до тренировки сетей.
https://github.com/karpathy/nn-zero-to-hero/
@Python_Community_ru
🔥3