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

Uploaded CPython 3.12Windows x86-64

murk_secrets-0.4.1-cp312-cp312-manylinux_2_28_aarch64.whl (849.5 kB view details)

Uploaded CPython 3.12manylinux: glibc 2.28+ ARM64

murk_secrets-0.4.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (900.0 kB view details)

Uploaded CPython 3.12manylinux: glibc 2.17+ x86-64

murk_secrets-0.4.1-cp312-cp312-macosx_11_0_arm64.whl (805.5 kB view details)

Uploaded CPython 3.12macOS 11.0+ ARM64

murk_secrets-0.4.1-cp312-cp312-macosx_10_12_x86_64.whl (873.9 kB view details)

Uploaded CPython 3.12macOS 10.12+ x86-64

File details

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

File metadata

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

File hashes

Hashes for murk_secrets-0.4.1.tar.gz
Algorithm Hash digest
SHA256 3cb7738086736737a663eb01e9f861a6a17f2204ab358a89ed8f12f29148bf55
MD5 03a240e37e8dbeb7d2e4f8875d3c3515
BLAKE2b-256 5a778563b857d75893fbd23a5bce81330d1213240404610c74709be70351151b

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for murk_secrets-0.4.1-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 3d5fcfddf9285f9fa5e6350df59688103f928863d16dd4e2dc3fb18f17d498e8
MD5 0e91c0a9c4554798c6d7302222205f3d
BLAKE2b-256 8135fef7a3698f10ff52ba394af82b2d6e4a12ac3a47f575d4fe59d83399317c

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for murk_secrets-0.4.1-cp312-cp312-manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 f76313b6db15b737c6fdd6d8a0538b02f729339f0952c79f3e889e2aa82ec238
MD5 45aebf09506b9480d5fa0da3f556c7e5
BLAKE2b-256 db667c314f59292587de612bba0f4668127be11e0194a6a7727b549681f50032

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for murk_secrets-0.4.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 8240977d92f65c13e9a4a4062255825f8f0be49b3920f032be1c1124c99c98dd
MD5 767add9bdfb7c4cfcb6412c496fcd909
BLAKE2b-256 73ff3dbca3662e76fa9bf82994a31756bbc9d114c3ff8423a8cbcda9cfd5cb8d

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for murk_secrets-0.4.1-cp312-cp312-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 54484a4657cd13ee8def24f57ca6471b30f22bb75516b8153d354034d7e5b475
MD5 208878ef1ccabcfd6d67a2da1d33a2f7
BLAKE2b-256 c5d3a4d897d5a4a3aa97eaa663e2f9090e2dfb5d4a8395a78effc7cabe5b2016

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for murk_secrets-0.4.1-cp312-cp312-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 3c01b0935654ac98a747c0035548c08ddcaae40e7df196b8a07ee6a0cf22be50
MD5 01c47001e4f59a725fb55b47d74f9c86
BLAKE2b-256 9a0ad0778767e75fe4c3ef1cc41e20076ea00aa851ce25b4cde1507077a293f5

See more details on using hashes here.

Provenance

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