Skip to main content

A modern git based age-encrypted secrets manager for teams.

Project description

The cottage logo

Cottage Verify Crates.io Version PyPI - Version Docker Image Version

Cottage is a GitOps tool for teams to manage age-encrypted secrets in git repositories.

It provides a simple workflow to encrypt/decrypt secrets, manage recipients, and keep secrets out of the repo while still allowing for easy sharing via VCS. Cottage also generates redacted previews of encrypted secrets for better visibility and supports both persistent and temporary decryption workflows, while ensuring secrets are never committed in plaintext.

Intro Demo

  1. Features
  2. Try in Cottage Lab
  3. Installation
  4. Quick Start
  5. GitOps
  6. Git Hooks
  7. Access Control
    1. Rules
    2. Verification
  8. Any Provider as Upstream
  9. Learn More
  10. Troubleshooting
  11. Comparison
    1. Age vs Other Encryption
    2. Cottage vs SOPS
    3. Cottage vs Dotenvx
    4. Cottage vs Agebox
  12. License

Features

  • Exposure-safe: Uses Rust's type system to make sure bugs can never accidentally expose secrets.
  • Team-friendly: Share public keys (recipients) in the repo, keep private keys (identities) local.
  • Access Control: Simple allow/deny rules to control which secrets are encrypted for which recipients.
  • Manages .gitignore: Automatically updates .gitignore to keep unencrypted secrets out of the repo.
  • Previews: Generates timestamped redacted previews of encrypted secrets for better visibility.
  • Rich diffs: Keeps git diff clean & reviewable, while ctg diff shows diff of locally modified secrets with tracked encrypted counterparts.
  • Checksum verification: Prevents tampering by verifying that encrypted secrets and recipient lists match the metadata.
  • Git hooks: Easily set up git hooks to automatically check/encrypt secrets before commit and decrypt them after checkout.
  • Persistent secrets workflow: ctg decrypt/edit/sync keeps decrypted secrets on disk.
  • Temporary secrets workflow: ctg run (shortcut ctgx) decrypts secrets temporarily to run a command, then deletes them regardless of the command's success or failure.
  • Environment injection workflow: ctg env injects decrypted secrets as environment variables to run a command, without writing them to disk at all.
  • Clean up: ctg clean deletes all decrypted secrets from local repo to let you run your AI agents with a tiny bit less worry.
  • Supports jj and non-git directories: ctg init turns any directory into a secret store.
  • Sync with any provider: Lets you configure any provider with an API as the upstream, and start using ctg pull/diff/push like git pull/diff/push.

Try in Cottage Lab

Try cottage lab right in your browser without installing anything.

Installation

# rust cargo-binstall
cargo binstall --locked cottage

# rust cargo
cargo install --locked cottage

# python pip
pip install cottage

# python uv
uv pip install cottage

Also available as docker images:

# Docker
docker run --rm -v $PWD:/app sayanarijit/cottage --version

# Podman
podman run --rm -v $PWD:/app quay.io/sayanarijit/cottage --version

Or download the latest release from GitHub.

Quick Start

Init project:

mkdir project && cd project

git init  # Optional, cottage works better with git but it's not required
ctg init  # Sets up the .cottage directory and necessary files

tree -a
# .
# ├ .cottage/           <- Auto-generated by `ctg init`
# │ ├ identity        <- Your private key, keep it safe. Move it to `~/.config/cottage/identity` to use it globally, or replace it with a soft link to one of your existing private keys.
# │ └ recipients/     <- This is where your team keeps the public keys of all the recipients.
# │     └ sayanarijit <- Your public key. Commit it. To use an existing public key, just copy (don't softlink) that key here.
# ├ .git/...
# ├ .gitattributes      <- Added `*.cott.age binary export-ignore filter=cottage-encrypted -diff` to avoid polluting git diff
# └ .gitignore          <- Added `/.cottage/identity` for obvious reasons

# You can run `ctg clean --all` anytime to clean up everything cottage ever did.

Create or edit a secret.

ctg edit secret.yml --clean    # Opens secret.yml in $EDITOR
ctg encrypt secret.yml --clean # Another way to encrypt secrets
# encrypt secret.yml
#    into secret.yml.cott.age
#    edit secret.yml.cott.toml
#    edit .gitignore
# delete secret.yml

Run a command with temporary decrypted secrets:

cat secret.yml
# cat: secret.yml: No such file or directory

ctg run kubectl apply -f secret.yml          # decrypts secret.yml.cott.age to secret.yml and runs the command
ctg run kubectl apply -f secret.yml.cott.age # also replaces the path argument with the decrypted file path
ctg run kubectl apply -f .                   # decrypts all .cott.age files in . and runs the command
ctg run ./deploy.sh                          # decrypts all .cott.age files in repo and runs the command

cat secret.yml
# cat: secret.yml: No such file or directory

Or use the shortcut:

ctgx ./deploy.sh  # same as ctg run -- ./deploy.sh

Run a command with secrets injected as environment variables, without writing to disk at all:

ctg env -- ./deploy.sh # Export secrets from .env.cott.age (default) without writing them to disk, then run deploy.sh
ctg env -F .env.prod.cott.age -- ./deploy.sh # exports from .env.prod.cott.age instead of .env.cott.age
ctg env -F secrets.json.cott.age -- printenv COTTAGE_SECRET # Also supports non-dotenv files.

GitOps

To share your secrets with team members, just push to the git repo.

git add .
git commit -m "Add secret.yml"
git push origin main

Ask your teammates to add their public keys to .cottage/recipients and push the changes. Then you can pull and re-encrypt the secrets for them.

git pull origin main

ctg sync  # or `ctg decrypt && ctg encrypt`
# encrypt secret.yml
#    into secret.yml.cott.age
#    edit secret.yml.cott.toml

ctg clean  # optional
# delete secret.yml

# review changes, commit and push
git add .
git commit -m "Add new recipient to secrets"
git push origin main

Now your teammates can pull the latest changes and decrypt secrets for themselves.

Git Hooks

You can use prek or pre-commit to set up git hooks to automatically check/encrypt secrets before commit and decrypt them after checkout.

See the example prek configuration here.

Access Control

Rules

In the metadata file, you can annotate which recipients the secret should be encrypted for. This allows you to have different secrets for different environments (e.g. staging vs production) and only encrypt them for the relevant recipients.

# secret.yml.cott.toml
[secret]
allow = ["sayanarijit"]  # Only encrypt for sayanarijit
# secret.yml.cott.toml
[secret]
deny = ["sayanarijit"]  # Encrypt for everyone except sayanarijit
# secret.yml.cott.toml
[secret]
allow = ["env/staging/*"]  # Supports glob patterns, only encrypt for recipients in env/staging
deny = ["env/staging/badservice"]  # Encrypt for everyone in env/staging except badservice

Deny rules take precedence over allow rules.

See metadata specification for more details.

Verification

You can run ctg verify in CI to verify that the encrypted secrets and recipient lists match the metadata rules, to prevent tampering.

# .github/workflows/cottage-verify.yml
name: Cottage Verify
on: [push, pull_request]
permissions:
  contents: read
jobs:
  verify-secrets:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v3
      - name: Verify secrets
        run: docker run --rm -v "${{ github.workspace }}:/app" ghcr.io/sayanarijit/cottage verify

Any Provider as Upstream

With cottage, you can sync secrets with any provider that has an API, not just git.

For that, create a file named cottage.toml in the project root and configure the upstream settings.

See the example cottage.toml here and the secret specific upstream configuration here.

The workflow is similar to git, but instead of git pull and git push, you run ctg pull and ctg push to sync secrets with the configured upstream.

Example:

# Pull latest changes into local encrypted secrets
# Similar to `git pull origin`
ctg pull myvault

# Compare diff with local decrypted secrets
ctg diff

# Sync local decrypted secrets with local encrypted secrets
ctg sync

# Push changes from local encrypted secrets to upstream
# Similar to `git push origin main`
ctg push myvault

See upstream configuration specification for more details.

Learn More

See examples directory for more usage examples.

Troubleshooting

# See debug logs with -v, -vv or -vvv
ctg run -vvv -- ./deploy.sh

Comparison

Age vs Other Encryption

age supports SSH RSA and X25519 keys, allowing team members to use the same SSH keys to encrypt/decrypt secrets that they use to access git repos. It makes it ideal for GitOps optimized workflows.

Cottage vs SOPS

While SOPS and cottage have many overlapping features, cottage has the following advantages:

  • Auto manage .gitignore to ensure unencrypted secrets are never committed to git.
  • Encrypted secrets being pure age encrypted .age files, allows for better interoperability with a wider ecosystem of tools.
  • Cleaner diffs - unlike SOPS, which generates diffs for every value of every secret, even if the actual change is just adding/removing a recipient, cottage only generates one diff per file, explicitly pointing out the change in recipients checksum.

Cottage vs Dotenvx

Cottage borrows the ctg env API from Dotenvx.

  • Supports any file type, not just dotenv files.
  • Manages multiple secrets in a repo.
  • Access control rules to encrypt secrets for specific recipients.
  • Cleaner diffs - see Cottage vs SOPS.

Cottage vs Agebox

Agebox is very similar to cottage in core philosophy but lacks many features.

License

MIT OR Apache-2.0

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

cottage-0.5.0.tar.gz (4.1 MB view details)

Uploaded Source

Built Distributions

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

cottage-0.5.0-py3-none-win_arm64.whl (3.6 MB view details)

Uploaded Python 3Windows ARM64

cottage-0.5.0-py3-none-win_amd64.whl (3.8 MB view details)

Uploaded Python 3Windows x86-64

cottage-0.5.0-py3-none-win32.whl (3.7 MB view details)

Uploaded Python 3Windows x86

cottage-0.5.0-py3-none-musllinux_1_2_x86_64.whl (4.2 MB view details)

Uploaded Python 3musllinux: musl 1.2+ x86-64

cottage-0.5.0-py3-none-musllinux_1_2_i686.whl (4.2 MB view details)

Uploaded Python 3musllinux: musl 1.2+ i686

cottage-0.5.0-py3-none-musllinux_1_2_armv7l.whl (4.0 MB view details)

Uploaded Python 3musllinux: musl 1.2+ ARMv7l

cottage-0.5.0-py3-none-musllinux_1_2_aarch64.whl (3.9 MB view details)

Uploaded Python 3musllinux: musl 1.2+ ARM64

cottage-0.5.0-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (4.1 MB view details)

Uploaded Python 3manylinux: glibc 2.17+ x86-64

cottage-0.5.0-py3-none-manylinux_2_17_s390x.manylinux2014_s390x.whl (4.3 MB view details)

Uploaded Python 3manylinux: glibc 2.17+ s390x

cottage-0.5.0-py3-none-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl (4.3 MB view details)

Uploaded Python 3manylinux: glibc 2.17+ ppc64le

cottage-0.5.0-py3-none-manylinux_2_17_i686.manylinux2014_i686.whl (4.2 MB view details)

Uploaded Python 3manylinux: glibc 2.17+ i686

cottage-0.5.0-py3-none-manylinux_2_17_armv7l.manylinux2014_armv7l.whl (3.9 MB view details)

Uploaded Python 3manylinux: glibc 2.17+ ARMv7l

cottage-0.5.0-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (3.8 MB view details)

Uploaded Python 3manylinux: glibc 2.17+ ARM64

cottage-0.5.0-py3-none-macosx_11_0_arm64.whl (3.6 MB view details)

Uploaded Python 3macOS 11.0+ ARM64

cottage-0.5.0-py3-none-macosx_10_12_x86_64.whl (3.9 MB view details)

Uploaded Python 3macOS 10.12+ x86-64

File details

Details for the file cottage-0.5.0.tar.gz.

File metadata

  • Download URL: cottage-0.5.0.tar.gz
  • Upload date:
  • Size: 4.1 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.11.12 {"installer":{"name":"uv","version":"0.11.12","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 cottage-0.5.0.tar.gz
Algorithm Hash digest
SHA256 aa03544af79bba7bba68e5d9aac48ebb4222e83d4056b6278cd9c47e51ee276e
MD5 8417b904cb8310570ab9871195a5fe3c
BLAKE2b-256 b391f3cb83ca1c46e4eb7970841591f848401deb9a836f222e0c4814001c5e05

See more details on using hashes here.

File details

Details for the file cottage-0.5.0-py3-none-win_arm64.whl.

File metadata

  • Download URL: cottage-0.5.0-py3-none-win_arm64.whl
  • Upload date:
  • Size: 3.6 MB
  • Tags: Python 3, Windows ARM64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.11.12 {"installer":{"name":"uv","version":"0.11.12","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 cottage-0.5.0-py3-none-win_arm64.whl
Algorithm Hash digest
SHA256 78b86fe19a394b25061f87dad5cf6b46a52fe9945570c53b3656b722086c3ee1
MD5 c5d1d1a94d958616a61b4b24255edc76
BLAKE2b-256 215d584c8735b318df4aeb7c53f0f943d162661819b1c43bd90aa1a65eb7bbdc

See more details on using hashes here.

File details

Details for the file cottage-0.5.0-py3-none-win_amd64.whl.

File metadata

  • Download URL: cottage-0.5.0-py3-none-win_amd64.whl
  • Upload date:
  • Size: 3.8 MB
  • Tags: Python 3, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.11.12 {"installer":{"name":"uv","version":"0.11.12","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 cottage-0.5.0-py3-none-win_amd64.whl
Algorithm Hash digest
SHA256 9f8156a232b8131c47b08662efcfd5589c5d74e98514a742daaff7e10c757eaa
MD5 4e77d74292132689fea76236a26c96cd
BLAKE2b-256 d5906a613980b204babbcb25172353860ec08cd606921663e2fa43ac00ebafa6

See more details on using hashes here.

File details

Details for the file cottage-0.5.0-py3-none-win32.whl.

File metadata

  • Download URL: cottage-0.5.0-py3-none-win32.whl
  • Upload date:
  • Size: 3.7 MB
  • Tags: Python 3, Windows x86
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.11.12 {"installer":{"name":"uv","version":"0.11.12","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 cottage-0.5.0-py3-none-win32.whl
Algorithm Hash digest
SHA256 320416a34fb920267a38dd71296c842433525411b26a47444cb5c83371b97b2c
MD5 7deadacd3d5cd1dd193cc95844b5ef0f
BLAKE2b-256 666528e6dd30af72252001a7089e4e391660b19b4f3c22e26d3250b4846258b9

See more details on using hashes here.

File details

Details for the file cottage-0.5.0-py3-none-musllinux_1_2_x86_64.whl.

File metadata

  • Download URL: cottage-0.5.0-py3-none-musllinux_1_2_x86_64.whl
  • Upload date:
  • Size: 4.2 MB
  • Tags: Python 3, musllinux: musl 1.2+ x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.11.12 {"installer":{"name":"uv","version":"0.11.12","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 cottage-0.5.0-py3-none-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 cfb10005af010927c08b3b805cc535f8aa297e59f09d3574cae514fe9159ba6d
MD5 9f1adbaa9b02728a793dbe37c6a8285d
BLAKE2b-256 45b4e88b774b83ea12350e6a8428941301320c0603d4914160fa1440ca397d7f

See more details on using hashes here.

File details

Details for the file cottage-0.5.0-py3-none-musllinux_1_2_i686.whl.

File metadata

  • Download URL: cottage-0.5.0-py3-none-musllinux_1_2_i686.whl
  • Upload date:
  • Size: 4.2 MB
  • Tags: Python 3, musllinux: musl 1.2+ i686
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.11.12 {"installer":{"name":"uv","version":"0.11.12","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 cottage-0.5.0-py3-none-musllinux_1_2_i686.whl
Algorithm Hash digest
SHA256 f221add4ba6d8659383aeadacd82b285bd47a874d8d9f68edf6e13857ae3b07b
MD5 f4a5f3758aacf09536448b8a1d36802b
BLAKE2b-256 470a5fb47415aaa4e83efd0206c7b5f9c3256074a7ea306608c6761fa3fe98c2

See more details on using hashes here.

File details

Details for the file cottage-0.5.0-py3-none-musllinux_1_2_armv7l.whl.

File metadata

  • Download URL: cottage-0.5.0-py3-none-musllinux_1_2_armv7l.whl
  • Upload date:
  • Size: 4.0 MB
  • Tags: Python 3, musllinux: musl 1.2+ ARMv7l
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.11.12 {"installer":{"name":"uv","version":"0.11.12","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 cottage-0.5.0-py3-none-musllinux_1_2_armv7l.whl
Algorithm Hash digest
SHA256 292b2017ae48d24ebb0d497c68b6467f222c345025d466da2e399c026b9bf799
MD5 61df223ebc35b3a0783da78a50fe65a7
BLAKE2b-256 db7dd0a7ca9c10f92bc5278716841318d570bbc9622a3f531244aaa3038631e3

See more details on using hashes here.

File details

Details for the file cottage-0.5.0-py3-none-musllinux_1_2_aarch64.whl.

File metadata

  • Download URL: cottage-0.5.0-py3-none-musllinux_1_2_aarch64.whl
  • Upload date:
  • Size: 3.9 MB
  • Tags: Python 3, musllinux: musl 1.2+ ARM64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.11.12 {"installer":{"name":"uv","version":"0.11.12","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 cottage-0.5.0-py3-none-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 53b01ded7e8872d56d5c2bd8b1b1271933063ce8de5af81567b8d57a2bc8ee6c
MD5 bc0441370c191e61598dba75834565bd
BLAKE2b-256 a1f2a7064aba972df2e2b72525433c9eef838deafd57e6d0eb516246b11b47c8

See more details on using hashes here.

File details

Details for the file cottage-0.5.0-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

  • Download URL: cottage-0.5.0-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
  • Upload date:
  • Size: 4.1 MB
  • Tags: Python 3, manylinux: glibc 2.17+ x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.11.12 {"installer":{"name":"uv","version":"0.11.12","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 cottage-0.5.0-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 fff08acb6525aa20a71f53bd429b15e0f87f6d224ed46910e0753eab23ac1bf3
MD5 c35667aa8b129c48c95cea243ed7422f
BLAKE2b-256 1ff22538e81315c19201e764b4d32a5ffbfa560c6be1cf9be3a061c51cd2c23f

See more details on using hashes here.

File details

Details for the file cottage-0.5.0-py3-none-manylinux_2_17_s390x.manylinux2014_s390x.whl.

File metadata

  • Download URL: cottage-0.5.0-py3-none-manylinux_2_17_s390x.manylinux2014_s390x.whl
  • Upload date:
  • Size: 4.3 MB
  • Tags: Python 3, manylinux: glibc 2.17+ s390x
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.11.12 {"installer":{"name":"uv","version":"0.11.12","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 cottage-0.5.0-py3-none-manylinux_2_17_s390x.manylinux2014_s390x.whl
Algorithm Hash digest
SHA256 a4d29e67fffe83581e429292ee19526b8640059303fdcff9ccaa18a3e18aa153
MD5 faba832b9ac41d8bb6aa8a9d25ca3f70
BLAKE2b-256 10380741fd0397bdffa3ed1cfebd93e6d546db884e9ffd2a3a8752638c8c04fa

See more details on using hashes here.

File details

Details for the file cottage-0.5.0-py3-none-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl.

File metadata

  • Download URL: cottage-0.5.0-py3-none-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl
  • Upload date:
  • Size: 4.3 MB
  • Tags: Python 3, manylinux: glibc 2.17+ ppc64le
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.11.12 {"installer":{"name":"uv","version":"0.11.12","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 cottage-0.5.0-py3-none-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl
Algorithm Hash digest
SHA256 728d8b14be1929d48e8aa4594b2d2314fbb275eabcf25e458f78ee95a60cbe35
MD5 bac7811c089a4c006f5fc8475228983c
BLAKE2b-256 05a7b022cdb0a62ca120ace7f2b37d60da8971dc543b6c142b99dacd21919920

See more details on using hashes here.

File details

Details for the file cottage-0.5.0-py3-none-manylinux_2_17_i686.manylinux2014_i686.whl.

File metadata

  • Download URL: cottage-0.5.0-py3-none-manylinux_2_17_i686.manylinux2014_i686.whl
  • Upload date:
  • Size: 4.2 MB
  • Tags: Python 3, manylinux: glibc 2.17+ i686
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.11.12 {"installer":{"name":"uv","version":"0.11.12","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 cottage-0.5.0-py3-none-manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm Hash digest
SHA256 35682736a44c6dbe44bc71167a5e7f4d78a19f15226264685d4f228b91c86976
MD5 1a708e90ca1f7c44fbf5f5b050193b7a
BLAKE2b-256 0f223b4f97c1c499d02f63218bbcef623c5cb1a4b57981896d3745b947222f4a

See more details on using hashes here.

File details

Details for the file cottage-0.5.0-py3-none-manylinux_2_17_armv7l.manylinux2014_armv7l.whl.

File metadata

  • Download URL: cottage-0.5.0-py3-none-manylinux_2_17_armv7l.manylinux2014_armv7l.whl
  • Upload date:
  • Size: 3.9 MB
  • Tags: Python 3, manylinux: glibc 2.17+ ARMv7l
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.11.12 {"installer":{"name":"uv","version":"0.11.12","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 cottage-0.5.0-py3-none-manylinux_2_17_armv7l.manylinux2014_armv7l.whl
Algorithm Hash digest
SHA256 f220012c47d677b2804125e3df98965ffde94a1511d127cf9a8e93ae13c592c5
MD5 e7dc037b12ebd1a7bc572c94590812f6
BLAKE2b-256 bf8a7af3cc2633f5c682f1f0d725f345029bef587ef974a4be6e7d7a98f95f9c

See more details on using hashes here.

File details

Details for the file cottage-0.5.0-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

  • Download URL: cottage-0.5.0-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
  • Upload date:
  • Size: 3.8 MB
  • Tags: Python 3, manylinux: glibc 2.17+ ARM64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.11.12 {"installer":{"name":"uv","version":"0.11.12","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 cottage-0.5.0-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 8c6252f97ff1e3f15b85563b84a56f7c4f39ac4ba73073a49e064f9787fb03e0
MD5 889961ab3965d800ad07f83f5ebe619b
BLAKE2b-256 2fa8839c6dfb1c1251cf9f0edce02bf967569422c6f03a1fe6e5a0beffbab633

See more details on using hashes here.

File details

Details for the file cottage-0.5.0-py3-none-macosx_11_0_arm64.whl.

File metadata

  • Download URL: cottage-0.5.0-py3-none-macosx_11_0_arm64.whl
  • Upload date:
  • Size: 3.6 MB
  • Tags: Python 3, macOS 11.0+ ARM64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.11.12 {"installer":{"name":"uv","version":"0.11.12","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 cottage-0.5.0-py3-none-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 53626a076732cea4d103f45ec2c087895bfd65f5ff8efae0f23c131324cb9e2c
MD5 291d15a616bff73ae2edfbdbfc53b54b
BLAKE2b-256 f2c7ded05f7b7d2945d0d69890730abd7d03d78f874199f6c0e3d895e042a893

See more details on using hashes here.

File details

Details for the file cottage-0.5.0-py3-none-macosx_10_12_x86_64.whl.

File metadata

  • Download URL: cottage-0.5.0-py3-none-macosx_10_12_x86_64.whl
  • Upload date:
  • Size: 3.9 MB
  • Tags: Python 3, macOS 10.12+ x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.11.12 {"installer":{"name":"uv","version":"0.11.12","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 cottage-0.5.0-py3-none-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 fa8a009a95162b60920635be37fdd60c715b0899f58f76208a0760aac82f4c85
MD5 1ed4b7063bad03c9898081bbd5a834a0
BLAKE2b-256 efe0e0577e32b183bd60b5003ce0908fbbd830df96d0dc20f2450da9bbf3fd62

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