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
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
testcontainers-python — удобная библиотека для использования Docker-контейнеров при функциональном и интеграционном тестировании на Python.
from testcontainers.postgres import PostgresContainer
import sqlalchemy
with PostgresContainer("postgres:16") as postgres:
engine = sqlalchemy.create_engine(postgres.get_connection_url())
with engine.begin() as connection:
result = connection.execute(sqlalchemy.text("select version()"))
version, = result.fetchone()
print(version) # PostgreSQL 16...
Этот пример поднимает базу данных Postgres в Docker-контейнере. Метод get_connection_url() возвращает URL, совместимый с SQLAlchemy, чтобы подключиться к базе и получить версию.
#Python #Docker #Testcontainers #Тестирование #PostgreSQL #ИнтеграционныеТесты #DevOps #Backend #Разработка
https://github.com/testcontainers/testcontainers-python
Please open Telegram to view this post
VIEW IN TELEGRAM
GitHub
GitHub - testcontainers/testcontainers-python: Testcontainers is a Python library that providing a friendly API to run Docker container.…
Testcontainers is a Python library that providing a friendly API to run Docker container. It is designed to create runtime environment to use during your automatic tests. - testcontainers/testconta...
👍13 5 5
Full Stack FastAPI Template — это готовый шаблон для создания современного веб-приложения от бэкенда до фронтенда. Всё настроено: бери и пиши бизнес-логику.
#FastAPI #FullStack #WebDev #Python #React #Docker #CI_CD #PostgreSQL #TypeScript #JWT #Vite #OpenSource #DevTemplate #Traefik #ChakraUI
https://github.com/fastapi/full-stack-fastapi-template
Please open Telegram to view this post
VIEW IN TELEGRAM
GitHub
GitHub - fastapi/full-stack-fastapi-template: Full-stack web application template with FastAPI, React, SQLModel, PostgreSQL, Vite…
Full-stack web application template with FastAPI, React, SQLModel, PostgreSQL, Vite, Tailwind CSS, shadcn/ui, FastAPI Cloud, and Docker Compose. - fastapi/full-stack-fastapi-template
1 3👍2🔥2🤔1 1
riffq — это инструмент на Python и Rust, который позволяет делать из ваших данных и кода полноценную базу данных с интерфейсом PostgreSQL.
#Python #Rust #PostgreSQL #DataEngineering #DuckDB #Polars #Pandas #BI #FederatedQuery #riffq
https://github.com/ybrs/riffq
Please open Telegram to view this post
VIEW IN TELEGRAM
GitHub
GitHub - ybrs/riffq: Connect to your data in python with postgresql protocol (pandas, polars, duckdb etc)
Connect to your data in python with postgresql protocol (pandas, polars, duckdb etc) - ybrs/riffq
1 3 3 1
FastAPI + NiceGUI Full-Stack Template — это готовый шаблон для создания полноценных веб-приложений на Python.
Бэкенд на FastAPI + фронтенд на NiceGUI → и всё это пишется только на Python, без HTML, CSS и JavaScript.
#FastAPI #NiceGUI #Python #FullStack #WebDev #Backend #Frontend #SQLModel #PostgreSQL #Docker #JWT #Uvicorn
https://github.com/jaehyeon-kim/nicegui-fastapi-template
Please open Telegram to view this post
VIEW IN TELEGRAM
GitHub
GitHub - jaehyeon-kim/nicegui-fastapi-template: A template for rapidly building full-stack web applications in Python, featuring…
A template for rapidly building full-stack web applications in Python, featuring a FastAPI backend, a NiceGUI frontend, PostgreSQL, and Docker. - jaehyeon-kim/nicegui-fastapi-template
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
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
Oban — мощный фреймворк для оркестрации background jobs в Python на базе PostgreSQL. Надёжный, наблюдаемый, с enterprise‑фичами: async‑нативный, без лишних зависимостей, транзакционный контроль.
from oban import worker, Snooze, Cancel
@worker(queue="exports", max_attempts=5)
class ExportWorker:
async def process(self, job):
if job.cancelled(): return Cancel("cancelled")
report = await generate_report(job.args["report_id"])
if report.status == "pending": return Snooze(seconds=30)
await send_to_user(job.args["email"], report)
# Enqueue
await ExportWorker.enqueue({"report_id": 123, "email": "user@example.com"})
# CLI
oban install --dsn postgresql://localhost/mydb
oban start --dsn postgresql://localhost/mydb --queues exports:10
#Oban #JobQueue #PostgreSQL #AsyncPython #BackgroundJobs #Workflows #Python #OpenSource
https://github.com/oban-bg/oban-py
Please open Telegram to view this post
VIEW IN TELEGRAM
GitHub
GitHub - oban-bg/oban-py: 💎🐍 Robust job orchestration framework for Python, backed by modern PostgreSQL
💎🐍 Robust job orchestration framework for Python, backed by modern PostgreSQL - oban-bg/oban-py
1👍2🔥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-hawkeye — это Django‑надстройка для полнотекстового поиска по BM25 прямо в PostgreSQL 17+ через расширение
pg_textsearch, лёгкая альтернатива Elasticsearch.BM25Searchable и BM25Index, дальше Article.search("django tutorial") как обычный QuerySet.pip install django-hawkeye
# установить pg_textsearch на сервере PostgreSQL 17+
git clone https://github.com/timescale/pg_textsearch.git
cd pg_textsearch
make && make install
from django.db import models
from django_hawkeye import BM25Index, BM25Searchable
class Article(BM25Searchable, models.Model):
title = models.CharField(max_length=255)
content = models.TextField()
class Meta:
indexes = [
BM25Index(fields=["content"], name="article_bm25_idx"),
]
#django #postgresql #fulltextsearch #bm25 #elasticsearch #rag #python
https://github.com/FarhanAliRaza/django-hawkeye
Please open Telegram to view this post
VIEW IN TELEGRAM
GitHub
GitHub - FarhanAliRaza/django-hawkeye: Django BM25 full-text search using PostgreSQL - a lightweight Elasticsearch alternative
Django BM25 full-text search using PostgreSQL - a lightweight Elasticsearch alternative - FarhanAliRaza/django-hawkeye
🔥3👍1 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