- SignalDesk1 hr ago
Original Summary
Hey everyone I built DataMan, a headless backend framework on top of Django and Django REST Framework that eliminates the repetitive 6-file ceremony (Model -> Serializer -> ViewSet -> Router -> FilterSet -> Permissions) for standard REST APIs while retaining full Django ORM power and migration safety. GitHub: https://github.com/vikashgraja/DataMan PyPI: pip install dataman-engine or uv add dataman-engine What it does in 4 commands: pip install dataman-engine dataman init dataman create table Employee -o crud dataman makemigration && dataman migrate dataman server start Key Features: Dynamic REST Endpoints: /api/default/employee/ with multi-column filtering, prefix search, ordering, and fast sliced pagination. Interactive Swagger / OpenAPI 3.0 docs at /api/docs/ . Scoped API Token authentication ( dataman token create "Service" --scopes "employee:read" ). Automatic relational joins ( ?depth=1 ) via select_related and prefetch_related . Multi-database physical routing ( /api/<db>/<table>/ ). Built-in AES-256-GCM encrypted fields with contextual HKDF key derivation. Custom business logic hooks ( service.py ) and pre-commit validation ( validation.py ). Target Audience Backend & Full-Stack Developers : Who need instant CRUD APIs, admin portals, or mobile app backends without writing repetitive DRF boilerplate. Enterprise Middleware Teams : Exposing existing relational databases (PostgreSQL, MySQL, SQLite) as structured, token-secured REST APIs. Data Engineers & AI Builders : Who want a lightweight Python-native headless data layer that integrates directly with Pandas, NumPy, or Celery. Comparison vs. Vanilla Django REST Framework (DRF) : Standard DRF requires a 6-file ceremony per endpoint (Model -> Serializer -> ViewSet -> Router -> FilterSet -> Permissions). DataMan generates all of this dynamically from just the Django model while preserving full ORM capabilities and migration workflows. vs. FastAPI / SQLModel : FastAPI requires manually defining Pydantic schemas, route functions, and pagination logic for each table. DataMan scaffolds the entire CRUD lifecycle, OpenAPI documentation, and token auth in a single CLI command. vs. PostgREST / PocketBase : PostgREST is locked to PostgreSQL and written in Haskell (business logic requires SQL functions/triggers). PocketBase is locked to SQLite and written in Go. DataMan runs natively in Python across PostgreSQL, MySQL, and SQLite with standard Python lifecycle hooks. Feedback & Contributions The project is fully open source. I would love to get your feedback on the architecture, DX, and features. Please take a look at the code, try it out, and let me know your thoughts or suggestions for improvements! GitHub: https://github.com/vikashgraja/DataMan Documentation: https://github.com/vikashgraja/DataMan/blob/main/docs/QUICKSTART.md   submitted by   /u/vikashgraja [link]   [comments]
- 情报分类:技术学习与提效
- 分类依据:内容涉及技术、AI、软件工具或工程实践
- 信息来源:Reddit · SideProject
- 发布时间:2026/9/21 02:03:06
- No replies yet