Skip to main content

AWS routines for Python projects

Project description

sirtuin

AWS CLI Routines

Report Bug

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 Format code with Ruff
make format-check Check formatting (CI)
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.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

sirtuin-1.2.0.tar.gz (19.9 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

sirtuin-1.2.0-py3-none-any.whl (15.5 kB view details)

Uploaded Python 3

File details

Details for the file sirtuin-1.2.0.tar.gz.

File metadata

  • Download URL: sirtuin-1.2.0.tar.gz
  • Upload date:
  • Size: 19.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.9.18 {"installer":{"name":"uv","version":"0.9.18","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}

File hashes

Hashes for sirtuin-1.2.0.tar.gz
Algorithm Hash digest
SHA256 b06087dd43935a348babde11a510106bb5d1290852d060eba91684ab8b520115
MD5 c7e7c7f4586950bfe2ca6d1837a4b1de
BLAKE2b-256 b9bccb960b362d28b40f5f22a158b121771879b8c6b85b7616254a401e81f40b

See more details on using hashes here.

File details

Details for the file sirtuin-1.2.0-py3-none-any.whl.

File metadata

  • Download URL: sirtuin-1.2.0-py3-none-any.whl
  • Upload date:
  • Size: 15.5 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.9.18 {"installer":{"name":"uv","version":"0.9.18","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}

File hashes

Hashes for sirtuin-1.2.0-py3-none-any.whl
Algorithm Hash digest
SHA256 32e0ad6cc0403d87477b4a38e95b87d79e3385b0fd7f9afdecd7b9012aae2e90
MD5 a6bcd5ca2c7809921717100addaad75d
BLAKE2b-256 485f7ade70d53eac63a0528bd39047d08fd3ebe5525dadddb1c47bd21c1f90cd

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page