Releases: LibreCourseUY/PolyAPI
Release list
PolyAPI 1.0.0
PolyAPI v1.0.0 Release
Introducing PolyAPI
We're thrilled to announce the release of PolyAPI v1.0.0 - a production-ready polyglot microservices gateway built with Python FastAPI.
What is PolyAPI?
PolyAPI is a polyglot microservices architecture that enables you to build APIs using multiple programming languages. Each functionality lives as an independent module that communicates through a standardized JSON contract.
Key Features
Language Agnostic
Write modules in any language that supports HTTP + JSON. The gateway handles the orchestration, so your modules can be written in Go, Python, Rust, Node.js, or any other language.
Type Safety
Pydantic models provide request/response validation at the gateway level. Each module can define its own payload schema for robust input validation.
Standardized Contract
All modules communicate through a consistent JSON envelope format:
- Request:
request_id,module,version,payload - Response:
request_id,module,version,status,data,error
Easy Extensibility
Add new modules by simply updating the gateway configuration. No code changes required to the gateway itself.
Automatic Documentation
OpenAPI/Swagger documentation is auto-generated for all endpoints.
Architecture
Client → Gateway (FastAPI) → Modules
│
├── Validation
├── Routing
└── Schema Processing
Getting Started
Quick Example
# Sort numbers
curl -X POST http://localhost:8000/sort \
-H "Content-Type: application/json" \
-d '{"payload": {"items": [5, 2, 8, 1], "order": "desc"}}'
# Response:
# {
# "request_id": "...",
# "module": "sort",
# "version": "1.0.0",
# "status": "success",
# "data": {
# "sorted": [8, 5, 2, 1],
# "item_type": "number",
# "count": 4
# },
# "error": null
# }Installation
# Clone the repository
git clone https://github.com/LibreCourseUY/PolyAPI.git
cd PolyAPI
# Start with Docker Compose
docker-compose up --buildAdding a New Module
- Create your module in
modules/your_module/ - Define the payload schema in
gateway/schemas/modules/ - Register in
gateway/config.py
See our documentation for detailed guides.
What's Included
- Gateway: FastAPI-based orchestration layer
- Sort Module: Example Go module for sorting strings and numbers
- JSON Contract: Language-agnostic communication protocol
- Error Handling: Standardized error codes and responses
- Comprehensive Documentation: Complete guides for users and contributors
Documentation
Visit our documentation at: https://librecourseuy.github.io/PolyAPI/
What's Next?
This is just the beginning. We plan to:
- Add more example modules
- Implement authentication/authorization
- Add rate limiting
- Support for WebSocket modules
- Kubernetes deployment guides
Contributing
We welcome contributions! Please read our Contributing Guide and sign the CLA.
License
MIT License - see CLA.md for details.
Thank you to all contributors who made this release possible!
Built with FastAPI, Go, and Python.