Released — Schema Support, Cleaner Internals & What’s Next
Source: Dev.to
RunAPI just got a solid upgrade.
The latest version introduces schema support, improves internal architecture, and sets the foundation for better testing and database extensibility — while keeping RunAPI lightweight and developer‑friendly.
If you’re building APIs with Python and like file‑based routing + FastAPI under the hood, this release is for you.
✨ What’s New in This Release
✅ Schema Support (Big One)
RunAPI now supports schemas, making it easier to:
- Define request and response models
- Validate inputs consistently
- Keep APIs structured as they grow
This brings RunAPI closer to real‑world production needs while still keeping things simple.
🧹 Code Quality Improvements
A number of internal improvements were merged to clean things up:
- Python 3.12 compatibility fixes (
datetime.utcnow()→datetime.now(timezone.utc)) - Safer handling of non‑Pydantic models
- Removed deprecated Pydantic v1 patterns
- Better module loading safety checks
- Cleaner route name generation
These changes don’t affect public APIs but make RunAPI more robust and future‑proof.
🗄️ Storage: In‑Memory + SQLAlchemy (Optional)
RunAPI currently supports two storage backends:
- InMemory storage (default, zero dependencies)
- SQLAlchemy storage (used only if SQLAlchemy is installed)
If SQLAlchemy isn’t present, RunAPI gracefully falls back to in‑memory storage — no crashes, no surprises.
This keeps RunAPI:
- lightweight by default
- flexible for more serious use cases
🧠 What We’re Improving Next
With schema support in place, the next focus areas are:
🔍 Better Test Coverage
- More tests around schemas
- Edge‑case tests for routing and auth
- Stronger confidence as features grow
🧩 Clear Storage Abstraction
Although InMemory and SQLAlchemy backends already exist, we want:
- a clear shared interface
- cleaner backend selection
- easier future extensions (Redis, etc.)
📚 Better Documentation & Examples
- Schema usage guides
- Storage behavior explained clearly
- Real‑world CRUD examples
🤝 Want to Contribute?
RunAPI is still evolving and contributions are very welcome.
Good areas to start:
-
Tests 🧪
-
Docs 📖
-
Storage abstraction 🗄️
-
Examples & templates 🧱
-
GitHub repo:
-
Issues:
🏁 Final Thoughts
This release is less about flashy features and more about laying a solid foundation.
- Schemas unlock safer APIs.
- Cleaner internals unlock faster development.
The roadmap keeps RunAPI flexible without bloating it. If you try it out, feedback is more than welcome 🙌
Happy building! 🚀