A project template with UV package manager and CI integration.
- UV package manager for dependency management
- Docker support
- Ruff for code formatting and linting
- Pytest for testing
- Logging configuration
- Python 3.13+
- Docker Desktop
- UV package manager
- Clone the repository:
Install project dependencies:
uv sync- Run UV application locally:
uv run uvstarter main:app --port 8000 --reload- Run code formatting and linting:
uv run ruff format .
# or
uv run ruff check --fix- Run typechecking:
uv run pyright- Run tests:
uv run pytestBuild and run the application in Docker:
docker build -t app .
docker run -p 8000:8000 app- Project dependencies and settings are managed in
pyproject.toml - Ruff is configured for code formatting and linting
- Pytest is set up for testing
- Logging configuration is available for different environments
GET /: Returns a "Hello from UV!" message
Tests are located in the tests/ directory. Run the test suite using:
uv run pytestuv-ci-template/
|── main.py # UV application
├── tests/
│ └── tests.py # Test suite
├── Dockerfile # Docker configuration
├── pyproject.toml # Project configuration
├── uv.lock # Libs and dependencies
└── README.md- Fork the repository
- Create your feature branch (
git checkout -b feature/amazing-feature) - Commit your changes (
git commit -m 'Add some amazing feature') - Push to the branch (
git push origin feature/amazing-feature) - Open a Pull Request