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

Table of contents

  1. Features
  2. Installation
  3. Quick Start
  4. GitOps
  5. Git Hooks
  6. Access Control
    1. Rules
    2. Verification
  7. Learn More
  8. Alternatives
  9. Troubleshooting
  10. 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.
  • 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.

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 cleanup 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

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.

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

Learn More

See examples directory for more usage examples.

Alternatives

  • agebox: Very similar in core philosophy but lacking many features.
  • git-crypt: Uses PGP (requires an agent), complex, 100% tied to Git.
  • SOPS: Lots of features and very complex for simple use cases.

Troubleshooting

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

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.4.2.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.4.2-py3-none-win_arm64.whl (3.4 MB view details)

Uploaded Python 3Windows ARM64

cottage-0.4.2-py3-none-win_amd64.whl (3.7 MB view details)

Uploaded Python 3Windows x86-64

cottage-0.4.2-py3-none-win32.whl (3.6 MB view details)

Uploaded Python 3Windows x86

cottage-0.4.2-py3-none-musllinux_1_2_x86_64.whl (4.1 MB view details)

Uploaded Python 3musllinux: musl 1.2+ x86-64

cottage-0.4.2-py3-none-musllinux_1_2_i686.whl (4.0 MB view details)

Uploaded Python 3musllinux: musl 1.2+ i686

cottage-0.4.2-py3-none-musllinux_1_2_armv7l.whl (3.8 MB view details)

Uploaded Python 3musllinux: musl 1.2+ ARMv7l

cottage-0.4.2-py3-none-musllinux_1_2_aarch64.whl (3.7 MB view details)

Uploaded Python 3musllinux: musl 1.2+ ARM64

cottage-0.4.2-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (4.0 MB view details)

Uploaded Python 3manylinux: glibc 2.17+ x86-64

cottage-0.4.2-py3-none-manylinux_2_17_s390x.manylinux2014_s390x.whl (4.1 MB view details)

Uploaded Python 3manylinux: glibc 2.17+ s390x

cottage-0.4.2-py3-none-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl (4.2 MB view details)

Uploaded Python 3manylinux: glibc 2.17+ ppc64le

cottage-0.4.2-py3-none-manylinux_2_17_i686.manylinux2014_i686.whl (4.1 MB view details)

Uploaded Python 3manylinux: glibc 2.17+ i686

cottage-0.4.2-py3-none-manylinux_2_17_armv7l.manylinux2014_armv7l.whl (3.8 MB view details)

Uploaded Python 3manylinux: glibc 2.17+ ARMv7l

cottage-0.4.2-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (3.7 MB view details)

Uploaded Python 3manylinux: glibc 2.17+ ARM64

cottage-0.4.2-py3-none-macosx_11_0_arm64.whl (3.4 MB view details)

Uploaded Python 3macOS 11.0+ ARM64

cottage-0.4.2-py3-none-macosx_10_12_x86_64.whl (3.8 MB view details)

Uploaded Python 3macOS 10.12+ x86-64

File details

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

File metadata

  • Download URL: cottage-0.4.2.tar.gz
  • Upload date:
  • Size: 4.1 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.11.10 {"installer":{"name":"uv","version":"0.11.10","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.4.2.tar.gz
Algorithm Hash digest
SHA256 0e5f3c905c265f5ebca129e01fd93b995594ea68aeb7549f86bf73f6f763e6d1
MD5 b5ef2317cb6aa5205716f16a7f1ac062
BLAKE2b-256 ba3f0869f3b036686b32519e79450fe74b7def18b6c89967bd2649563224ddc3

See more details on using hashes here.

File details

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

File metadata

  • Download URL: cottage-0.4.2-py3-none-win_arm64.whl
  • Upload date:
  • Size: 3.4 MB
  • Tags: Python 3, Windows ARM64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.11.10 {"installer":{"name":"uv","version":"0.11.10","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.4.2-py3-none-win_arm64.whl
Algorithm Hash digest
SHA256 d2fc2a7ad694159e23b72939d2279e7af0ced3c7458613dd66cc0384c9d447b4
MD5 368fe63dd3796d92b5aaf761ebe924dd
BLAKE2b-256 22ce2d18d3c8aabb594337ba3d19994644b2b961bb56652174738f5006ffcbf9

See more details on using hashes here.

File details

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

File metadata

  • Download URL: cottage-0.4.2-py3-none-win_amd64.whl
  • Upload date:
  • Size: 3.7 MB
  • Tags: Python 3, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.11.10 {"installer":{"name":"uv","version":"0.11.10","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.4.2-py3-none-win_amd64.whl
Algorithm Hash digest
SHA256 bf8105295ba135bf27568f9ab4ad3ec6915906269633b6333abcfd65ecbcf0ab
MD5 f11866909bb5093ee34e33602d6c29d9
BLAKE2b-256 ae37f040144b190312b930f369315d0bc91acfae4f1a4fd66ed55cac02f37ce5

See more details on using hashes here.

File details

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

File metadata

  • Download URL: cottage-0.4.2-py3-none-win32.whl
  • Upload date:
  • Size: 3.6 MB
  • Tags: Python 3, Windows x86
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.11.10 {"installer":{"name":"uv","version":"0.11.10","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.4.2-py3-none-win32.whl
Algorithm Hash digest
SHA256 6d74d9be6d9d9103d754a5cd8ecc41a733f4219252783d851b61976afc1f187d
MD5 7cebaca6baa1e41a540e0734602dfd06
BLAKE2b-256 9076a91c30d8a0a5857d4905c0020474abdf4f63ae11ac91a10aed1023177ab9

See more details on using hashes here.

File details

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

File metadata

  • Download URL: cottage-0.4.2-py3-none-musllinux_1_2_x86_64.whl
  • Upload date:
  • Size: 4.1 MB
  • Tags: Python 3, musllinux: musl 1.2+ x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.11.10 {"installer":{"name":"uv","version":"0.11.10","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.4.2-py3-none-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 beedc14c524310b63f06329b769b303e2a3370a9babc2c7b6ac7dc7f693ac926
MD5 b9a32ee41e61d4a541eff6f6179d1b62
BLAKE2b-256 81be3c5c0630e483ef767b6deefacc66ed76dd6f6c5ef8e4967a0a2b9aa8ff4f

See more details on using hashes here.

File details

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

File metadata

  • Download URL: cottage-0.4.2-py3-none-musllinux_1_2_i686.whl
  • Upload date:
  • Size: 4.0 MB
  • Tags: Python 3, musllinux: musl 1.2+ i686
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.11.10 {"installer":{"name":"uv","version":"0.11.10","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.4.2-py3-none-musllinux_1_2_i686.whl
Algorithm Hash digest
SHA256 64b032c51fd2fd2a598e6e034fd435a6a3c19182a23fece297be36009c6309af
MD5 ca404c3c0265359d86bb6c58cbc163ce
BLAKE2b-256 542b11e902b26048db6377d678d3f6707b518a1077e4ec40b6d629381cf8909b

See more details on using hashes here.

File details

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

File metadata

  • Download URL: cottage-0.4.2-py3-none-musllinux_1_2_armv7l.whl
  • Upload date:
  • Size: 3.8 MB
  • Tags: Python 3, musllinux: musl 1.2+ ARMv7l
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.11.10 {"installer":{"name":"uv","version":"0.11.10","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.4.2-py3-none-musllinux_1_2_armv7l.whl
Algorithm Hash digest
SHA256 6cad54614f1207eb1032070df23a64d18621d2c068388667cf32546f27df3721
MD5 47c782b89bcef33cfb30bf99e1cec0f9
BLAKE2b-256 070e7697dbd48808c41b53e1e1cedcd03f60ffd8d3cdf94d910c542f94b9a5b2

See more details on using hashes here.

File details

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

File metadata

  • Download URL: cottage-0.4.2-py3-none-musllinux_1_2_aarch64.whl
  • Upload date:
  • Size: 3.7 MB
  • Tags: Python 3, musllinux: musl 1.2+ ARM64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.11.10 {"installer":{"name":"uv","version":"0.11.10","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.4.2-py3-none-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 a24eb633818194848ba5465dc2855bbf789c085cf30e7fa3801616f9ba8c8cb0
MD5 ed5ec90072bbd66af03e816678bd2f55
BLAKE2b-256 913bb45206121ec2baf801a974cba98bd14ff3763ce34e9e9194cb8bdd7da2b8

See more details on using hashes here.

File details

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

File metadata

  • Download URL: cottage-0.4.2-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
  • Upload date:
  • Size: 4.0 MB
  • Tags: Python 3, manylinux: glibc 2.17+ x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.11.10 {"installer":{"name":"uv","version":"0.11.10","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.4.2-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 65768baec9492ac1dde1bee2a9f1124e01308d229e1662877b62735d2254e162
MD5 8d322cff2f01f12de35fa1990a1eab58
BLAKE2b-256 ee09e7507db5791011a407ae45a06c49852b82c341ce610247cf235a678fd6f5

See more details on using hashes here.

File details

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

File metadata

  • Download URL: cottage-0.4.2-py3-none-manylinux_2_17_s390x.manylinux2014_s390x.whl
  • Upload date:
  • Size: 4.1 MB
  • Tags: Python 3, manylinux: glibc 2.17+ s390x
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.11.10 {"installer":{"name":"uv","version":"0.11.10","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.4.2-py3-none-manylinux_2_17_s390x.manylinux2014_s390x.whl
Algorithm Hash digest
SHA256 56f6612953b79ca944c1490f832cfaec8a27218a33154856f095eaff08c6de48
MD5 02091a3b887889a871338112c7d4b278
BLAKE2b-256 f4cf8fde988a04e74b8209034e50c902044c6981032c0ea7317e4e33ca075f12

See more details on using hashes here.

File details

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

File metadata

  • Download URL: cottage-0.4.2-py3-none-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl
  • Upload date:
  • Size: 4.2 MB
  • Tags: Python 3, manylinux: glibc 2.17+ ppc64le
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.11.10 {"installer":{"name":"uv","version":"0.11.10","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.4.2-py3-none-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl
Algorithm Hash digest
SHA256 594962bb80b3490c2366b67e668c7fb274d718ea200df04578fdd902b35cf7a0
MD5 34d878ba36587dc3d389dabfd5ffea08
BLAKE2b-256 2e700f693170b9e39d914e372ae3c1a664df6836a668a58d8dc6d1277e0fbeb8

See more details on using hashes here.

File details

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

File metadata

  • Download URL: cottage-0.4.2-py3-none-manylinux_2_17_i686.manylinux2014_i686.whl
  • Upload date:
  • Size: 4.1 MB
  • Tags: Python 3, manylinux: glibc 2.17+ i686
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.11.10 {"installer":{"name":"uv","version":"0.11.10","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.4.2-py3-none-manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm Hash digest
SHA256 2cdcd0122b49c5554b2901b949a57351d231cd3d999df2154436fb842cfbe19d
MD5 85918f56a17a25e6d141f2a8b9464bff
BLAKE2b-256 baf67aa1092d2b46e6651c7be40600d43677411fc4cab188394a84435103f86e

See more details on using hashes here.

File details

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

File metadata

  • Download URL: cottage-0.4.2-py3-none-manylinux_2_17_armv7l.manylinux2014_armv7l.whl
  • Upload date:
  • Size: 3.8 MB
  • Tags: Python 3, manylinux: glibc 2.17+ ARMv7l
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.11.10 {"installer":{"name":"uv","version":"0.11.10","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.4.2-py3-none-manylinux_2_17_armv7l.manylinux2014_armv7l.whl
Algorithm Hash digest
SHA256 f5f4ad44ee0907ccc5b2e4e4692030b8a6cccbcaa02f16efcdd9cd01a453887b
MD5 66a95add6e695fd22f92913586b3e98c
BLAKE2b-256 c5734d9118d4a1a36f8a514c58461cb0abd66c34b2ee258302463289fee4faf3

See more details on using hashes here.

File details

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

File metadata

  • Download URL: cottage-0.4.2-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
  • Upload date:
  • Size: 3.7 MB
  • Tags: Python 3, manylinux: glibc 2.17+ ARM64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.11.10 {"installer":{"name":"uv","version":"0.11.10","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.4.2-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 7bba26b0b43308239919927cfbe46ac6be3e5ca603326311aeb5103a76f69899
MD5 8f9485b7f6cbcf1459e0d9c8db60d395
BLAKE2b-256 cffa2ac875760646d78e70e0f8bf729c8f1e010bd952f6fe197558ff9f3fdf2b

See more details on using hashes here.

File details

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

File metadata

  • Download URL: cottage-0.4.2-py3-none-macosx_11_0_arm64.whl
  • Upload date:
  • Size: 3.4 MB
  • Tags: Python 3, macOS 11.0+ ARM64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.11.10 {"installer":{"name":"uv","version":"0.11.10","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.4.2-py3-none-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 b7f32c02fc8e6dcd9eb6fdba655a1440b4f6dc752e144d1435c73ccef449257e
MD5 7e7a56035471a9dd6763052ecb224771
BLAKE2b-256 91b3ef57f34fded2c56068129c806ba28a4c1195192f7c828a24c6906c2f463d

See more details on using hashes here.

File details

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

File metadata

  • Download URL: cottage-0.4.2-py3-none-macosx_10_12_x86_64.whl
  • Upload date:
  • Size: 3.8 MB
  • Tags: Python 3, macOS 10.12+ x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.11.10 {"installer":{"name":"uv","version":"0.11.10","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.4.2-py3-none-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 c9c104adf64b0a0eae87bee39cd53758cba0d8e526efbf8beb601149c006af41
MD5 80a99f148cc19f45d7c2d6e1edf37a89
BLAKE2b-256 4bfa1ac6cb3355fc7cd9144ced863600e3fb718bf90eb2eff9546db2c6ed1d1e

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