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

Uploaded CPython 3.12Windows x86-64

murk_secrets-0.5.7-cp312-cp312-manylinux_2_28_aarch64.whl (861.6 kB view details)

Uploaded CPython 3.12manylinux: glibc 2.28+ ARM64

murk_secrets-0.5.7-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (913.0 kB view details)

Uploaded CPython 3.12manylinux: glibc 2.17+ x86-64

murk_secrets-0.5.7-cp312-cp312-macosx_11_0_arm64.whl (787.5 kB view details)

Uploaded CPython 3.12macOS 11.0+ ARM64

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

File metadata

  • Download URL: murk_secrets-0.5.7.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.7.tar.gz
Algorithm Hash digest
SHA256 506ea1843707e72830c64c756a375f09ee21c6d4726605b8fe5cc0d8a316a8a4
MD5 72a900f4f3d96c1d7abe02596aa05c89
BLAKE2b-256 f18bf7e305f6f3ef213bd6c9ad3efee53dce0f6428099fcf010297d24c40c373

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for murk_secrets-0.5.7-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 f8a1ec99d611b3b4d74e0f5db794dae95d84e02035e82aa41b97d4db4cf74661
MD5 1d5b543f6c84f40c65f22f552c1691c2
BLAKE2b-256 381385cac5b3f401a935e6f43e046690d03913a3f9c5f726120560a5e7324f36

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for murk_secrets-0.5.7-cp312-cp312-manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 866a0341a4ca53b0ce475458314c2c96e9e14ccde57d6d2c6842943eed375fdb
MD5 defe1724d784fa85f579a7e51bf3b0a5
BLAKE2b-256 e02fa1f3679347ab052bda1e9ab3fd55fd09ed768649ca673c5a0f90f4db68aa

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for murk_secrets-0.5.7-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 b0174fe79868001fe68aad8712a266a25ce9e4c42c8c78900cb211ea9da5bf7f
MD5 c33420643a5c00c334526f19d2e39c5f
BLAKE2b-256 e1b77fb9259db6d4f652ec4c2d7a520bbf49716d7ae5b41cac1718506cb87d6d

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for murk_secrets-0.5.7-cp312-cp312-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 f75ae63b8ff5f70ef271cf21c7010ccf29bb80227a8dcf91445ea9a5fb89ef71
MD5 54f2beb07b8bb7250416d25649c16681
BLAKE2b-256 7334b162a49f0e7d9a08e63892eb5502997578f6e5a79a1943003b39ddab09ce

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for murk_secrets-0.5.7-cp312-cp312-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 09e78cfefa4c9be819424208f3d4f707e35fcbebcdee2f8e00388b83a306eb70
MD5 3da9a97794a3e1c8fea0063011436645
BLAKE2b-256 885741b51cc6e4b7aac8d671e890e5ce00f6b9305c334b413d4fb7f334aa3aed

See more details on using hashes here.

Provenance

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