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.6.2.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.6.2-cp312-cp312-win_amd64.whl (1.1 MB view details)

Uploaded CPython 3.12Windows x86-64

murk_secrets-0.6.2-cp312-cp312-manylinux_2_28_aarch64.whl (1.0 MB view details)

Uploaded CPython 3.12manylinux: glibc 2.28+ ARM64

murk_secrets-0.6.2-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (1.1 MB view details)

Uploaded CPython 3.12manylinux: glibc 2.17+ x86-64

murk_secrets-0.6.2-cp312-cp312-macosx_11_0_arm64.whl (948.7 kB view details)

Uploaded CPython 3.12macOS 11.0+ ARM64

murk_secrets-0.6.2-cp312-cp312-macosx_10_12_x86_64.whl (1.0 MB view details)

Uploaded CPython 3.12macOS 10.12+ x86-64

File details

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

File metadata

  • Download URL: murk_secrets-0.6.2.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.6.2.tar.gz
Algorithm Hash digest
SHA256 7fd91ce79457c7305eb767f8721fcb029adfaa66e155762395217df900f4fe1b
MD5 d77bbe00469613e234fa5baa2a87cc6e
BLAKE2b-256 4e1b562cd9ad968b8eff7cd28b1da4727c705e5fc1ea63889c639d3a846ddf70

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for murk_secrets-0.6.2-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 d3e0fa51fa75c613e81b94c4c3eab5bb24dd1c45ebc3a60e5adbce3fecf5daaa
MD5 4847821d3e4f5013664407cfb55a767e
BLAKE2b-256 c2e8573676242e5356a365efc5a2acbb465add62b6905393970f49f02f1ef7f5

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for murk_secrets-0.6.2-cp312-cp312-manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 01671b6e208a16f240d9238d63d84711897255968348983cca948b232b65cecb
MD5 1810e7060b4dd9cb6d805986468c7052
BLAKE2b-256 6376caae746d29ba01ca34da4714f34450b9f87a370e0afb9ce20810d1515ded

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for murk_secrets-0.6.2-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 f5458d939eec89ca58f5e802e5714dc63df9921b82cc72334a6fb1da5140f02e
MD5 85f029d726bfedca4cf8958d13d6180e
BLAKE2b-256 7616e93f1f07741dd9765a02bc5f26e149f16014792e457513b4ecfee9a25b0f

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for murk_secrets-0.6.2-cp312-cp312-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 0b5e37f88a0113240e3885c2e4250d65880fb683dd601aeef7002168a9b68c72
MD5 017af3379ab6788bc9fe5c48469a0026
BLAKE2b-256 123d8ca2a12a183f63aa6ea8a5bd6c5c8637fbb61ddb2da2313174e3046046fa

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for murk_secrets-0.6.2-cp312-cp312-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 28ca41a66ec76d2764c8a124938f373d712a3fc2e1c017d0ed0865061aca950e
MD5 37724628c6c51922e0516cf4a6af16e9
BLAKE2b-256 4ed15f8297d09bf30c7081762bf1af2700caed1cbf73978dc04327ea5e736461

See more details on using hashes here.

Provenance

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