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

Uploaded CPython 3.12Windows x86-64

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

Uploaded CPython 3.12manylinux: glibc 2.28+ ARM64

murk_secrets-0.5.11-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (912.9 kB view details)

Uploaded CPython 3.12manylinux: glibc 2.17+ x86-64

murk_secrets-0.5.11-cp312-cp312-macosx_11_0_arm64.whl (787.1 kB view details)

Uploaded CPython 3.12macOS 11.0+ ARM64

murk_secrets-0.5.11-cp312-cp312-macosx_10_12_x86_64.whl (844.9 kB view details)

Uploaded CPython 3.12macOS 10.12+ x86-64

File details

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

File metadata

  • Download URL: murk_secrets-0.5.11.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.11.tar.gz
Algorithm Hash digest
SHA256 0701cdfd9dccd7a80e935a8d64b0cdefe99070f03bfa9c0bed0dd796af3727e1
MD5 5c8761d5f394a1682af9156b78cae21d
BLAKE2b-256 2e67017dbf5dfce9c6a92b4578c93dd0bc23c90fd47fccb9e433219cae434e99

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for murk_secrets-0.5.11-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 b231e3e447244dbfe2b73c233722fcfca67a643e679cdb79c11cf2a1928bef79
MD5 a76194d4bf2abb746a2f9ccdb2b4a30e
BLAKE2b-256 ef6ae5d741b60b4792a05eb9db5094666fbf01e213228c745869e56be1f7a1b1

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for murk_secrets-0.5.11-cp312-cp312-manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 545f4392f5c286c7d300ed49ad787ee9c794d190a96503033861c66e26645dc2
MD5 28c19e2db98be309ddf0a4a95816e03c
BLAKE2b-256 028fa2fc5cdee3eaece1d2140ebc864c1303942223c62ae2ce3a7abed0c0a13c

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for murk_secrets-0.5.11-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 fbcf4928cb8e1f06ba8f4fbb7fab0fa4edf7fec2c2062c172de3dfc7a7b1f6cd
MD5 97cab864e7c36033c7085d7799fc51fb
BLAKE2b-256 2276ddbae17361b9c0cff1ca280e882c38bf13715aa386a8e9432c70bb24f9d9

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for murk_secrets-0.5.11-cp312-cp312-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 5e1bd41e2c548dc815fc86001977b603ccb5374d1b509fe5be07b4b636fcbfd0
MD5 175c2779829ca191f8c86f78ac7258eb
BLAKE2b-256 8ed641dbf1ddca0006137d69be739b30b1c110b669b827a10eca32e43b9de08f

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for murk_secrets-0.5.11-cp312-cp312-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 b82f3b7c66bc0d41aca6eaccd9dfa425ad9b41248e9bac26acdb331338db3aba
MD5 7cfb7c7cd4620adca0f46e87e7226635
BLAKE2b-256 05a64680d659369769a2b3b349a55bff965f526d1df77eeb325c016aa39978ce

See more details on using hashes here.

Provenance

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