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.0.tar.gz (4.1 MB view details)

Uploaded Source

Built Distributions

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

cottage-0.3.0-py3-none-win_arm64.whl (3.4 MB view details)

Uploaded Python 3Windows ARM64

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

Uploaded Python 3Windows x86-64

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

Uploaded Python 3Windows x86

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

Uploaded Python 3musllinux: musl 1.2+ x86-64

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

Uploaded Python 3musllinux: musl 1.2+ i686

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

Uploaded Python 3musllinux: musl 1.2+ ARMv7l

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

Uploaded Python 3musllinux: musl 1.2+ ARM64

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

Uploaded Python 3manylinux: glibc 2.17+ s390x

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

Uploaded Python 3manylinux: glibc 2.17+ ppc64le

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

Uploaded Python 3manylinux: glibc 2.17+ i686

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

Uploaded Python 3manylinux: glibc 2.17+ ARMv7l

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

Uploaded Python 3manylinux: glibc 2.17+ ARM64

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

Uploaded Python 3macOS 11.0+ ARM64

cottage-0.3.0-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.0.tar.gz.

File metadata

  • Download URL: cottage-0.3.0.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.0.tar.gz
Algorithm Hash digest
SHA256 7db02c2451d3e8602d608859398726a3c8c0246feb2902a800ba52fcb7852f04
MD5 ea815c613260fff96c9f6560c22304c1
BLAKE2b-256 9811c7609c40c25332f76c4a981ce09a72b576bfbf4fa781f3abe59caf90d735

See more details on using hashes here.

File details

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

File metadata

  • Download URL: cottage-0.3.0-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.0-py3-none-win_arm64.whl
Algorithm Hash digest
SHA256 816c5183fa1a44ddb3ac93b8ffe13c1d0bd70b1acad885285ef0d46e49320c76
MD5 f97269a6e0f3b4175b42c1f6eaaf2d3d
BLAKE2b-256 8e1e5105214451b77738634dbc06827123859bea6e6377627c49846f9f8a22d0

See more details on using hashes here.

File details

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

File metadata

  • Download URL: cottage-0.3.0-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.0-py3-none-win_amd64.whl
Algorithm Hash digest
SHA256 c1a930604063cb899a79b595a2f0340cb3ab69521729c66097ac47f0f9c3f8f8
MD5 4b29fdc810eb99f3c02bdc3387f615fd
BLAKE2b-256 227e79348cc8a85c530d4daf5899b686b6b04581d061e0bfb87d1fa80a3ccaa7

See more details on using hashes here.

File details

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

File metadata

  • Download URL: cottage-0.3.0-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.0-py3-none-win32.whl
Algorithm Hash digest
SHA256 ba217c68a4c6761c6d7666d1989045637e47a6f6b8e0215ada414cb582ebbf33
MD5 182ebd6197e5a289e7290e84c4bb66a0
BLAKE2b-256 c65dc07d89791500d39783f9f12e86ea319db88ad297ddb2fa47835657ef2b6e

See more details on using hashes here.

File details

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

File metadata

  • Download URL: cottage-0.3.0-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.0-py3-none-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 7f48fb86ba56ec5c3a5f22e7831fa96eb4c426a91a4b090594dcd742ec2656f1
MD5 bc6899a1182371eacba79abdb5bcddd2
BLAKE2b-256 26519c9eaece5c37c1ac6d106412e0b4b50c16fc03d5f46c5bff5a008bd917f7

See more details on using hashes here.

File details

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

File metadata

  • Download URL: cottage-0.3.0-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.0-py3-none-musllinux_1_2_i686.whl
Algorithm Hash digest
SHA256 d07140cce75f2c3cce66e98f89ffc3286f7c5fe5cdbbd921f751773a7bc49c98
MD5 9923cf4d49f3ee62d52c96b3986c9f88
BLAKE2b-256 22365612fc42583cf4489ba189d1106e4f1544daa6d87d9f1192c09f3f6cb0d0

See more details on using hashes here.

File details

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

File metadata

  • Download URL: cottage-0.3.0-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.0-py3-none-musllinux_1_2_armv7l.whl
Algorithm Hash digest
SHA256 e6e90501d7cc784a61bcc00fac2351e45a09f3fc0b9d2a4c8a1d80349a1bd38b
MD5 869daadfc433058d762fc0b08b3fa761
BLAKE2b-256 db4e2b6bb1bc04705ed5a2293ca80dc1455ec6423d4162e8a5a0f85b99f02023

See more details on using hashes here.

File details

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

File metadata

  • Download URL: cottage-0.3.0-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.0-py3-none-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 7f1f211de436e378d9b7dd6282e19ae6ec3d98b48dbbd367d449c3ca99a4d47b
MD5 ceee617e11b401b88cde9c5e5f7d6a8f
BLAKE2b-256 6b210e67da75218767a5684452bb3f00dadfcae60aad60d928186ce876c6cd81

See more details on using hashes here.

File details

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

File metadata

  • Download URL: cottage-0.3.0-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.0-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 7324f5af0ab24b6a1367779a9b09b1c8e05929abb8bf5eb101428f87053bbd3a
MD5 08550a7ae6f2b7a8aa8419d018523183
BLAKE2b-256 d23c94e5ec734cb11c7437aba6080c92a8c556af4f46ae9d60fbdce506ab8f0b

See more details on using hashes here.

File details

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

File metadata

  • Download URL: cottage-0.3.0-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.0-py3-none-manylinux_2_17_s390x.manylinux2014_s390x.whl
Algorithm Hash digest
SHA256 99791932a3fba99db69e2aa1931d2158973277546741c0566deafda503d4c4c4
MD5 8467dd60485fd1f43404f460a95fe04c
BLAKE2b-256 0e15802459f2edf32e3a74364588808ac5896700deec88cb1ec893130b093b26

See more details on using hashes here.

File details

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

File metadata

  • Download URL: cottage-0.3.0-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.0-py3-none-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl
Algorithm Hash digest
SHA256 b2f89aa3296a33384832bb4d4274f951cb276988ce0c2d3ca63db901c213e471
MD5 4fa496e0d3d350d85aef976d4cb21470
BLAKE2b-256 ccfc7486ae89389eda2357fab2d53679b8cc288e460e18fa6fd595fe4d78610c

See more details on using hashes here.

File details

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

File metadata

  • Download URL: cottage-0.3.0-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.0-py3-none-manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm Hash digest
SHA256 7652430032fe36ae143e2cbc18daa576bba285860f233e22826a2a73d081a436
MD5 fc6a6e3764cadacd4c5b1907faf1883a
BLAKE2b-256 839d543c28f759650bb288a562c40e3af50afb353608b3cbd33800d46a0c78c4

See more details on using hashes here.

File details

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

File metadata

  • Download URL: cottage-0.3.0-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.0-py3-none-manylinux_2_17_armv7l.manylinux2014_armv7l.whl
Algorithm Hash digest
SHA256 40892946459c613a50f757605f0bead4398f0120268e46f4d2f0607f2102681a
MD5 a5f6d394c89939fba57f3602385eb1b4
BLAKE2b-256 6adaeda780fc2ceb10d105354c53a41af4612bfd4277898024f2aa130e8a800c

See more details on using hashes here.

File details

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

File metadata

  • Download URL: cottage-0.3.0-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.0-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 a19f965d08d86a33deb3406bde1e613d296aa621054188b73f01859436255c4b
MD5 8b0cccee3433af7407b4645d1f74aca5
BLAKE2b-256 a44b7841c49fe5a45b11de636dfed55a09d2a1806090ced061f489d44ca64bb6

See more details on using hashes here.

File details

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

File metadata

  • Download URL: cottage-0.3.0-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.0-py3-none-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 13fd55d83f03ae328924f32cdc8818b3d059ea07969aab8d9d63c8372d67af45
MD5 834876643a325e009ec26d3a30b7ddfc
BLAKE2b-256 c1f210b4b509631fa48f081c819409ed6832d74bc6ef9d7812d35a2d2772c57e

See more details on using hashes here.

File details

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

File metadata

  • Download URL: cottage-0.3.0-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.0-py3-none-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 273a0ae6ffb0b87612cfc8ccf08411e645d5f841ecbd01cf06fc6ae0cf2c9ad5
MD5 f8cb75835388fd183728f57f13eb8a58
BLAKE2b-256 64be03f714cb56a39e1622aa3556fffb6388f546d10db34ff87ad5556aac303c

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