Sirtuin is a collection of AWS CLI routines that automate common deployment tasks for CloudFront distributions and container services.
| Layer | Technology |
|---|---|
| Language | Python 3.13 |
| Package Manager | uv |
| CLI Framework | Typer |
| Data Validation | Pydantic |
| Linting & Formatting | Ruff |
| Type Checking | ty |
| Testing | Pytest |
| Cloud | AWS CLI |
pip install sirtuinOr with uv:
uv add sirtuinDeploy a CloudFront distribution via a local configuration:
sirtuin cloudfront-deploy .cloudfront -p profileInvalidate CloudFront cache:
sirtuin cloudfront-invalidate .cloudfront -p profileDisplay Content Security Policy headers:
sirtuin cloudfront-headers .cloudfrontPush an updated container to AWS via a stored configuration on S3:
sirtuin container-push s3://bucket/.container -p profileDeploy a new container to AWS via a stored configuration on S3:
sirtuin container-deploy s3://bucket/.container -p profile- Python 3.13
- uv package manager
- AWS CLI v2 configured with profiles
git clone https://github.com/merylldindin/sirtuin
cd sirtuin
make setupThis installs all dependencies and configures pre-commit hooks.
| Command | Description |
|---|---|
make setup |
Install dependencies + hooks |
make setup-hard |
Clean install from scratch |
make format |
Check code formatting |
make format-fix |
Format code with Ruff |
make lint |
Lint code with Ruff |
make lint-fix |
Auto-fix linting issues |
make types |
Type check with ty |
make test |
Run test suite |
make test-coverage |
Run tests with coverage |
See CONTRIBUTING.md for guidelines on:
- Code quality standards
- Naming conventions
- Git workflow and conventional commits
- Pre-commit hooks
Apache License 2.0 - see LICENSE for details.