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

Uploaded CPython 3.12Windows x86-64

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

Uploaded CPython 3.12manylinux: glibc 2.28+ ARM64

murk_secrets-0.6.1-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.1-cp312-cp312-macosx_11_0_arm64.whl (935.2 kB view details)

Uploaded CPython 3.12macOS 11.0+ ARM64

murk_secrets-0.6.1-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.1.tar.gz.

File metadata

  • Download URL: murk_secrets-0.6.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.13

File hashes

Hashes for murk_secrets-0.6.1.tar.gz
Algorithm Hash digest
SHA256 0508aeec5c32093ee9516e7da1d176709718436fc958935cc995a27c950f3b5f
MD5 554d2c005b2475448839144486480e16
BLAKE2b-256 763b2d41f51d856098e7c3b4087513631783bea8ac7c1bcb3aa74f74c072dce9

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for murk_secrets-0.6.1-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 d82b274384ce1683449c667c017384e32033fa98064b91a6359b51d19c8c7c74
MD5 e0838ece4dc99e1248b15362a67b2dd7
BLAKE2b-256 92ed790f3ae437f2adb4fc19b45e803f52484e40aa2a0fa7bd8caeadcfbce0ed

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for murk_secrets-0.6.1-cp312-cp312-manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 7c35dfcaff8dbd70f272d5ef490977f48e2e0e542e676d1af0ca87875985b034
MD5 17fa147f8853c1ce7950c6090137c916
BLAKE2b-256 09cdaf7753f4051401e11e80040f90c0006e81198fd3ed60c0d29bb0325192cc

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for murk_secrets-0.6.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 53989bbe04045d913afb8602227292ed62d7259473f6606797b105c22842dee9
MD5 84eda8832a8e183461460b4bea214832
BLAKE2b-256 4c82f752948a28f35462ca0c7718d78984e68acc5e41e66bcf2e0f4efa0837c6

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for murk_secrets-0.6.1-cp312-cp312-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 c7570b723dfab47e0d0da96748226febf02578023f4897cc8d674a5e0ded3f27
MD5 b52356c4350009c436cfa690cdc7c6ee
BLAKE2b-256 196be817a331568886a4a07d0b1045bfbe712f71f736305c5ab74b2ddf7abdf6

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for murk_secrets-0.6.1-cp312-cp312-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 300ef4fabee060ceaea777333a8d58eb081d0158e1c64ed479ef93d0465e0bd5
MD5 c320878ccb1c0670c586ec6a51f925ef
BLAKE2b-256 3d9345dc6ea2ea1fe106eaad334534de48b5849a8d625b2c2626711b2c132ef4

See more details on using hashes here.

Provenance

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