Show HN: Oxyde – Rust 코어를 갖춘 Pydantic 네이티브 비동기 ORM
요약
Oxyde는 Rust 코어를 기반으로 구축된 고성능 비동기 ORM으로, Pydantic v2를 활용하여 강력한 타입 안전성과 데이터 검증을 제공합니다. Django의 직관적인 API 스타일을 계승하면서도 비동기 환경에 최적화되어 있으며, PostgreSQL, SQLite, MySQL 등 다양한 데이터베이스를 지원합니다.
핵심 포인트
- Rust 코어를 통한 고성능 SQL 생성 및 실행
- Pydantic v2 기반의 완전한 타입 힌트, 검증 및 직렬화 지원
- Django 스타일의 익숙한 API 및 마이그레이션 워크플로우 제공
- asyncio를 활용한 비동기 우선(Async-first) 설계
- 기존 Python ORM 대비 월등한 벤치마크 성능 기록
주의! Oxyde는 활발히 개발 중인 초기 프로젝트입니다. API는 마이너 버전 간에 변경될 수 있습니다. 피드백, 버그 보고 및 아이디어를 언제나 환영합니다. 자유롭게 이슈를 생성(open an issue)해 주세요!
주요 기능 (Features)
- Django 스타일 API — 익숙한
Model.objects.filter()구문 - Pydantic v2 모델 — 완전한 검증 (validation), 타입 힌트 (type hints), 직렬화 (serialization)
- 비동기 우선 (Async-first) —
asyncio를 사용하는 현대적인 비동기 Python을 위해 구축됨 - Rust 성능 — 네이티브 Rust를 통한 SQL 생성 및 실행
- 멀티 데이터베이스 (Multi-database) — PostgreSQL, SQLite, MySQL 지원
- 트랜잭션 (Transactions) — 세이브포인트 (savepoints)를 포함한
transaction.atomic()컨텍스트 매니저 - 마이그레이션 (Migrations) — Django 스타일의
makemigrations및migrateCLI
성능 (Performance)
인기 있는 Python ORM들과의 벤치마크 비교 (평균 초당 작업 수, 높을수록 좋음):
성능 (Performance)
인기 있는 Python ORM들과의 벤치마크 비교 (평균 초당 작업 수, 높을수록 좋음):
| Database | Oxyde | Tortoise | Piccolo | Django | SQLAlchemy | SQLModel | Peewee |
|---|---|---|---|---|---|---|---|
| PostgreSQL | 1,475 | 888 | 932 | 736 | 445 | 431 | 80 |
| ... | |||||||
| Full benchmark report: Documentation |
설치 (Installation)
pip install oxyde
빠른 시작 (Quick Start)
1. 프로젝트 초기화 (Initialize Project)
oxde init
이 명령어는 데이터베이스 설정과 모델 경로가 포함된 oxyde_config.py 파일을 생성합니다.
2. 모델 정의 (Define Models)
# models.py
from oxyde import Model, Field
...
3. 테이블 생성 (Create Tables)
oxde makemigrations
oxde migrate
4. 사용하기 (Use It)
import asyncio
from oxyde import db
from models import User
...
트랜잭션 (Transactions)
from oxyde.db import transaction
async with transaction.atomic():
...
FastAPI 통합 (FastAPI Integration)
from fastapi import FastAPI
from oxyde import db
...
데이터베이스 지원 (Database Support)
| Database | Min Version | Status | Notes |
|---|---|---|---|
| PostgreSQL | 12+ | Full | RETURNING, UPSERT, FOR UPDATE/SHARE, JSON, Arrays |
| ... | |||
| 연결 URL: |
postgresql://user:password@localhost:5432/database
sqlite:///path/to/database.db
sqlite:///:memory:
...
생태계 (Ecosystem)
Oxyde Admin
보일러플레이트 코드 없이 Oxyde ORM을 위한 자동 생성 관리자 패널입니다.
- 자동 CRUD, 검색(search), 필터(filters), 내보내기(export)
- FastAPI, Litestar, Sanic, Quart, Falcon 지원
- 테마 지정(Theming), 인증(authentication), 일괄 작업(bulk operations)
pip install oxyde-admin
문서 (Documentation)
전체 문서는 **https://oxyde.fatalyst.dev/**에서 확인하실 수 있습니다.
- Quick Start — 바로 시작하기
- User Guide — 모델 (Models), 쿼리 (Queries), 관계 (Relations), 트랜잭션 (Transactions)
- Cheatsheet — 모든 메서드에 대한 빠른 참조
Contributing (기여하기)
제안 사항이 있거나 버그를 발견하면, GitHub에 이슈 (Issue)를 오픈하거나 풀 리퀘스트 (Pull Request)를 생성해 주세요.
License (라이선스)
이 프로젝트는 MIT 라이선스 (MIT license) 조건에 따라 라이선스가 부여됩니다.
AI 자동 생성 콘텐츠
본 콘텐츠는 HN Design Systems의 원문을 AI가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.
원문 바로가기