Plain — веб-фреймворк на Python, созданный для продуктовых команд: минимализм, читаемость, гибкость.
#Python #WebFramework #PlainFramework #HTMX #TailwindCSS #MinimalPython #FullStackPython #WebDev #Backend #Frontend #OpenSource #ORM #Middleware #Jinja2 #Pytest #OAuth #ProductivityTools #PythonWebDev
https://github.com/dropseed/plain
Please open Telegram to view this post
VIEW IN TELEGRAM
GitHub
GitHub - dropseed/plain: The Python web framework for building apps.
The Python web framework for building apps. Contribute to dropseed/plain development by creating an account on GitHub.
1👍2🔥2
Onlymaps — лёгкая Python-библиотека (micro-ORM) для работы с базой данных через обычные SQL-запросы.
from onlymaps import connect
from pydantic import BaseModel
class User(BaseModel):
name: str
age: int
with connect("postgresql://user:pass@localhost:5432/mydb") as db:
users: list[User] = db.fetch_many(User, "SELECT name, age FROM users")
#Python #ORM #SQL #Pydantic #PostgreSQL #MySQL #SQLite #AsyncPython #MicroORM #DatabaseTools
https://github.com/manoss96/onlymaps
Please open Telegram to view this post
VIEW IN TELEGRAM
GitHub
GitHub - manoss96/onlymaps: A Python micro-ORM
A Python micro-ORM. Contribute to manoss96/onlymaps development by creating an account on GitHub.
1🔥4👍2
Embar — это новый ORM для Python с сильной типизацией и SQL‑образным синтаксисом, вдохновлённый Drizzle и рассчитанный на Python 3.14 и выше.
Embar ставит целью сделать работу с БД в Python максимально типобезопасной: ваш type checker знает валидные аргументы и точные типы результатов, а LSP подсказывает, как собрать нужный запрос. Запросы пишутся в SQL‑подобном стиле, но при этом вы всегда можете просто использовать сырой SQL, когда нужно.
Сейчас Embar поддерживает три клиента: SQLite 3 через стандартную библиотеку, Postgres через psycopg3 и Postgres через async‑клиент psycopg3 (рекомендуется именно async‑вариант). Для валидации используется Pydantic, а дизайн библиотеки хорошо ложится на привычные сценарии с FastAPI.
Embar активно использует новые template strings (t‑строки), поэтому поддерживает только Python 3.14. Есть CLI для генерации миграций с помощью LLM и ANTHROPIC_API_KEY, но корректный diff миграций пока в разработке.
#python #orm #asyncio #postgres #sqlite #typing #pydantic #python314 #fastapi #drizzleinspired
https://github.com/carderne/embar
Please open Telegram to view this post
VIEW IN TELEGRAM
GitHub
GitHub - carderne/embar: A Python ORM with types
A Python ORM with types. Contribute to carderne/embar development by creating an account on GitHub.
1👍2🔥1
Oxyde ORM — асинхронный type‑safe ORM с Pydantic v2 и быстрым Rust‑ядром, сделанный в духе Django ORM, но с современным API и предсказуемым поведением.
User.objects.filter(...), аннотации полей и Meta‑класс для таблиц.oxyde-core), что даёт высокий ops/sec в бенчмарках против популярных ORM.asyncio, с поддержкой PostgreSQL, SQLite и MySQL, транзакций и nested transaction.atomic().db.lifespan(...) для подключения БД на уровне приложения. pip install oxyde
from oxyde import Model, Field
class User(Model):
id: int | None = Field(default=None, db_pk=True)
name: str
email: str = Field(db_unique=True)
#python #orm #asyncio #pydantic #rust #fastapi #postgresql #sqlite #mysql
https://github.com/mr-fatalyst/oxyde
Please open Telegram to view this post
VIEW IN TELEGRAM
GitHub
GitHub - mr-fatalyst/oxyde: Oxyde ORM is a type-safe, Pydantic-centric asynchronous ORM with a high-performance Rust core designed…
Oxyde ORM is a type-safe, Pydantic-centric asynchronous ORM with a high-performance Rust core designed for clarity, speed, and reliability. - mr-fatalyst/oxyde
⚡2👍2 2
django-tasks-db — это backend для Django Tasks (новая фича Django 6.0+), который хранит задачи в БД через ORM вместо Redis/RQ: простой worker
./manage.py db_worker.INSTALLED_APPS = ["django_tasks_db"]
TASKS = {
"default": {
"BACKEND": "django_tasks_db.DatabaseBackend",
"QUEUES": ["default"]
}
}
manage.py db_worker --reload (DEBUG‑релоад).manage.py prune_db_task_results (удаляет старые задачи).#django #tasks #background #orm #djangotasksdb
https://github.com/RealOrangeOne/django-tasks-db
Please open Telegram to view this post
VIEW IN TELEGRAM
GitHub
GitHub - RealOrangeOne/django-tasks-db: An ORM-based backend for Django Tasks
An ORM-based backend for Django Tasks. Contribute to RealOrangeOne/django-tasks-db development by creating an account on GitHub.
1⚡4👍1
Tortoise ORM - это простая и производительная асинхронная ORM (Object-Relational Mapper) для Python 3.10+, созданная под сильным вдохновением от Django ORM.
Библиотека разработана специально для
asyncio и сочетает привычный, выразительный синтаксис моделей Django с нативной асинхронностью, избавляя от бойлерплейта и необходимости писать «сырые» SQL-запросы в асинхронных микросервисах.async/await) без блокировки event loop.Model, строгая типизация полей (fields), поддержка связей ForeignKeyField / ManyToManyField и удобный QuerySet (filter, annotate, prefetch_related).asyncpg, psycopg)asyncmy, aiomysql)aiosqlite)asyncodbc)tortoise makemigrations, tortoise migrate, tortoise sqlmigrate) для автоматического отслеживания изменений схем и генерации миграций.1. Определение моделей:
from tortoise import fields
from tortoise.models import Model
class Tournament(Model):
id = fields.IntField(primary_key=True)
name = fields.CharField(max_length=50)
class Event(Model):
id = fields.BigIntField(primary_key=True)
name = fields.TextField()
tournament = fields.ForeignKeyField('models.Tournament', related_name='events')
2. Инициализация и работа с данными:
import asyncio
from tortoise import Tortoise
async def main():
# Подключение к БД
await Tortoise.init(
db_url='sqlite://db.sqlite3',
modules={'models': ['__main__']}
)
# Генерация таблиц (для dev-режима)
await Tortoise.generate_schemas()
# Создание записей
tournament = await Tournament.create(name='Cyber Cup 2026')
await Event.create(name='Final Match', tournament=tournament)
# Выборка с подгрузкой связанных связей
events = await Event.filter(tournament=tournament).prefetch_related('tournament')
for event in events:
print(f"Событие: {event.name}, Турнир: {event.tournament.name}")
await Tortoise.close_connections()
asyncio.run(main())
# Базовая версия (SQLite):
pip install tortoise-orm
# С драйвером для PostgreSQL:
pip install "tortoise-orm[asyncpg]"
# С драйвером для MySQL:
pip install "tortoise-orm[asyncmy]"
#Python #TortoiseORM #ORM #AsyncIO #FastAPI #PostgreSQL #MySQL #Database #Backend #DevTools #OpenSource
https://github.com/tortoise/tortoise-orm
Please open Telegram to view this post
VIEW IN TELEGRAM
GitHub
GitHub - tortoise/tortoise-orm: Familiar asyncio ORM for python, built with relations in mind
Familiar asyncio ORM for python, built with relations in mind - tortoise/tortoise-orm