peepDB — это новый open-source инструмент командной строки и библиотека Python, разработанная для разработчиков и администраторов баз данных.
#peepDB #opensource #databasetools #MySQL #PostgreSQL #MariaDB #CLI #Python #инструментразработчика #базыданных
https://github.com/evangelosmeklis/peepdb
Please open Telegram to view this post
VIEW IN TELEGRAM
GitHub
GitHub - evangelosmeklis/peepdb: CLI tool and python library to inspect databases fast.
CLI tool and python library to inspect databases fast. - evangelosmeklis/peepdb
⚡3 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
Jetbase — это лёгкий миграционный инструмент для БД в Python‑проектах: SQL‑файлы с версиями, апгрейды/роллбеки, валидация и блокировка миграций, плюс поддержка Postgres, SQLite, Snowflake и MySQL.
pip install jetbase → jetbase init создаёт каталог jetbase/ c migrations/ и env.py.V<version>__<description>.sql, c блоками -- upgrade и -- rollback, и командами jetbase upgrade, jetbase history, jetbase status.jetbase/env.py.psycopg2 для Postgres или соответствующий Snowflake/MySQL драйвер.Настройка подключения, затем:
jetbase new "create users table" -v 1
# редактируем V1__create_users_table.sql
jetbase upgrade
SQL: в
-- upgrade создаём таблицы, в -- rollback — удаляем, что упрощает откаты. #Jetbase #Python #DatabaseMigrations #PostgreSQL #SQLite #Snowflake #MySQL #SQLAlchemy #DevTools #DataEngineering
https://github.com/jetbase-hq/jetbase
Please open Telegram to view this post
VIEW IN TELEGRAM
GitHub
GitHub - jetbase-hq/jetbase
Contribute to jetbase-hq/jetbase development by creating an account on GitHub.
1👍2🔥1 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
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