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

Uploaded Python 3Windows ARM64

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

Uploaded Python 3Windows x86-64

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

Uploaded Python 3Windows x86

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

Uploaded Python 3musllinux: musl 1.2+ x86-64

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

Uploaded Python 3musllinux: musl 1.2+ i686

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

Uploaded Python 3musllinux: musl 1.2+ ARMv7l

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

Uploaded Python 3musllinux: musl 1.2+ ARM64

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

Uploaded Python 3manylinux: glibc 2.17+ s390x

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

Uploaded Python 3manylinux: glibc 2.17+ ppc64le

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

Uploaded Python 3manylinux: glibc 2.17+ i686

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

Uploaded Python 3manylinux: glibc 2.17+ ARMv7l

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

Uploaded Python 3manylinux: glibc 2.17+ ARM64

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

Uploaded Python 3macOS 11.0+ ARM64

cottage-0.3.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.3.2.tar.gz.

File metadata

  • Download URL: cottage-0.3.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.3.2.tar.gz
Algorithm Hash digest
SHA256 79f63abe9180f48ca9ea436ecd7b2cff397d8bb3358eb59cccdc3557dd51e842
MD5 e1324fd4ad20e6e99c85f1dae5582990
BLAKE2b-256 32670d2cfb4c6fa5c2158acd3c20ae640fe99d09110584baf15b858f9ec73d5c

See more details on using hashes here.

File details

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

File metadata

  • Download URL: cottage-0.3.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.3.2-py3-none-win_arm64.whl
Algorithm Hash digest
SHA256 e7a03be6f13650aa549a1e9cd5fd2731c50d262963847658920d5b53631f0711
MD5 9882c0f3f9a2b3fe1a8990a264af675f
BLAKE2b-256 72eeb280f33486b373040ef2bacd4e7699e63acaf76e95ed475a8569cebe0f59

See more details on using hashes here.

File details

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

File metadata

  • Download URL: cottage-0.3.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.3.2-py3-none-win_amd64.whl
Algorithm Hash digest
SHA256 8f515613a8d863c47636ea793388278603250470223549834e6b5d1e335a7222
MD5 069f6c1e87a38f2f378a499237b77fd1
BLAKE2b-256 c6b09a7827731a1423be76f358e962f55220cac49fa239c406bec09f8c7bbf23

See more details on using hashes here.

File details

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

File metadata

  • Download URL: cottage-0.3.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.3.2-py3-none-win32.whl
Algorithm Hash digest
SHA256 376c18613541da6ec4e3466a6140848bb059eaaabebc726e9d59ada67d284776
MD5 72d497889d368343d583ed1fe07524d6
BLAKE2b-256 5d854d958ad581a0097a33689fb3c1a5337ec60ce6fd32056a0e9f65b4c6fd5a

See more details on using hashes here.

File details

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

File metadata

  • Download URL: cottage-0.3.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.3.2-py3-none-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 54be756cfb1d7c14a636b61ae4becf63a33f45f459c825d9826660b16798e53a
MD5 91d2b08b1e3e35d0a5d81c6b85365d14
BLAKE2b-256 50d41f13dd674e1ae2a7cf3896d7555b29b736d009f64155b6265050f3e51961

See more details on using hashes here.

File details

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

File metadata

  • Download URL: cottage-0.3.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.3.2-py3-none-musllinux_1_2_i686.whl
Algorithm Hash digest
SHA256 02a86dd854aa319928db03c6c5a92caa3bbe79108b928c3b8d835c7c9abfb869
MD5 d6ab40ef1eb6901ad1acce0a289afa7f
BLAKE2b-256 51241b42c2714e21d57e2528ed03e12b578890ca6a459ebd93db4286ce2a10f8

See more details on using hashes here.

File details

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

File metadata

  • Download URL: cottage-0.3.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.3.2-py3-none-musllinux_1_2_armv7l.whl
Algorithm Hash digest
SHA256 41835c05cce504ad21c149d7ced0aa9b5821b10802779485289970adf0ce0cff
MD5 2b6db8b839bfde76116f80d3dac61f24
BLAKE2b-256 0dd10526c23a380b53fff5a1b9503cd83710b8f084fc11c9aafce3fc982e092f

See more details on using hashes here.

File details

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

File metadata

  • Download URL: cottage-0.3.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.3.2-py3-none-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 e883b8450045e53088e88a7d254b6cc7580ee6b2a104f93d559582d40e2c3164
MD5 87c914ea15d73816d6a0e2e9ac50cd2d
BLAKE2b-256 32c439a5d91c861fd28d84ace371a26998590eeee36ac23c9c497f35078b1efc

See more details on using hashes here.

File details

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

File metadata

  • Download URL: cottage-0.3.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.3.2-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 94c649bd13278368bb7fc35f3783f98c050b9235eb760f19a1f00b2131488519
MD5 98e7d8e7d64e8a15e2172668d6c01404
BLAKE2b-256 b80b738428f0df6edb527eb67a41cf543147fd50b0e3564ee33e522988cd06f2

See more details on using hashes here.

File details

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

File metadata

  • Download URL: cottage-0.3.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.3.2-py3-none-manylinux_2_17_s390x.manylinux2014_s390x.whl
Algorithm Hash digest
SHA256 465dca4d0e73f3840e6aee36d63e667e5db125070d5ed59ce6e0a8e6d834c718
MD5 743b810480a80240495d9b1b5d768819
BLAKE2b-256 d1896b060ea802604b518105196443c1060858aa87b56f714321d34ce664def2

See more details on using hashes here.

File details

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

File metadata

  • Download URL: cottage-0.3.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.3.2-py3-none-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl
Algorithm Hash digest
SHA256 7f7bb1936dc17bf45cdbc938af8f6777db944e2187ebfa0baf3aea04df8e5763
MD5 a7fa8184d79cc6e311849a998254a7ff
BLAKE2b-256 4d4b9e9c56a01d99a56001a69801a0c7870e5bc9ea3b302b5b210da8396a040a

See more details on using hashes here.

File details

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

File metadata

  • Download URL: cottage-0.3.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.3.2-py3-none-manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm Hash digest
SHA256 0b56a9bf1163889519357d09eef59127a0af9ca0aaace7f33fb50d6a9edf8030
MD5 44ec8a8d2a5d0a2f2dbb1b36b116b0e4
BLAKE2b-256 c26a291843fa9b76ba1e5341f1b812e4f4b7ef37d882d8e9b3d29a70a0ae9d6f

See more details on using hashes here.

File details

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

File metadata

  • Download URL: cottage-0.3.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.3.2-py3-none-manylinux_2_17_armv7l.manylinux2014_armv7l.whl
Algorithm Hash digest
SHA256 b9c4616817558f3cca46cac5e7c1c4cfa11cbd57a13ff5b6d19fa29616f5ce1e
MD5 1703298968b87d50b445b8d9a1740950
BLAKE2b-256 a5b7df566b71e9dc60dea945cb31e81bf2cdef6a569552e515cf327435777f3b

See more details on using hashes here.

File details

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

File metadata

  • Download URL: cottage-0.3.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.3.2-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 1b2b02ab719480752dd099ab4bf821b4d1feb9e865a81aade9d0f2c4ef14e130
MD5 6cc4c19a55d485095e1862fe0b738273
BLAKE2b-256 6d7f43a2ce9a9ab63e6c1897957aa3bda8b436d76038381f820102181616bf24

See more details on using hashes here.

File details

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

File metadata

  • Download URL: cottage-0.3.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.3.2-py3-none-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 10f8741ba6d10989ca8b507e033bd8cb355dc2c92024376a6819e0c2e2e94bb1
MD5 1ccc9ec9697ad40671298614e6fb6e05
BLAKE2b-256 9ef9ffd36de1c38f149424db9d449ece4fc44b993fd74206538cc68b47de5cdf

See more details on using hashes here.

File details

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

File metadata

  • Download URL: cottage-0.3.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.3.2-py3-none-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 d6c2b9ce5931ee14df8e2eb8e797b06072a4cda0f4442993cb0b9d204f5f9d92
MD5 4cdd358a646f96630f21642470f1ed50
BLAKE2b-256 5f209d9676db54a9526167b6053e814904a32e923efcc6284c1043b127eb28be

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