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.8.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.8-cp312-cp312-win_amd64.whl (926.1 kB view details)

Uploaded CPython 3.12Windows x86-64

murk_secrets-0.5.8-cp312-cp312-manylinux_2_28_aarch64.whl (861.3 kB view details)

Uploaded CPython 3.12manylinux: glibc 2.28+ ARM64

murk_secrets-0.5.8-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (913.1 kB view details)

Uploaded CPython 3.12manylinux: glibc 2.17+ x86-64

murk_secrets-0.5.8-cp312-cp312-macosx_11_0_arm64.whl (787.7 kB view details)

Uploaded CPython 3.12macOS 11.0+ ARM64

murk_secrets-0.5.8-cp312-cp312-macosx_10_12_x86_64.whl (844.8 kB view details)

Uploaded CPython 3.12macOS 10.12+ x86-64

File details

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

File metadata

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

File hashes

Hashes for murk_secrets-0.5.8.tar.gz
Algorithm Hash digest
SHA256 a8103bfadbb0c0af3876925501cdc8f8e09d116b077ad2b4d51eb62c9d107089
MD5 a39995366d237de4736e2984a4f28728
BLAKE2b-256 3c014cba8eef75930185716cbc262d9444245e9cebe9282d30ad030b95225487

See more details on using hashes here.

Provenance

The following attestation bundles were made for murk_secrets-0.5.8.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.8-cp312-cp312-win_amd64.whl.

File metadata

File hashes

Hashes for murk_secrets-0.5.8-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 766dd11a49c1169ada9c14fdb71ec5d5701fa98516f1fd44a9b8e9b9d2908fe0
MD5 10d8362ddc67b854c355f1095358040d
BLAKE2b-256 ad5a80e81e1c00a10a8935ef6fa838e861965b9c674315a2ef8e0724e27399c1

See more details on using hashes here.

Provenance

The following attestation bundles were made for murk_secrets-0.5.8-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.8-cp312-cp312-manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for murk_secrets-0.5.8-cp312-cp312-manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 8de0e55bf0082252fb54994076637bbb7ffe1269aad855a1a9c9d0c3c7358fe0
MD5 7a455865d642fdf1d230159fbb199f3c
BLAKE2b-256 0d9ab197cf8d8573f8f1389be2da7613f0c2505dff33f383942777b63cc8f326

See more details on using hashes here.

Provenance

The following attestation bundles were made for murk_secrets-0.5.8-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.8-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for murk_secrets-0.5.8-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 93aa413bd5c41ab5aa109ae29df35d1cfd7830236a6875f17075630015cd2c8e
MD5 2aed77d7e32480d44854ec2f3bf20668
BLAKE2b-256 2e3e184e893da0b2443c3d7e36c858a89343ac0f08a908f57968a66712f809be

See more details on using hashes here.

Provenance

The following attestation bundles were made for murk_secrets-0.5.8-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.8-cp312-cp312-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for murk_secrets-0.5.8-cp312-cp312-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 aaff7ec8ff4ce792cbd1ee5706d383ed8620d0ca20468b4855458d3426cedcfc
MD5 c1e4853e7e8b97a4f12c06d9a2649190
BLAKE2b-256 3f96bb244dbe3f8c5134e163519d282bafcb6bba5394843e70666e88b1c7a6da

See more details on using hashes here.

Provenance

The following attestation bundles were made for murk_secrets-0.5.8-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.8-cp312-cp312-macosx_10_12_x86_64.whl.

File metadata

File hashes

Hashes for murk_secrets-0.5.8-cp312-cp312-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 7fd07ca0ada15811c767159856d39208860129b18a22baf1447d81d223c88983
MD5 8c7a5f56dd7af3d524320116ad6fd4c2
BLAKE2b-256 e267bdb1a2b84a44ba65e29e8faedd4ed82615dbb6a23c53b9a54964c785c324

See more details on using hashes here.

Provenance

The following attestation bundles were made for murk_secrets-0.5.8-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