PYTHONOMANIA
273 subscribers
195 photos
3 videos
1 file
616 links
Откройте для себя мир Python в PYTHONOMANIA!

Идеально подходит как для начинающих, так и для опытных разработчиков. Присоединяйтесь к нам, чтобы достичь совершенства в Python!

Сайт: https://pythonomania.github.io/
Download Telegram
📱Pyspaceweather.

pyspaceweather — это Python-обёртка для API Австралийского Центра Прогнозирования Космической Погоды BOM.

❗️Этот API предоставляет доступ к почти реальным данным от Австралийского Центра Прогнозирования Космической Погоды BOM.

#Python #API #КосмическаяПогода #Австралия #Метеорология #ПрогнозПогоды #pyspaceweather #Программирование #DataScience

📱Ссылка на репозиторий:
https://github.com/ben-n93/pyspaceweather
Please open Telegram to view this post
VIEW IN TELEGRAM
3👍2🔥2
📱Saa.

Saa
— это Python-пакет, который позволяет легко переводить время в понятные человеческому восприятию выражения.

✅Слово "saa" означает "час|время" на языке суахили, и этот пакет предназначен для "очеловечивания" выражений времени на разных языках. Saa построен с использованием стандартных библиотек Python.

ℹ️Пример использования:
from saa import Clock

clock = Clock("en")

spoken_time = clock("12:35")

print(spoken_time)
# Output: twenty five minutes to one


🧩Особенности:

🔘Преобразование времени в устные выражения на различных языках.

🔘Удобный API с простым и интуитивно понятным дизайном.

🔘Реализация на чистом Python без внешних зависимостей.

🔘Расширяемая архитектура для добавления поддержки дополнительных языков с использованием шаблона плагинов.

🔘Совместимость с Python 3.6 и выше.

#Python #Программирование #Saa #Время #Локализация #Библиотеки #API #Разработка

📱Ссылка на репозиторий:
https://github.com/Proteusiq/saa
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥3⚡1🤔1
📱LightAPI.

LightAPI — это легковесный фреймворк, предназначенный для быстрого создания API на Python с использованием его стандартных библиотек. Он упрощает разработку API, предлагая минимальный интерфейс, сохраняя при этом гибкость и производительность благодаря асинхронному программированию.

❗️LightAPI использует SQLAlchemy для работы с базами данных и моделями, а также aiohttp для обработки асинхронных HTTP-запросов и маршрутизации.

🗯Особенности:

🔘Простота: Определяйте API с минимальным количеством кода.

🔘Гибкость: Используйте ORM SQLAlchemy для создания моделей и быстрого создания CRUD API.

🔘Производительность: aiohttp позволяет эффективно обрабатывать несколько запросов одновременно.

#Python #API #SQLAlchemy #aiohttp #LightAPI #разработка #RESTful

📱Ссылка на репозиторий:
https://github.com/iklobato/LightAPI
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥3👍11
📱Nanodjango.

Nanodjango
— это инструмент, позволяющий создать полноценный Django-проект в одном файле, поддерживающий views, модели, API и асинхронность.

✅Он полезен для прототипирования и быстрого создания небольших приложений с возможностью автоматического расширения в полноценный проект.

#Django #Python #ВебРазработка #API #Асинхронность #Программирование #Nanodjango #OpenSource #Разработка

📱Ссылка на репозиторий:
https://github.com/radiac/nanodjango
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥6👍3
📱Tabled.

Tabled
— это небольшая библиотека для обнаружения и извлечения таблиц.

✅Она использует библиотеку surya, чтобы найти все таблицы в PDF-файле, определить строки/столбцы и преобразовать их содержимое в форматы markdown, csv или html.

🔹Использование.

tabled DATA_PATH


🔘DATA_PATH может быть изображением, PDF или папкой с файлами.

🔘--format указывает формат вывода (markdown, html, csv)

🔘--save_json сохранит доп. информацию о строках/столбцах в формате JSON

🔘--detect_cell_boxes извлекает данные ячеек с помощью модели.

#️⃣Hosted API.

Существует хостинговый API для использования Tabled, который доступен для работы с:

🔘PDF.
🔘Изображениями.
🔘Документами Word.
🔘Презентациями PowerPoint.

💡Преимущества:

✅Постоянная скорость работы без задержек.
✅Высокая надёжность и доступность.

#Python #Tabled #AI #DataProcessing #TableRecognition #OpenSource #PyTorch #API

📱Ссылка на репозиторий:
https://github.com/VikParuchuri/tabled
Please open Telegram to view this post
VIEW IN TELEGRAM
2🔥5👍3
📱Plyer.

Plyer — это кроссплатформенный Python API для доступа к аппаратным возможностям различных платформ (Android, iOS, macOS, Linux и Windows).

🔹Основные особенности:

🔘Разработан и поддерживается Kivy Team.
🔘Может использоваться как в приложениях на Kivy, так и независимо от них.

⚙️Как работает Plyer?

✅Plyer использует подход "не изобретать велосипед" и вызывает внешние библиотеки, чтобы реализовать API на каждой платформе максимально просто:

📱 Android: используется PyJNIus (через python-for-android).
🍎 iOS и macOS: применяется pyobjus (через kivy-ios).
🖥 Windows, macOS и Linux: задействуются популярные библиотеки и программы.

🛠Пример использования:
Хотите отправить уведомление из Python? Легко:
from plyer import notification

notification.notify(
title="Hello World!",
message="Python is a great programming language!",
app_name="Python Notifier",
app_icon=None,
timeout=10,
)


✅Теперь ваше приложение может взаимодействовать с системными функциями в несколько строк кода!

#Python #Plyer #Kivy #КроссплатформенныеПриложения #API #Разработка

📱Ссылка на репозиторий:
https://github.com/kivy/plyer
Please open Telegram to view this post
VIEW IN TELEGRAM
1⚡3👍1
📱Fastapi-guard.

fastapi-guard
— это библиотека для FastAPI, обеспечивающая контроль IP-адресов, логирование запросов и обнаружение попыток взлома. Она легко интегрируется с FastAPI и помогает защитить приложение от различных угроз.

🔹Основные возможности:

🔘Белый и черный списки IP — управление доступом по IP-адресам.

🔘Фильтрация User-Agent — блокировка запросов от определённых user-agent'ов.

🔘Ограничение частоты запросов — защита от DDoS и спама.

🔘Автоматическая блокировка IP — бан при подозрительной активности.

🔘Обнаружение атак — логирование попыток взлома.

🔘Кастомное логирование — запись событий безопасности в отдельный файл.

🔘Настройки CORS — контроль политики безопасности FastAPI.

🔘Блокировка IP облачных провайдеров (AWS, GCP, Azure).

🔘Геолокация IP — определение страны по IP через IPInfo.io.

#FastAPI #Security #Python #Backend #API #CyberSecurity

📱Ссылка на репозиторий:
https://github.com/rennf93/fastapi-guard
Please open Telegram to view this post
VIEW IN TELEGRAM
3👍3
📱FastAPI-MCP.

FastAPI-MCP — это инструмент без настройки, который автоматически превращает эндпоинты FastAPI в MCP (Model Context Protocol) инструменты.

🔹Особенности:

🔘Прямая интеграция — подключите MCP-сервер к FastAPI-приложению.

🔘Ноль конфигурации — просто укажите FastAPI-приложение, и оно заработает.

🔘Автообнаружение эндпоинтов и их преобразование в MCP-инструменты.

🔘Сохранение схем запросов и ответов.

🔘Документация не теряется — всё, как в Swagger.

🔘Расширяемость — добавляйте кастомные MCP-инструменты.

#FastAPI #MCP #Python #API #FastAPI_MCP

📱Ссылка на репозиторий:
https://github.com/tadata-org/fastapi_mcp
Please open Telegram to view this post
VIEW IN TELEGRAM
1👍2👎2🔥2
💡Загрузка файлов в облако с помощью Python.

gofile.io — это бесплатный облачный сервис для обмена файлами без регистрации. Позволяет загружать файлы большого размера, делиться ими через прямые ссылки и обеспечивает безопасность данных благодаря HTTPS-шифрованию.

🔹Пример загрузки текстового файла:
import requests

def store_file(file_path):
with open(file_path, "rb") as f:
data = {
"file": f,
"folderId": None,
}
r = requests.post("https://upload.gofile.io/uploadFile", files=data, timeout=5)
content = r.json()["data"]["downloadPage"]
print(content)

def main():
store_file("test.txt")

if __name__ == "__main__":
main()


🔻Этот код:

🔘Открывает файл test.txt.

🔘Отправляет его на сервер gofile.io.

🔘Получает ссылку на страницу с файлом для дальнейшего скачивания и выводит её в консоль.

✅Можете использовать этот скрипт для автоматической загрузки любых файлов на gofile.io и мгновенного получения ссылок.

#Python #requests #API #Файлообмен #gofileio #Программирование
Please open Telegram to view this post
VIEW IN TELEGRAM
👍2🔥2
📱TurboDRF.

TurboDRF — проект, который позволяет быстро создавать полноценные REST API из моделей Django без шаблонного кода.

🔹Особенности:

🔘Автоматическая генерация сериализаторов и ViewSet’ов.

🔘Поддержка ролевых разрешений.

🔘Настройка фильтров, поиска и пагинации без лишних усилий.

✅Зачем тратить время на рутинные задачи, если TurboDRF сделает всё за вас?

#Django #DRF #Python #API #TurboDRF #Backend #OpenSource #Разработка #WebDev

📱Ссылка на репозиторий:
https://github.com/alexandercollins/turbodrf
Please open Telegram to view this post
VIEW IN TELEGRAM
1👍2⚡11
📱CRUDAdmin.

CRUDAdmin
— мощный генератор админ-панелей для FastAPI с встроенной безопасностью, аутентификацией и трекингом событий.

Построен на базе FastCRUD и HTMX, позволяет быстро создавать готовые к продакшену админ-панели с минимальной настройкой.

🔹Основные возможности:

🔘Мульти-бэкенд сессий: память, Redis, Memcached, БД и гибрид.

🔘Защита: CSRF, ограничение запросов, IP-фильтры, HTTPS, безопасные куки.

🔘Отслеживание событий и аудиторские логи.

🔘Автоматическая генерация UI из моделей SQLAlchemy.

🔘Продвинутые фильтры, поиск, пагинация и массовые операции.

🔘Современный адаптивный интерфейс с поддержкой тёмной и светлой тем.

#FastAPI #CRUDAdmin #Админпанель #Backend #Python #WebDev #API #Redis #Memcached #Безопасность #OpenSource #HTMX #FastCRUD #DevTools #AdminUI #DarkMode

📱Ссылка на репозиторий:
https://github.com/benavlabs/crudadmin
Please open Telegram to view this post
VIEW IN TELEGRAM
1👍4🔥21
📱Curlify.

Curlify — это инструмент для преобразования Python-запросов (requests) в cURL-команды.

🔹Он пригодится, если ты хочешь:

🔘Отлаживать HTTP-запросы в терминале.

🔘Делиться примерами запросов без лишнего кода.

🔘Воспроизводить баги или тестировать API напрямую из консоли.

🔻Пример:
import requests, curlify

r = requests.get("http://google.ru")
print(curlify.to_curl(r.request))
# curl -X 'GET' -H 'Accept: */*' ... 'http://www.google.ru/'


#Python #Curlify #HTTP #cURL #API #DevTools #Debugging #Backend #WebDev #Requests #PythonTips #OpenSource

📱Ссылка на репозиторий:
https://github.com/ofw/curlify
Please open Telegram to view this post
VIEW IN TELEGRAM
13👍1🔥11
📱Fastapi-voyager.

Fastapi-voyager — это инструмент, который строит наглядную диаграмму всех роутов, схем и зависимостей вашего FastAPI-приложения.

Он помогает понять архитектуру, найти проблемы в связях данных, увидеть, какие модели используются эндпоинтами — и всё это в интерактивном веб-интерфейсе.

🔹Основные особенности:

🔘Интерактивная карта API — визуализация всех маршрутов, моделей и их связей.

🔘Просмотр кода прямо из графа — двойной клик открывает исходник или файл в VSCode.

🔘Подсветка модулей — раскраска роутов и моделей по модулям (--module_color).

🔘Фокус-режим — показываются только связанные узлы.

🔘Поддержка Pydantic v2 — узлы и связи строятся на основе схем и зависимостей.

🔘Экспорт в DOT — генерация графа для Graphviz.

🔘Встраивание в FastAPI-проекты (app.mount('/voyager', create_voyager(...))).

🔘Архитектурный анализ — инструмент помогает выявлять неправильные зависимости и отношения между сущностями.

❓Для чего подходит fastapi-voyager:

🔘Архитектурные ревью.

🔘Аудит API.

🔘Отладка и рефакторинг внутренних сервисов.

🔘Учебные и демонстрационные проекты.

🔘Проекты с большим количеством схем и вложенных моделей.

✅Fastapi-voyager превращает FastAPI-приложение в красивую, понятную и интерактивную карту — идеальный инструмент для анализа и проектирования.

#FastAPI #Python #API #Visualization #DeveloperTools #Pydantic #Architecture #Graphviz #OpenSource #Backend

🔹Ссылка на репозиторий:
https://github.com/allmonday/fastapi-voyager
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥3👍1
📱Httptap.

httptap — мощный CLI-инструмент для глубокого анализа HTTP-запросов

Если вы работаете с API, отлавливаете сетевые тормоза или занимаетесь перфоманс-диагностикой — httptap станет вашим новым любимым инструментом.

Он разбирает HTTP-запрос пошагово: DNS, TCP, TLS-рукопожатие, ожидание ответа сервера, передача тела. Каждый этап — с точными таймингами, диаграммами и метриками.

❓Что делает httptap таким крутым:

🔘Показывает детальный таймлайн запроса — прямо как waterfall-диаграмма в DevTools.

🔘Поддерживает все HTTP-методы и любые типы тела запроса.

🔘Умеет автодетектить Content-Type.

🔘Даёт глубокую информацию по TLS: сертификат, срок действия, алгоритмы, версию протокола.

🔘Работает и с IPv4, и с IPv6.

🔘Экспортирует результаты в JSON.

🔘Есть компактный вывод для логов и метрик.

🔘Поддерживает прокси, кастомные CA, отключение SSL-проверки.

🔘Расширяем: можно подключить свой DNS-резолвер, TLS-инспектор или визуализатор.


🔬Кому пригодится?

🔘Бэкенд-разработчикам.

🔘Девопсам и SRE.

🔘Инженерам, работающим с производительностью.

🔘QA, проверяющим стабильность API.

🔘Аналитикам, ищущим сетевые узкие места.

#python #cli #networking #devtools #http #performance #debugging #api #opensource #httptap

📱Ссылка на репозиторий:
https://github.com/ozeranskii/httptap
Please open Telegram to view this post
VIEW IN TELEGRAM
2⚡11
📱Svc-infra.

Svc-infra — это библиотека для FastAPI, которая упаковывает всю типовую backend-инфраструктуру (авторизацию, биллинг, фоновые задачи, вебхуки, кеширование) в готовые к использованию компоненты.

✅Вместо того чтобы каждый раз писать один и тот же код для аутентификации, работы с БД и очередями задач, вы просто импортируете нужные функции и фокусируетесь на бизнес-логике своего FastAPI-приложения.

❓Что внутри:

🔘Авторизация: JWT, сессии, OAuth/OIDC, MFA, API ключи.

🔘 Биллинг: Учет использования, подписки, счета, интеграция Stripe.

🔘БД: PostgreSQL + MongoDB, миграции, inbox/outbox паттерн.

🔘Фоновые задачи: Очереди, планировщик, повторы, DLQ.

🔘Вебхуки: Подписки, HMAC-подпись, автоповторы доставки.

🔘Кеш: Redis/память, декораторы, namespace'ы.

🔘Observability: Prometheus, Grafana дашборды, OTEL.

🔘Хранилище: S3, локальное, in-memory.

🔘Multi-tenancy: Изоляция тенантов.

🔘Rate Limiting: Ограничение по пользователю/эндпоинту.

#Python #FastAPI #Backend #API #WebDev #DevOps #SaaS #Microservices #Infrastructure #OpenSource #Coding #Programming #SoftwareDevelopment #CloudNative #ProductionReady

📱Ссылка на репозиторий:
https://github.com/nfraxlab/svc-infra
Please open Telegram to view this post
VIEW IN TELEGRAM
1👍3🔥1
📱MedKit.

MedKit — это Python SDK, который объединяет три разрозненных медицинских API (OpenFDA, PubMed, ClinicalTrials.gov) в единую платформу с «клиническим интеллектом».

❓Что умеет:

🔘Один клиент: med.search("pembrolizumab") сразу ищет препарат, клинические испытания и публикации в PubMed — автоматическая корреляция данных.

🔘Клинический синтез: med.ask("статус препарата X для NSCLC?") даёт сводку с evidence score (0.0–1.0) и топ‑интервенций, агрегируя данные из всех источников.

🔘Knowledge graph: визуализация связей между препаратами, испытаниями и исследованиями, обнаружение drug‑drug interactions.

🔘Устойчивость (v3.0): circuit breakers, exponential backoff с jitter, rate limiting, автоматический curl‑фоллбэк для обхода блокировок ClinicalTrials.gov.

Установка:

pip install medkit-sdk


#python #medical #healthcare #opendata #api #medkit #bioinformatics

📱Ссылка на репозиторий:
https://github.com/interestng/medkit
Please open Telegram to view this post
VIEW IN TELEGRAM
👍3🔥2⚡1
📱TurboAPI.

TurboAPI — быстрая замена FastAPI: Zig‑сервер ускоряет API в 10–14 раз (140k запросов/с без кэша), меняешь 1 строку импорта — код работает как раньше.

🔹Особенности:

🔘Полная совместимость: роуты, Depends, OAuth2, модели (dhi вместо pydantic).

🔘Zero‑copy ответы, Zig‑валидация JSON до Python (экономия GIL).

🔘HTTP+БД: 70–260k rps vs FastAPI 3–9k.

🔘Кэш ответов/БД, async handlers, Native FFI (C/Zig без Python).

🔻**Старт:*

from turboapi import TurboAPI as FastAPI
app = TurboAPI()
@app.get("/") def hi(): return {"ok": True}
app.run()


#python #FastAPI #API #Zig #TurboAPI

📱Ссылка на репозиторий:
https://github.com/justrach/turboAPI
Please open Telegram to view this post
VIEW IN TELEGRAM
1🔥4👍3⚡1
📱Postman2pytest.

Postman2pytest. — это
инструмент, который позволяет конвертировать JSON-файлы из Postman (коллекции v2.1) в готовые для запуска тесты pytest. И всё это одной командой!

Часто коллекции Postman служат отличной документацией для вашего API. Утилита postman2pytest превращает эту "документацию" в исполняемые регрессионные тесты на Python, которые легко встраиваются в CI/CD. Больше не нужно переписывать тесты вручную — вы избавляетесь от рутины и рассинхрона между доками и кодом.

🔹Главные фичи:

🔘Поддерживает GET, POST, PUT, DELETE, PATCH, HEAD и OPTIONS.

🔘Распознает заголовки (включая отключенные) и JSON-тела запросов (raw JSON body).

🔘Умеет вытаскивать ожидаемый HTTP-статус из скриптов Postman вида pm.response.to.have.status(200).

🔘Разворачивает вложенные папки Postman в плоский список тестов с понятными названиями (например, def test_users_post_create_user()).

🔘Позволяет сгенерировать тесты только для одной конкретной папки из коллекции (--filter-folder).

🔘Переменные вроде {{base_url}} автоматически преобразуются в f-строки и подхватываются через переменные окружения (например, BASE_URL).

🔧Установка:

pip install postman2pytest

🔻Как использовать:
postman2pytest \
--collection data/my_api.postman_collection.json \
--out generated_tests/test_api.py

# Запуск сгенерированных тестов
BASE_URL=https://staging.example.com pytest generated_tests/test_api.py -v


⚠️Ограничения: В текущей версии инструмент не переносит сложные тестовые скрипты (кроме проверки статуса), не поддерживает данные form-data и не читает Pre-request скрипты (например, автоматическое получение токенов OAuth придется завернуть в фикстуру pytest руками). Развитие проекта продолжается, и многие из этих пунктов уже в Roadmap.

#Python #Testing #QA #Postman #Pytest #API #DevTools #Backend #Automation

📱Ссылка на репозиторий:
https://github.com/golikovichev/postman2pytest
Please open Telegram to view this post
VIEW IN TELEGRAM
1⚡2👍2🔥2
📱Vcrpy.

Vcrpy
- это библиотека для Python (порт популярного инструмента VCR из экосистемы Ruby), которая упрощает и многократно ускоряет тестирование кода, завязанного на сетевые HTTP-запросы.

Вместо того чтобы вручную мокать каждый эндпоинт сторонних API, VCR.py использует концепцию «кассет» (cassettes): при первом запуске теста библиотека перехватывает реальные HTTP-запросы и сериализует их вместе с ответами в локальный YAML-файл. При последующих прогонах реальные сетевые вызовы больше не происходят — VCR.py мгновенно воспроизводит сохраненные ответы из файла.

🔹Главные преимущества:

🔘Максимальная скорость тестов: Запросы отдаются моментально из локального файла, убирая задержки на сетевой round-trip и ответ сервера.

🔘Работа в офлайне: Тестовый сьют можно без проблем прогонять в самолете, поезде или на изолированных CI/CD раннерах без доступа во внешнюю сеть.

🔘100% детерминированность: Тесты перестают быть нестабильными (flaky) из-за проблем с интернетом, превышения лимитов API (rate limits) или временного падения сторонних сервисов.

🔘Простое обновление: Если логика удаленного API изменилась, не нужно переписывать моки вручную — достаточно удалить файл кассеты, и библиотека автоматически запишет свежие данные при следующем прогоне.

🔻Пример использования:

С использованием контекстного менеджера:
import urllib.request
import vcr

# Запросы внутри блока запишутся в файл cassettes/example.yaml
with vcr.use_cassette('cassettes/example.yaml'):
response = urllib.request.urlopen('http://httpbin.org/get').read()
assert b'origin' in response


В виде декоратора:

import vcr
import requests

@vcr.use_cassette('cassettes/users.yaml')
def test_users_api():
response = requests.get('https://api.example.com/users')
assert response.status_code == 200
assert len(response.json()) > 0


Совет для Pytest: Для максимально удобной работы в связке с pytest существует официальный плагин pytest-recording, позволяющий использовать маркер
@pytest.mark.vcr и флаги --record-mode .


📦Установка:
pip install vcrpy


✅Проект распространяется под открытой лицензией MIT.

#Python #Testing #QA #Pytest #VCR #VCRpy #Mocking #API #DevTools #OpenSource #Backend

📱Ссылка на репозиторий:
https://github.com/kevin1024/vcrpy
Please open Telegram to view this post
VIEW IN TELEGRAM
4👍2🔥1