Spaces:
No application file
No application file
A newer version of the Gradio SDK is available: 6.20.0
GitHub Actions & CI/CD Document Generation API
Generate PDFs, contracts, reports, and forms from templates with dynamic GitHub Actions & CI/CD data. Embed document generation in any app.
Features
- Full REST API
Quick Start
# 1. Install dependencies
pip install -r requirements.txt
# 2. Configure environment
cp .env.example .env
# Edit .env with your settings
# 3. Run locally
uvicorn main:app --reload --port 8000
# 4. View interactive docs
open http://localhost:8000/docs
Docker Deployment
# Build and run
docker compose up -d
# Check health
curl http://localhost:8000/health
Authentication
Get a token first:
curl -X POST "http://localhost:8000/auth/token?username=admin&password=admin123"
Use the token in subsequent requests:
curl -H "Authorization: Bearer YOUR_TOKEN" http://localhost:8000/items
API Endpoints
| Method | Path | Description |
|---|---|---|
| GET | /health |
System health |
| POST | /auth/token |
Get JWT token |
| GET | /items |
List all items |
| POST | /items |
Create item |
| GET | /items/{id} |
Get item |
| PATCH | /items/{id} |
Update item |
| DELETE | /items/{id} |
Delete item |
| GET | /stats |
API statistics |
Full interactive docs: http://localhost:8000/docs
Rate Limits
| Endpoint | Limit |
|---|---|
/auth/token |
10/minute |
GET /items |
60/minute |
POST /items |
30/minute |
DELETE /items |
20/minute |
Running Tests
pip install pytest httpx
pytest tests/ -v
Production Notes
- Change
SECRET_KEYin.envbefore deploying - Replace in-memory
_dbwith a real database - Add proper user management to
auth.py - Configure
ALLOWED_ORIGINSfor CORS - Use Nginx/Traefik as reverse proxy
License
MIT