Skip to main content

Python SDK for Vaultarq - The developer-first, invisible secrets manager

Project description

Vaultarq

Python SDK for Vaultarq - The developer-first, invisible secrets manager

This SDK provides a seamless integration with Vaultarq for Python applications, automatically loading secrets from your Vaultarq vault into your application's environment variables.

Installation

pip install vaultarq

Requirements

  • Vaultarq CLI installed and initialized
  • Python 3.7 or higher

Usage

Basic Usage

from vaultarq import load_env

# Load secrets into os.environ
load_env()

# Now use secrets from os.environ
import os
print(os.environ["API_KEY"])

With Options

from vaultarq import load_env

# Load secrets with custom options
load_env(
    environment="prod",  # Load secrets from specific environment
    throw_if_not_found=True,  # Throw error if Vaultarq not found
    bin_path="/usr/local/bin/vaultarq"  # Custom path to Vaultarq binary
)

Checking Availability

from vaultarq import is_available, load_env

# Check if Vaultarq is available
if is_available():
    load_env()
else:
    print("Vaultarq not found, using fallback")
    # ... your fallback logic

With Flask Application

from flask import Flask
from vaultarq import load_env

# Load secrets before creating the Flask app
load_env()

app = Flask(__name__)

@app.route('/')
def home():
    import os
    return f"Connected to database: {os.environ.get('DB_NAME', 'unknown')}"

if __name__ == '__main__':
    app.run(debug=True)

With Django

In your settings.py:

import os
from vaultarq import load_env

# Load environment variables from Vaultarq
load_env()

# Use secrets in your Django settings
SECRET_KEY = os.environ.get("DJANGO_SECRET_KEY")
DEBUG = os.environ.get("DEBUG", "False").lower() == "true"

DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.postgresql',
        'NAME': os.environ.get("DB_NAME"),
        'USER': os.environ.get("DB_USER"),
        'PASSWORD': os.environ.get("DB_PASSWORD"),
        'HOST': os.environ.get("DB_HOST", "localhost"),
        'PORT': os.environ.get("DB_PORT", "5432"),
    }
}

API

load_env(options)

Loads secrets from the Vaultarq vault into os.environ.

Parameters

Parameter Type Default Description
bin_path str 'vaultarq' Path to the Vaultarq executable
throw_if_not_found bool False Whether to throw an error if Vaultarq is not found
environment str Current linked env Environment to load secrets from
format str 'bash' Format to export secrets in ('bash', 'dotenv', or 'json')

Returns:

  • True if secrets were successfully loaded
  • False if loading failed (e.g., Vaultarq not installed)

is_available(bin_path='vaultarq')

Checks if Vaultarq is installed and accessible.

Returns True if Vaultarq is available, False otherwise.

License

MIT

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

vaultarq-0.1.9.tar.gz (5.1 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

vaultarq-0.1.9-py3-none-any.whl (4.4 kB view details)

Uploaded Python 3

File details

Details for the file vaultarq-0.1.9.tar.gz.

File metadata

  • Download URL: vaultarq-0.1.9.tar.gz
  • Upload date:
  • Size: 5.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.9.22

File hashes

Hashes for vaultarq-0.1.9.tar.gz
Algorithm Hash digest
SHA256 c5b075c63070a2bfea08bd1d199e27dfa6817b0acbb21f1c10f726e77300ae4b
MD5 bcdc8a4df2a2630253ed7bdbedd940a2
BLAKE2b-256 069ddfed11d4b4d7f4667e94292885c49d6998f3648170203798f4b3b933f58f

See more details on using hashes here.

File details

Details for the file vaultarq-0.1.9-py3-none-any.whl.

File metadata

  • Download URL: vaultarq-0.1.9-py3-none-any.whl
  • Upload date:
  • Size: 4.4 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.9.22

File hashes

Hashes for vaultarq-0.1.9-py3-none-any.whl
Algorithm Hash digest
SHA256 ee4ea0d528a12e4a178fd6e251364137ef67e8b760278f68d0aa82eb962e0b1f
MD5 19c6444e5224a8b11e081020388ff7f7
BLAKE2b-256 f6667ec2f33d4f6637cdb9f95d36ebb1ce0b11e4146c1411620a370a4cde9a49

See more details on using hashes here.

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