About
Sirtuin is a collection of AWS CLI routines that automate common deployment tasks for CloudFront distributions and container services.
Tech Stack
| 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 |
Installation
pip install sirtuin
Or with uv:
uv add sirtuin
Usage
CloudFront Operations
Deploy a CloudFront distribution via a local configuration:
sirtuin cloudfront-deploy .cloudfront -p profile
Invalidate CloudFront cache:
sirtuin cloudfront-invalidate .cloudfront -p profile
Display Content Security Policy headers:
sirtuin cloudfront-headers .cloudfront
Container Operations
Push an updated container to AWS via a stored configuration on S3:
sirtuin container-push s3://bucket/.container -p profile
Deploy a new container to AWS via a stored configuration on S3:
sirtuin container-deploy s3://bucket/.container -p profile
Local Development
Prerequisites
- Python 3.13
- uv package manager
- AWS CLI v2 configured with profiles
Setup
git clone https://github.com/merylldindin/sirtuin
cd sirtuin
make setup
This installs all dependencies and configures pre-commit hooks.
Available Commands
| 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 |
Contributing
See CONTRIBUTING.md for guidelines on:
- Code quality standards
- Naming conventions
- Git workflow and conventional commits
- Pre-commit hooks
License
Apache License 2.0 - see LICENSE for details.
Metadata
Release files for sirtuin 1.3.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| sirtuin-1.3.0.tar.gz | 20.0 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| sirtuin-1.3.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 35.4 kB
Release files / sirtuin-1.3.0.tar.gz
| Download URL | sirtuin-1.3.0.tar.gz |
|---|---|
| Size | 20.0 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
5313b7fb28cb09b1ecae121464d0677d207e59946e284e62b0ebb1ae8d4c8c7c
|
|
BLAKE2b-256 checksum How to use checksums |
0b4b95479bb717b54e1b372fbb429a5f140b0bbac9e943e78a52a7b3b9d375e0
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
uv/0.9.26 {"installer":{"name":"uv","version":"0.9.26","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}
|
Release files / sirtuin-1.3.0-py3-none-any.whl
| Download URL | sirtuin-1.3.0-py3-none-any.whl |
|---|---|
| Size | 15.4 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
ec0dbd5649a75be0adb76303831663bf79569588d96fd66a217a867faac5fe99
|
|
BLAKE2b-256 checksum How to use checksums |
645228e8bdeb7a81152ef4470f0035fa0fd190ee692ddc265fcfc1ac47751f8e
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
uv/0.9.26 {"installer":{"name":"uv","version":"0.9.26","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}
|