feat: modernize development tooling with uv dependency-groups and enhanced CI/CD
Comprehensive update to development tooling and CI/CD pipeline using modern Python packaging practices.
Features Added
- UV Dependency Groups: Migrate to uv's native [dependency-groups] for dev dependencies, replacing optional-dependencies
- Enhanced GitLab CI: Add workflow rules for MR/branch triggers, build stage, improved caching, and standardized job descriptions
- Pre-commit Hooks: Add docker validation hooks (docker-compose config, docker build check) with fail-fast mode
- Docker Improvements: Multi-stage Dockerfile build, healthchecks, standardized environment variables with sensible defaults
Dependencies
- Added
fastapi-cacheandfastapi-paginationfor API performance - Consolidated linting to ruff (replaces black + isort)
Documentation Updated
-
CONTRIBUTING.mdanddocs/INSTALLATION.md: Updated install commands to useuv sync --group dev
Testing
- Verified
uv sync --group devworks locally and in CI - Docker builds successfully with multi-stage setup
- All CI jobs run without errors
Breaking Changes
- Install command changed from
uv pip install -e ".[dev]"touv sync --group dev
Edited by Ranjith Raj