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

Uploaded CPython 3.12Windows x86-64

murk_secrets-0.5.1-cp312-cp312-manylinux_2_28_aarch64.whl (853.1 kB view details)

Uploaded CPython 3.12manylinux: glibc 2.28+ ARM64

murk_secrets-0.5.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (905.3 kB view details)

Uploaded CPython 3.12manylinux: glibc 2.17+ x86-64

murk_secrets-0.5.1-cp312-cp312-macosx_11_0_arm64.whl (804.2 kB view details)

Uploaded CPython 3.12macOS 11.0+ ARM64

murk_secrets-0.5.1-cp312-cp312-macosx_10_12_x86_64.whl (880.8 kB view details)

Uploaded CPython 3.12macOS 10.12+ x86-64

File details

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

File metadata

  • Download URL: murk_secrets-0.5.1.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.1.tar.gz
Algorithm Hash digest
SHA256 7e07e607050e8363c07c36d6883d9cf9e56cf69206d790a23ee7269346d181f8
MD5 04cd4e9cdb47e0213b80c35b9ba57075
BLAKE2b-256 531083ff5fccb57e3ce5384ed6c5ca46b1f75274fe926c790dc2a93aef2965a2

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for murk_secrets-0.5.1-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 cab336ecd05588a218505e4a8742215331b52a3c300c5572c5a9d11364319b24
MD5 f7b0583b872bab3a0fe10d16c1626379
BLAKE2b-256 54995b8514b0c2ffda67a3291e3fcc0f379ae0346156156288d1384222514f49

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for murk_secrets-0.5.1-cp312-cp312-manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 9a5b06de652877e1f7ee7ffd7aff826da35b6f3cad5d557df4a9ed02b34f8c3c
MD5 fcba4f66e83bae905c2d9eeff137a73c
BLAKE2b-256 71f2b2f93ae0742e27b02f892097e506dc5bed98e16d933bd72050d64bf55c09

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for murk_secrets-0.5.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 a26ac2c8f243f87f9ef49139251a6cd4f234ab787ebbe0673ddd9f0335e4b16d
MD5 2db07f21e0470b6696aa932b89c79b7e
BLAKE2b-256 4af1f4274bb8b9ef16bfece3b2a4a263e9914a7fdb9c99b36ba99ccfbde35f4b

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for murk_secrets-0.5.1-cp312-cp312-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 de8e4a7b42a03a0acd74ad9091c863e38aa202754e5a042e510b2bf50d4e9093
MD5 c7da34f784627fed6ac4fa58c9e3d8d2
BLAKE2b-256 4f1e5aa1de261669bce08852a783b69df5bacd36a117ea743250ee499a50003e

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for murk_secrets-0.5.1-cp312-cp312-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 56c3a7b3f679e3598d3c98fa233611a4b4503756170d45d83f0ac4f090b21497
MD5 a6affc8b33765cf7135f22469c5360b7
BLAKE2b-256 fe2f59743ee674417392e8382bcf2a3a421f19de27c49f086f3fb9d444cf57e3

See more details on using hashes here.

Provenance

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