PSQLPy — это новый Python-драйвер для PostgreSQL, полностью написанный на Rust. Он был вдохновлен Psycopg3 и AsyncPG.
#PSQLPy #PostgreSQL #Python #Rust #Database #HighLoad #FaultTolerance #Programming #Psycopg3 #AsyncPG #DatabaseDriver
https://github.com/qaspen-python/psqlpy
Please open Telegram to view this post
VIEW IN TELEGRAM
GitHub
GitHub - psqlpy-python/psqlpy: Asynchronous Python PostgreSQL driver written in Rust
Asynchronous Python PostgreSQL driver written in Rust - psqlpy-python/psqlpy
JameSQL - это NoSQL база данных на Python, работающая в оперативной памяти. Она поддерживает создание пользовательских алгоритмов ранжирования и обеспечивает сверхбыстрый полнотекстовый поиск по тысячам документов с несколькими полями (менее 1 мс).
from jamesql import JameSQL
index = JameSQL.load()
index.add({"title": "tolerate it", "lyric": "Use my best colors for your portrait"})
# Результаты возвращаются менее чем за 1 мс, независимо от количества документов
results = index.string_query_search("title:'tolerate it' colors")
print(results)
# {'documents': [{'title': 'tolerate it', 'lyric': 'Use my best colors for your portrait' ...}]
#JameSQL #NoSQL #Python #FullTextSearch #Database #InMemoryDatabase
https://github.com/capjamesg/jamesql
Please open Telegram to view this post
VIEW IN TELEGRAM
GitHub
GitHub - capjamesg/jamesql: An in-memory NoSQL database implemented in Python.
An in-memory NoSQL database implemented in Python. - capjamesg/jamesql
1⚡3🔥3👍2
drawDB — бесплатный и интуитивно понятный редактор схем БД и генератор SQL.
#Database #SQL #DBER #drawDB #WebTools #Programming
https://github.com/drawdb-io/drawdb
Please open Telegram to view this post
VIEW IN TELEGRAM
GitHub
GitHub - drawdb-io/drawdb: Free, simple, and intuitive online database diagram editor and SQL generator.
Free, simple, and intuitive online database diagram editor and SQL generator. - drawdb-io/drawdb
1👍3🔥2
aiosqlitepool — пул соединений для SQLite в asyncio-приложениях.
aiosqlitepool — это высокопроизводительный пул соединений для асинхронных SQLite-приложений. Он устраняет издержки на создание/закрытие соединений и ускоряет работу с БД за счёт повторного использования «горячих» соединений.
async with pool.connection() as conn:
await conn.execute("INSERT INTO users VALUES (?)", ("Alice",))
await conn.commit()
#Python #SQLite #AsyncIO #FastAPI #aiosqlite #aiosqlitepool #Backend #Performance #DevTools #WebDev #DataEngineering #Database
https://github.com/slaily/aiosqlitepool
Please open Telegram to view this post
VIEW IN TELEGRAM
Coffy — это лёгкая embedded-база данных на чистом Python.
#Coffy #Python #Database #NoSQL #SQL #GraphDB #SQLite #EmbeddedDB #LocalFirst #DataScience #OpenSource
https://github.com/nsarathy/coffy
Please open Telegram to view this post
VIEW IN TELEGRAM
GitHub
GitHub - nsarathy/Coffy: Open source lightweight embedded database engine for Python that supports NoSQL, SQL, and Graph data models.
Open source lightweight embedded database engine for Python that supports NoSQL, SQL, and Graph data models. - nsarathy/Coffy
👍2🔥2
Dj-lite-tenant - это экспериментальная библиотека для Django, которая выводит изоляцию данных в мультиарендных (multi-tenant) приложениях на абсолютный максимум. Она автоматически создает отдельную базу данных SQLite для каждого пользователя.
Если вы строите легковесный SaaS или пет-проект, где пользователи не должны пересекаться данными ни при каких обстоятельствах, этот инструмент предлагает элегантное решение без развертывания тяжелых серверов БД.
.sqlite3 для указанных в настройках приложений.ForeignKey между БД пользователя и общей базой данных (например, таблицей самого User) работают прозрачно благодаря механизму ATTACH DATABASE в SQLite. Django ORM сама генерирует валидные SQL-запросы.USE_DATABASE_TEMPLATE. Первая чистая БД выполнит миграции, сохранится как шаблон, а для новых пользователей файлы будут просто клонироваться за миллисекунды.with tenant_db(user):.Установка:
uv add dj-lite-tenant
# или pip install dj-lite-tenant
Минимальная настройка в
settings.py:INSTALLED_APPS = [
...
"dj_lite_tenant",
]
MIDDLEWARE = [
...
"django.contrib.auth.middleware.AuthenticationMiddleware",
"dj_lite_tenant.middleware.TenantDatabaseMiddleware", # Строго после Auth
]
DATABASE_ROUTERS = ["dj_lite_tenant.routers.TenantDatabaseRouter"]
DJ_LITE_TENANT = {
"DIR": BASE_DIR / "db/tenants",
"APPS": {"notes"}, # Приложения, данные которых улетят в персональные БД
}
Для применения новых миграций ко всем базам данных пользователей используется специальная команда:
python manage.py migrate_tenant_dbs.#Django #Python #SQLite #MultiTenant #Backend #WebDev #SaaS #Database #OpenSource
https://github.com/adamghill/dj-lite-tenant
Please open Telegram to view this post
VIEW IN TELEGRAM
GitHub
GitHub - adamghill/dj-lite-tenant: Multi-tenant SQLite databases for Django.
Multi-tenant SQLite databases for Django. Contribute to adamghill/dj-lite-tenant development by creating an account on GitHub.
CogDB - это встраиваемая (embedded) персистентная графовая база данных для Python, работающая прямо внутри процесса вашего приложения без необходимости поднимать отдельный сервер.
Вся база хранится локально на диске, не требует сложной инфраструктуры и легко запускается как в обычных бэкенд-скриптах, так и в интерактивных блокнотах Jupyter или Google Colab.
alice → follows → bob), что дает выразительность графа при простоте key-value хранилища.g.v("alice").out("follows").all().g.v().out().show() на лету генерирует интерактивный 2D-граф прямо в браузере или ячейке блокнота.putj), загружать CSV-таблицы и читать RDF-дампы в формате N-Triples.g.serve(port=8080) и опрашивать удаленно из другого микросервиса.from cog.torque import Graph
# Создаем персистентный граф
g = Graph("social")
# Добавляем связи и свойства
g.put("alice", "follows", "bob")
g.put("bob", "follows", "charlie")
g.put("bob", "status", "active")
# Графовые запросы:
# Кто подписан на тех, на кого подписана Алиса?
result = g.v("alice").out("follows").out("follows").all()
print(result)
# -> {'result': [{'id': 'charlie'}]}
# Поиск с фильтрацией по свойствам
active_users = g.v().has("status", "active").all()
pip install cogdb
#Python #CogDB #GraphDatabase #NoSQL #Embeddings #DataScience #Jupyter #OpenSource #DevTools #Database
https://github.com/arun1729/cog
Please open Telegram to view this post
VIEW IN TELEGRAM
GitHub
GitHub - arun1729/cog: Embedded Graph Database for Python. Lives inside your Python process. Quick setup. No server. Runs in notebooks…
Embedded Graph Database for Python. Lives inside your Python process. Quick setup. No server. Runs in notebooks, apps, even your browser. - arun1729/cog
3⚡2🔥2 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