Releases: ysskrishna/fastapi-sync-async-starter
Releases · ysskrishna/fastapi-sync-async-starter
Release 1.2.0
Added
- Implemented rate limiting functionality using
slowapiandredispackages - Added
REDIS_HOST,REDIS_PORT,REDIS_DBenvironment configuration for redis - Added
rediscontainer in docker compose - Added
rate_limited_syncandrate_limited_asyncto showcase sample usage of ratelimiting - Environment-based Rate limiting configuration with Redis support for production and memory storage for testing
- Added rate limiting examples with different patterns:
- Basic rate limiting (5 requests/minute)
- Shared rate limiting across endpoints
- Burst rate limiting (5/minute; 10/hour)
- Rate limiting for slow endpoints
- Added comprehensive test suite for rate limiting functionality
Changed
- Updated
media/example_coverage_reportandmedia/example_pytest_reportwith latest reports
Release 1.1.0
Added
- Docker support with multi-stage builds for optimized production and test environments
- Docker Compose setup with PostgreSQL database service
- Created init.sql script for initializing databases if not present
- Poetry dependency management with
pyproject.tomlandpoetry.lock - Docker-specific configurations with
.dockerignore - Containerized test environment with separate test stage
Changed
- Updated project structure to support containerized development
- Enhanced development workflow with Docker-based testing
- Separated main and dev packages in pyproject.toml for decoupling test dependencies
Fixed
- Bugfix with event_loop fixture for async tests
Removed
- Removed
requirements.txtfile in favor of Poetry dependency management
Release 1.0.0
Added
- Initial project setup with
FastAPIframework - Dual database access patterns with
psycopg2(sync) and `asyncpg (async) - SQLAlchemy 2.0+ ORM with both sync and async session management
- Comprehensive test suite using
pytestwith async support - Code coverage reporting with
pytest-cov - HTML test reports via
pytest-html - CORS middleware configuration
- Type validation with Pydantic v2
- Project documentation and README
- Structured project layout with src/, tests/, and report/ directories
- Included sample pytest and coverage reports in media/ directory for reference