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

Uploaded CPython 3.12Windows x86-64

murk_secrets-0.5.9-cp312-cp312-manylinux_2_28_aarch64.whl (861.2 kB view details)

Uploaded CPython 3.12manylinux: glibc 2.28+ ARM64

murk_secrets-0.5.9-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.9-cp312-cp312-macosx_11_0_arm64.whl (787.3 kB view details)

Uploaded CPython 3.12macOS 11.0+ ARM64

murk_secrets-0.5.9-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.9.tar.gz.

File metadata

  • Download URL: murk_secrets-0.5.9.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.9.tar.gz
Algorithm Hash digest
SHA256 5c54f9605c03a4971e7c35c635698b8dbc252be0b32bee7709fea127e2a34d47
MD5 4660d7a23e42312a524da92eaa9dbe82
BLAKE2b-256 481ba69a1a93039e12329f1da3294556c44604ee8fde69d82da176a71bb02c46

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for murk_secrets-0.5.9-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 a5a6e4c5296f9e8d66afbd0c2f5476e2d7ec1940efad36d406793312d2e1f65d
MD5 926b6dd7f637353bd084faa45697b823
BLAKE2b-256 57fee44fcaaf9fa3d8aa017638877a82179cb982d3ef9c7dbedef8b416ccc58e

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for murk_secrets-0.5.9-cp312-cp312-manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 30bbdb59cdcee72e30f5864d20476f748c70be494094a84f9c6916883dbb1040
MD5 2d02bcfbc7d952f33a4ccef659451b87
BLAKE2b-256 a594075995e12053572db61b562b00b664ea7fd31abddbac02bc1351050bce99

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for murk_secrets-0.5.9-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 9faa7d4cdb79051dac20e45c11da7fdb3d9f913099f1c38a43509912c6e9c8b1
MD5 07fd8e3f89d95bd30ecd982bcdfa916c
BLAKE2b-256 6c1e6480f56053231ce6533801ac7c3c5085f14b5288ebb83bb2ec6aed49401b

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for murk_secrets-0.5.9-cp312-cp312-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 4bd01f7ddc8d9d033af4152b300659ec82c1982a284eb99789a9339071082c69
MD5 9f5da7c02111c823d9bb366d3f39c4a5
BLAKE2b-256 ed5d3105e70c4b30a7a7e8eb695891d0f66f364c7fb582fff0d13073bd3ae692

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for murk_secrets-0.5.9-cp312-cp312-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 e41f74a8c973a60003ad5542a3e1bd1b78da5ed95bb7f9a08b89a616b5601fd7
MD5 9673d6bdf7b0aeb29410120605a0af3a
BLAKE2b-256 5117121f05267cfc6c6b03ba950f9d21a8b118f319e5f215453e1d4b96f0d898

See more details on using hashes here.

Provenance

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