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 pytest
Build 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 pytest
uv-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