syn54x/ferro-orm
syn54x/ferro-orm has 35 GitHub stars and 0 forks. Star changes are not measured yet. Last checked 2026-11-14 03:44 UTC. Last push 2026-11-13.
측정된 스타 증가
- in 24h
- 기록 수집 중
- in 7 days
- 기록 수집 중
- in 15 days
- 기록 수집 중
- in 1 month
- 기록 수집 중
서로 겹치는 기간의 순증가량이며 일별 합계가 아닙니다. 측정값이 없으면 비워 둡니다. 스타는 관심도를 나타내며 품질을 보장하지 않습니다.
소개
Built with ❤️ for speed & developer ergonomics
데이터README.md
OriginalFerro: The Pydantic x Rust ORM
Ferro is an async ORM for Python: you declare Pydantic models, and a Rust engine builds the SQL, runs it and turns rows into model instances. Its runtime dependencies are Pydantic and pydantic-settings.
Here is a model, a query and the result:
import asyncio
from ferro import Field, Model, connect, engines
class User(Model):
id: int | None = Field(default=None, primary_key=True)
username: str
is_active: bool = True
async def main():
await connect("sqlite::memory:", auto_migrate=True)
async with engines.session():
await User.create(username="alice")
await User.create(username="bob", is_active=False)
active_users = await User.where(lambda user: user.is_active == True).all()
print(f"Found {len(active_users)} active users.")
asyncio.run(main())
Running it prints:
Found 1 active users.
Every ORM call runs inside async with engines.session():, which routes it to the connection you opened. auto_migrate=True creates the table on connect; it suits development and tests.
What Ferro does
- The Rust engine generates the SQL and parses rows outside the GIL, then fills each model's fields directly, without calling
__init__. - Everything is async, on
pyo3-async-runtimesand SQLx. - Models are Pydantic v2 models, so validation and IDE support work as they do for any Pydantic class.
- Within a session, one database row is one Python object (the identity map).
- It supports SQLite and PostgreSQL. Both are compiled into the engine, so no driver packages are needed.
Installation
Ferro ships pre-compiled wheels for macOS, Linux and Windows:
pip install ferro-orm
# With the migrations CLI (ferro migrate)
pip install "ferro-orm[cli]"
# With the Alembic bridge
pip install "ferro-orm[alembic]"
Schema changes
Auto-migrate keeps a development database current. For production, ferro migrate new writes reviewed migration files and ferro migrate up applies them; see Schema management. To use more than one database, register named connections with connect(..., name="..."); see Connections.
관련 프로젝트 살펴보기
Asabeneh/30-Days-Of-Python
30 Days of Python 프로그래밍 챌린지는 Python 프로그래밍 언어를 30일 동안 배우기 위한 단계별 가이드입니다. 이 챌린지는 100일 이상 걸릴 수 있습니다. 자신의 속도에 맞춰 진행하세요. 다음 동영상도 도움이 될 수 있습니다: https://www.youtube.com/channel/UC7PNRuno1rzYPb1xLa4yktw
78,715 스타grafana/grafana
개방적이고 조합 가능한 옵저버빌리티 및 데이터 시각화 플랫폼입니다. Prometheus, Loki, Elasticsearch, InfluxDB, Postgres 등 여러 소스의 메트릭, 로그, 트레이스를 시각화합니다.
77,894 스타redis/redis
실시간 데이터 기반 애플리케이션을 구축하는 개발자에게 Redis는 가장 선호되고, 가장 빠르며, 기능이 가장 풍부한 캐시, 데이터 구조 서버이자 문서 및 벡터 쿼리 엔진입니다.
77,491 스타apache/superset
Apache Superset는 데이터 시각화 및 데이터 탐색 플랫폼입니다.
75,522 스타