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.

After adding the prek.toml file, run:

prek install
prek install --hook-type post-checkout
prek install --hook-type post-merge
prek install --hook-type post-rewrite

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.5.tar.gz (9.3 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.5-py3-none-win_arm64.whl (3.6 MB view details)

Uploaded Python 3Windows ARM64

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

Uploaded Python 3Windows x86-64

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

Uploaded Python 3Windows x86

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

Uploaded Python 3musllinux: musl 1.2+ x86-64

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

Uploaded Python 3musllinux: musl 1.2+ i686

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

Uploaded Python 3musllinux: musl 1.2+ ARMv7l

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

Uploaded Python 3musllinux: musl 1.2+ ARM64

cottage-0.5.5-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.5-py3-none-manylinux_2_17_s390x.manylinux2014_s390x.whl (4.3 MB view details)

Uploaded Python 3manylinux: glibc 2.17+ s390x

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

Uploaded Python 3manylinux: glibc 2.17+ ppc64le

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

Uploaded Python 3manylinux: glibc 2.17+ i686

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

Uploaded Python 3manylinux: glibc 2.17+ ARMv7l

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

Uploaded Python 3manylinux: glibc 2.17+ ARM64

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

Uploaded Python 3macOS 11.0+ ARM64

cottage-0.5.5-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.5.tar.gz.

File metadata

  • Download URL: cottage-0.5.5.tar.gz
  • Upload date:
  • Size: 9.3 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.11.13 {"installer":{"name":"uv","version":"0.11.13","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.5.tar.gz
Algorithm Hash digest
SHA256 7093730733a1ff77ffd867df1490d1293dc1b3fa0321c98a59ffe895ff052e9a
MD5 2edd5fe162e73d3a57d1adc8e40ab57f
BLAKE2b-256 da8b6e4ac4e5d9820d1964a74e2ba1ba5cf5d630b9c7f51231052df431385e75

See more details on using hashes here.

File details

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

File metadata

  • Download URL: cottage-0.5.5-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.13 {"installer":{"name":"uv","version":"0.11.13","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.5-py3-none-win_arm64.whl
Algorithm Hash digest
SHA256 ece158e5ca77de6d3c4c610c2dee0720f1933fa300eb2202ce0cd1763643ba85
MD5 9439648a479ce151dcbecf4f8293047e
BLAKE2b-256 dcd1a8325a5b78e48bb434e539e72e2690d0bf9630a56ed43e448caba60590a9

See more details on using hashes here.

File details

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

File metadata

  • Download URL: cottage-0.5.5-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.13 {"installer":{"name":"uv","version":"0.11.13","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.5-py3-none-win_amd64.whl
Algorithm Hash digest
SHA256 e003173851fb884d9559b80a53ad9812bd8fd84306cda05ff3e2cb31d1572f82
MD5 c00248b4a3101ebf31ce05c210991eb1
BLAKE2b-256 04fd0f827a164c2e650bf67661ba690492b11005b1364c999f07d86c6f7f5a9c

See more details on using hashes here.

File details

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

File metadata

  • Download URL: cottage-0.5.5-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.13 {"installer":{"name":"uv","version":"0.11.13","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.5-py3-none-win32.whl
Algorithm Hash digest
SHA256 ff941c352c2f6784c19e23c4903fddf2e9c5cf6a14c6a0657543acc323b800fb
MD5 be18faf9beeef149126a7073fa55c62b
BLAKE2b-256 8653e93e5ce0f531a5e13e7b7e00afefad6089b7f6816581a4917a711d10664f

See more details on using hashes here.

File details

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

File metadata

  • Download URL: cottage-0.5.5-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.13 {"installer":{"name":"uv","version":"0.11.13","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.5-py3-none-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 1768922974f133596897a0afeeafb968e0b57995881508652b7a762b428b0bb1
MD5 dabf02568885e2218ec9daf5473df991
BLAKE2b-256 f850c63d31372878c66284a035bb0b472b3bd992dc8cd0e7c16197a9a2dcbc3c

See more details on using hashes here.

File details

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

File metadata

  • Download URL: cottage-0.5.5-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.13 {"installer":{"name":"uv","version":"0.11.13","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.5-py3-none-musllinux_1_2_i686.whl
Algorithm Hash digest
SHA256 79c6c86c7a435dab618b5d3e9ac5032f5cb6d8acd5781e1d0c3c020959492fe7
MD5 3fd08f816068dd5aa1a4c2e09b927160
BLAKE2b-256 d3a4deaeb1a3927e50c4dcf04acad5d9a7912d55d9fa4a783e5b2e3818714d42

See more details on using hashes here.

File details

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

File metadata

  • Download URL: cottage-0.5.5-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.13 {"installer":{"name":"uv","version":"0.11.13","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.5-py3-none-musllinux_1_2_armv7l.whl
Algorithm Hash digest
SHA256 566d6d26f32d50ba0a0f151664e8d3c97d716e38e580f7b3a9f326389db14745
MD5 81a59f54e1a71e0f312e8e29b9334192
BLAKE2b-256 b301430e1ad505feb0146d2b4becc781e80c2a6fddc2c26270c62f48cba26fdb

See more details on using hashes here.

File details

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

File metadata

  • Download URL: cottage-0.5.5-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.13 {"installer":{"name":"uv","version":"0.11.13","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.5-py3-none-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 86388eceba2076c30353e0fbc473ff687e9b393b39e9aedc9af23e82a0e8600a
MD5 8eda7affaf9c40f24915c3807bfae733
BLAKE2b-256 8063463a800d09947814b4ed071bb4581f677441b90ef6596f62e050c929410f

See more details on using hashes here.

File details

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

File metadata

  • Download URL: cottage-0.5.5-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.13 {"installer":{"name":"uv","version":"0.11.13","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.5-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 9d85163309bfaa6a4bc14c176ea7e90c9e3f31d95e22b8010019297559a9489e
MD5 90db85c74193b0b2eaaa7084cab8394c
BLAKE2b-256 8c6afd61c069c4d3ea35812bbc357f29b234b56599c3d0436bca8251d8b8bff0

See more details on using hashes here.

File details

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

File metadata

  • Download URL: cottage-0.5.5-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.13 {"installer":{"name":"uv","version":"0.11.13","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.5-py3-none-manylinux_2_17_s390x.manylinux2014_s390x.whl
Algorithm Hash digest
SHA256 53fef85f1d3e9c7f893f48ce3e54084a88f174a033eb255ac70111089ed074d2
MD5 57359e11e2035217b413b515454ee4af
BLAKE2b-256 b40792bd7ecd034d6343d40785af0dd2f0dec191bb6fdaa29f04b0b302c868da

See more details on using hashes here.

File details

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

File metadata

  • Download URL: cottage-0.5.5-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.13 {"installer":{"name":"uv","version":"0.11.13","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.5-py3-none-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl
Algorithm Hash digest
SHA256 d67765c68d06291e3991f4293a3bbfcae78f37d58b9fa7b43d84fa54f48ca743
MD5 9c52c2746f423772d966ef5afac2febe
BLAKE2b-256 1eb563234de578401c807f7073292f33b87781288f882eda787417856d8a50e9

See more details on using hashes here.

File details

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

File metadata

  • Download URL: cottage-0.5.5-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.13 {"installer":{"name":"uv","version":"0.11.13","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.5-py3-none-manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm Hash digest
SHA256 98feb0f1848841c7648455a88c73b1b2896103c064bfc3d2de93219ba4bb6fce
MD5 02e7b4edf96f23a586793c7a911a2bca
BLAKE2b-256 a12511b72dcee7079bf077859a0690776873566fdff0cf7214921d9380e66106

See more details on using hashes here.

File details

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

File metadata

  • Download URL: cottage-0.5.5-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.13 {"installer":{"name":"uv","version":"0.11.13","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.5-py3-none-manylinux_2_17_armv7l.manylinux2014_armv7l.whl
Algorithm Hash digest
SHA256 01208e83a75d62cd74e14a3685fb9334001bdfc5bea468e666ee5424d550d5c2
MD5 acf221f4313b7727c496e33d3f517754
BLAKE2b-256 a376d5cfa86759ddfced7811b49524fe82345f44e6c11ff71272fa8d9491d880

See more details on using hashes here.

File details

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

File metadata

  • Download URL: cottage-0.5.5-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.13 {"installer":{"name":"uv","version":"0.11.13","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.5-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 f16d7b6ee4471ed0bc9ed4c0602d05ca8eb3bf2c7245dd1b79e6a72fa5dd7a05
MD5 83132bdb0ec6aecd05e0b21084f83055
BLAKE2b-256 69b5606d0b80a298d201afb99a5fe4baa2198c8d5f893b567eb2be04cd5dabf8

See more details on using hashes here.

File details

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

File metadata

  • Download URL: cottage-0.5.5-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.13 {"installer":{"name":"uv","version":"0.11.13","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.5-py3-none-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 45424acd8be47aa3ac17deb3fa3029860963b74769ad6c5426da4daff656ab4a
MD5 92a97313989ab448500634109596978a
BLAKE2b-256 2c02df6bb0c5df019775e1d3da49957a07a1e45b37d0c4433d2f5a1535c57bbf

See more details on using hashes here.

File details

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

File metadata

  • Download URL: cottage-0.5.5-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.13 {"installer":{"name":"uv","version":"0.11.13","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.5-py3-none-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 2e4f3f64a50d9e3848912dad5e41c4a3edb8f234e76c6b9be36e6b2c128f1d72
MD5 70f5986aacc1cd7b2750a496305bb4a9
BLAKE2b-256 25eddea2fa6e9c907604b704e25fe0aa1f99c6cbe3bb4de60983ea33790ce214

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