Skip to main content

Python bindings for murk — encrypted secrets manager

Project description

murk-secrets

PyPI

Python bindings for murk — an encrypted secrets manager for developers.

murk stores encrypted secrets in a single .murk file safe to commit to git. This package lets Python apps read those secrets at runtime.

Prerequisites

You need the murk CLI to create and manage vaults. This package only reads them.

# Install the CLI first
brew tap iicky/murk && brew install murk

# Initialize a vault and add secrets
murk init
murk add DATABASE_URL
murk add API_KEY

Then add the Python package to your project:

pip install murk-secrets

Quick start

# Load your key (created by murk init)
source .env
import murk

# Load the vault (reads MURK_KEY from environment)
vault = murk.load()

# Get a single secret
db_url = vault.get("DATABASE_URL")

# Get all secrets as a dict
secrets = vault.export()

# Dict-style access
api_key = vault["API_KEY"]

API

murk.load(vault_path=".murk") -> Vault

Load and decrypt a murk vault. Reads MURK_KEY or MURK_KEY_FILE from the environment.

murk.get(key, vault_path=".murk") -> str | None

One-liner: load the vault and get a single value.

murk.export_all(vault_path=".murk") -> dict[str, str]

One-liner: load the vault and export all secrets as a dict.

murk.has_key() -> bool

Check if a MURK_KEY is available in the environment.

Vault

Method Returns Description
vault.get(key) str | None Get a single decrypted value
vault.export() dict[str, str] All secrets as a dict
vault.keys() list[str] List of key names
vault[key] str Dict-style access (raises on missing key)
key in vault bool Check if a key exists
len(vault) int Number of secrets

Scoped (per-user) overrides are applied automatically — if you have a scoped value for a key, it takes priority over the shared value.

Environment

Set one of:

  • MURK_KEY — your age secret key directly
  • MURK_KEY_FILE — path to your key file (created by murk init)

The easiest setup is source .env in your project directory after running murk init.

Requirements

  • Python >= 3.9
  • murk CLI installed (to create and manage vaults)
  • A .murk vault file in your project (created with murk init)
  • MURK_KEY or MURK_KEY_FILE in the environment (created by murk init, loaded via source .env)

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

murk_secrets-0.5.10.tar.gz (5.1 MB view details)

Uploaded Source

Built Distributions

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

murk_secrets-0.5.10-cp312-cp312-win_amd64.whl (924.8 kB view details)

Uploaded CPython 3.12Windows x86-64

murk_secrets-0.5.10-cp312-cp312-manylinux_2_28_aarch64.whl (861.6 kB view details)

Uploaded CPython 3.12manylinux: glibc 2.28+ ARM64

murk_secrets-0.5.10-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (913.0 kB view details)

Uploaded CPython 3.12manylinux: glibc 2.17+ x86-64

murk_secrets-0.5.10-cp312-cp312-macosx_11_0_arm64.whl (787.2 kB view details)

Uploaded CPython 3.12macOS 11.0+ ARM64

murk_secrets-0.5.10-cp312-cp312-macosx_10_12_x86_64.whl (844.7 kB view details)

Uploaded CPython 3.12macOS 10.12+ x86-64

File details

Details for the file murk_secrets-0.5.10.tar.gz.

File metadata

  • Download URL: murk_secrets-0.5.10.tar.gz
  • Upload date:
  • Size: 5.1 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.13

File hashes

Hashes for murk_secrets-0.5.10.tar.gz
Algorithm Hash digest
SHA256 4fcaee7a0ec675853e51895dbd51e11c3a18e8d25720613571a6f20bfca5ee42
MD5 ad9e8af769239bd9f572030f7761380a
BLAKE2b-256 50039b36d0d00a5a85011c6a7415d1fe74a22a39d9af8f27137e44949a4fd835

See more details on using hashes here.

Provenance

The following attestation bundles were made for murk_secrets-0.5.10.tar.gz:

Publisher: python.yaml on iicky/murk

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file murk_secrets-0.5.10-cp312-cp312-win_amd64.whl.

File metadata

File hashes

Hashes for murk_secrets-0.5.10-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 5a828b2c706cec760e2597a5530da047b1e8dcabac9068cbd1b8f79f01f41821
MD5 25070d071ff5e8e5c37af853f1866aad
BLAKE2b-256 85446bf56c4f4b80a0f79226654cc32b17485c0816230e163a99d0556b73bb9c

See more details on using hashes here.

Provenance

The following attestation bundles were made for murk_secrets-0.5.10-cp312-cp312-win_amd64.whl:

Publisher: python.yaml on iicky/murk

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file murk_secrets-0.5.10-cp312-cp312-manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for murk_secrets-0.5.10-cp312-cp312-manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 0f9126e7f4910453b265817fff687e220aaf015b5e82169305e392c1e6f71077
MD5 936079d8849ca93d468ca18a07d275b0
BLAKE2b-256 947f1ecc814a49336efa9de039705a4712483921fb0aefdcad9071b2f820cd2b

See more details on using hashes here.

Provenance

The following attestation bundles were made for murk_secrets-0.5.10-cp312-cp312-manylinux_2_28_aarch64.whl:

Publisher: python.yaml on iicky/murk

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file murk_secrets-0.5.10-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for murk_secrets-0.5.10-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 9e3829e150af76de29c3b095101f304108842dfd014ef9338eab8f2659b78a28
MD5 8719405354f41bc52559b44d8a02a2ec
BLAKE2b-256 236cbc159f0868f4251fbf5221c8a669552a413c482434e1197cff268d9cfbc3

See more details on using hashes here.

Provenance

The following attestation bundles were made for murk_secrets-0.5.10-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl:

Publisher: python.yaml on iicky/murk

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file murk_secrets-0.5.10-cp312-cp312-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for murk_secrets-0.5.10-cp312-cp312-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 522676416293c142f5533ed8b06311e56a5d672c39cd7e67c2a9c8cf9b7b82e3
MD5 a49c8594ed5b77352a70b8436b6ef432
BLAKE2b-256 97d4fe66497e5964e0b4335a458bfc51b07410847603aa8a29b2bdfbd5538930

See more details on using hashes here.

Provenance

The following attestation bundles were made for murk_secrets-0.5.10-cp312-cp312-macosx_11_0_arm64.whl:

Publisher: python.yaml on iicky/murk

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file murk_secrets-0.5.10-cp312-cp312-macosx_10_12_x86_64.whl.

File metadata

File hashes

Hashes for murk_secrets-0.5.10-cp312-cp312-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 01ee1df7de432cc020070bdf942dbe8cca88e64a746ee0b4267fc4aa9efffd14
MD5 eea231469c3166cfefb68f595ee287e2
BLAKE2b-256 3646ac104e1fb29b8b500c71dfbd8a5a6bf563c9e0f58de5a350e2076758ae3d

See more details on using hashes here.

Provenance

The following attestation bundles were made for murk_secrets-0.5.10-cp312-cp312-macosx_10_12_x86_64.whl:

Publisher: python.yaml on iicky/murk

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

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