Skip to main content

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

Project description

The cottage logo

cottage

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. Sharing with a team member
  5. Git Hooks
  6. Access Control
  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.
  • 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 on both encryption and decryption.
  • 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

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

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

Sharing with a team member

To share your secrets, 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

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.

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

Uploaded Python 3Windows ARM64

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

Uploaded Python 3Windows x86-64

cottage-0.3.1-py3-none-win32.whl (3.5 MB view details)

Uploaded Python 3Windows x86

cottage-0.3.1-py3-none-musllinux_1_2_x86_64.whl (4.0 MB view details)

Uploaded Python 3musllinux: musl 1.2+ x86-64

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

Uploaded Python 3musllinux: musl 1.2+ i686

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

Uploaded Python 3musllinux: musl 1.2+ ARMv7l

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

Uploaded Python 3musllinux: musl 1.2+ ARM64

cottage-0.3.1-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.3.1-py3-none-manylinux_2_17_s390x.manylinux2014_s390x.whl (4.1 MB view details)

Uploaded Python 3manylinux: glibc 2.17+ s390x

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

Uploaded Python 3manylinux: glibc 2.17+ ppc64le

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

Uploaded Python 3manylinux: glibc 2.17+ i686

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

Uploaded Python 3manylinux: glibc 2.17+ ARMv7l

cottage-0.3.1-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (3.6 MB view details)

Uploaded Python 3manylinux: glibc 2.17+ ARM64

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

Uploaded Python 3macOS 11.0+ ARM64

cottage-0.3.1-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.3.1.tar.gz.

File metadata

  • Download URL: cottage-0.3.1.tar.gz
  • Upload date:
  • Size: 4.1 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.11.9 {"installer":{"name":"uv","version":"0.11.9","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.3.1.tar.gz
Algorithm Hash digest
SHA256 c0f422abfb2eba538eb9399e1f0c6425d13aef15f39e4ebae8a63c10ff800bef
MD5 32d0dea0a6d81cffb7465999b8d28b9f
BLAKE2b-256 7550baf54d0e55d07cb0a9252222b4c41834903bda5bb38bc323f090c483f198

See more details on using hashes here.

File details

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

File metadata

  • Download URL: cottage-0.3.1-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.9 {"installer":{"name":"uv","version":"0.11.9","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.3.1-py3-none-win_arm64.whl
Algorithm Hash digest
SHA256 e6067e091e3d4c3b46ff69223672ec03117e15b4252d2ddc0aa388ae639ede20
MD5 d522fff1b6faedb55172a51f75ee8cf4
BLAKE2b-256 c5bec169943566a3615464d313b2eafa8e2d632d5979a6b26c85fc5a359f1e45

See more details on using hashes here.

File details

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

File metadata

  • Download URL: cottage-0.3.1-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.9 {"installer":{"name":"uv","version":"0.11.9","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.3.1-py3-none-win_amd64.whl
Algorithm Hash digest
SHA256 9726e1d8a4567d199b8a08c2e3293b4d5d4329cbb4e6cb0b0618679f6e1f01bb
MD5 d596c20e1e1135dba7e92185138a1860
BLAKE2b-256 34cdcde8a652c574a16c6ec0e19e7c572722e41ab793ba2a94a6cdf728c531a4

See more details on using hashes here.

File details

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

File metadata

  • Download URL: cottage-0.3.1-py3-none-win32.whl
  • Upload date:
  • Size: 3.5 MB
  • Tags: Python 3, Windows x86
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.11.9 {"installer":{"name":"uv","version":"0.11.9","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.3.1-py3-none-win32.whl
Algorithm Hash digest
SHA256 ad2b293e52aea924ac8dc4bd9c7fd4ed4efeaa7b97beb124b953b970f54be737
MD5 3593e1f624321ba673d8229f0dbda509
BLAKE2b-256 c1c41860c473cebcfe144a4c00fbdbe6596f9819305f74c7b3a4dbc80ddfff44

See more details on using hashes here.

File details

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

File metadata

  • Download URL: cottage-0.3.1-py3-none-musllinux_1_2_x86_64.whl
  • Upload date:
  • Size: 4.0 MB
  • Tags: Python 3, musllinux: musl 1.2+ x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.11.9 {"installer":{"name":"uv","version":"0.11.9","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.3.1-py3-none-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 ce9f74d58587f6321610f278393fa8663ae1bf412966a6f677fdde31e750b432
MD5 940c2440fa02e8b3133736f8a4ea7b70
BLAKE2b-256 680fba81f30a4897612fd5431aa1a0953475e585c1b131db08ed36fa8b1012ef

See more details on using hashes here.

File details

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

File metadata

  • Download URL: cottage-0.3.1-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.9 {"installer":{"name":"uv","version":"0.11.9","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.3.1-py3-none-musllinux_1_2_i686.whl
Algorithm Hash digest
SHA256 3ea3427372ce73cbad9d3aa0c86236cd0e1f28e5a2ed952071cadaf2fa53b480
MD5 a31b9fa560531f5b22f976105146d697
BLAKE2b-256 e99dd2ec2e23a9d9017a3943234ef84d11cc30d67389c355acfa0cff061abf22

See more details on using hashes here.

File details

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

File metadata

  • Download URL: cottage-0.3.1-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.9 {"installer":{"name":"uv","version":"0.11.9","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.3.1-py3-none-musllinux_1_2_armv7l.whl
Algorithm Hash digest
SHA256 28717a0f7963ece24922aa4ec60c5a4179b07ef484488648a48a7dcf4feac746
MD5 7a0477d7106082059b1a3a4fa8e6765b
BLAKE2b-256 cefe793260ceba68103e3c01b0657d946438560049db61ea77fb8f108aed117b

See more details on using hashes here.

File details

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

File metadata

  • Download URL: cottage-0.3.1-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.9 {"installer":{"name":"uv","version":"0.11.9","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.3.1-py3-none-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 dde656c37ca56fd7eb1ece3dcbc073ebe29e9e62b438ba9c5a720b69bfd90d0e
MD5 fbd33fe1dedc557de4941c37bd2c9219
BLAKE2b-256 14e35971e4e41f4ef0d04a33b0f51eec8fc507dbc82714c22a9ca28828b33f5d

See more details on using hashes here.

File details

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

File metadata

  • Download URL: cottage-0.3.1-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.9 {"installer":{"name":"uv","version":"0.11.9","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.3.1-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 d33480f1d98311d27416e68566adedf6db834a6f5d83ca06e6e83d48851b602e
MD5 666b08c6c513ecd1386b147cf2403040
BLAKE2b-256 b41cf3505068c52e1f464f23fc07b9d0f6417acf0f5a68d44e406ec12e230e0b

See more details on using hashes here.

File details

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

File metadata

  • Download URL: cottage-0.3.1-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.9 {"installer":{"name":"uv","version":"0.11.9","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.3.1-py3-none-manylinux_2_17_s390x.manylinux2014_s390x.whl
Algorithm Hash digest
SHA256 fd53c9fe12c0aa33e5b8b0482f1f6d00ddcade1f572495b7bdd3271e1c921955
MD5 89e429df649a66ec530de1624971848a
BLAKE2b-256 f4a1fad396cfef0a4baa39428eb10a7732e08037405258c552feca1ceb4e981b

See more details on using hashes here.

File details

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

File metadata

  • Download URL: cottage-0.3.1-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.9 {"installer":{"name":"uv","version":"0.11.9","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.3.1-py3-none-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl
Algorithm Hash digest
SHA256 88d8c1a7c29d69443cea047e653e067c82736fe9c48d8ac2948fda71fb46bec5
MD5 5d7b1658fa6e1e9a93914d2afb6f7b14
BLAKE2b-256 34b900f2a7428b9624425074114b68724ce5e140bd2fe75404a20e753d4b6e6d

See more details on using hashes here.

File details

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

File metadata

  • Download URL: cottage-0.3.1-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.9 {"installer":{"name":"uv","version":"0.11.9","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.3.1-py3-none-manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm Hash digest
SHA256 0af69d459796481101cae8b1c40285ba926786904d665e7592af568b7ae10d15
MD5 dc7e1bd0d666481a9d8bd86be2ecf3a1
BLAKE2b-256 5b18f348f5cbd5ce8e60f8d72a9156cfc1a9a3efa27da17750b6f6a92e96dca9

See more details on using hashes here.

File details

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

File metadata

  • Download URL: cottage-0.3.1-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.9 {"installer":{"name":"uv","version":"0.11.9","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.3.1-py3-none-manylinux_2_17_armv7l.manylinux2014_armv7l.whl
Algorithm Hash digest
SHA256 d2e312cf1f15dc59eb1ce0a9d37143bbbb21ee1989b7d538987e875970dc19f5
MD5 f93f39ded5bd96128b663a70adcbd99c
BLAKE2b-256 8cc0d001fa82fea09b063f839e944b7da8d04ca75652e0ebfa85503796f8b6e8

See more details on using hashes here.

File details

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

File metadata

  • Download URL: cottage-0.3.1-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
  • Upload date:
  • Size: 3.6 MB
  • Tags: Python 3, manylinux: glibc 2.17+ ARM64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.11.9 {"installer":{"name":"uv","version":"0.11.9","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.3.1-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 6ae69d239804510302c3f2098e337e78c03f903a55b191a2222e1136ae06849d
MD5 ecc4034f1408c76b3d546bd8502c4568
BLAKE2b-256 7a92d4b8e05bd29426ac71241931db0a70870046760f1a93026b809065de9136

See more details on using hashes here.

File details

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

File metadata

  • Download URL: cottage-0.3.1-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.9 {"installer":{"name":"uv","version":"0.11.9","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.3.1-py3-none-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 686aac2e733dd4c44da24bb5973068fe83459876564f7f0c8c28c73625223a93
MD5 e442ed57b003e9ae39c7a72cd3fc93e8
BLAKE2b-256 f9434e450aa661e4de93753aeed3cfe27e8417e9a7dd6c01b9d3ba9e09396094

See more details on using hashes here.

File details

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

File metadata

  • Download URL: cottage-0.3.1-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.9 {"installer":{"name":"uv","version":"0.11.9","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.3.1-py3-none-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 ff4162c36b4f4d9745431827e130e5829a374e49e5aa9ee28a6656324d2eefe8
MD5 75374d652828d2135dcb4ae116f97826
BLAKE2b-256 a8899b5948aae0709a5341f578ee494e566ff746c59924a1b1d8c294f84e6923

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