Skip to main content

Secure, encrypted configuration storage for Python applications

Project description

ConfigVault

PyPI - Version PyPI - Python Version GitHub License PyPI - Wheel

ConfigVault is a Python library that provides secure, encrypted configuration storage for sensitive data. It allows you to store, retrieve, and manage configuration settings with ease and security. Perfect for applications that require protected access to configuration details like API keys or database credentials.

Table of Contents

Installation

To use ConfigVault, install it using pip:

pip install configvault

Features

  • Secure, encrypted storage for sensitive configuration data.
  • Supports storing, retrieving, and removing specific configurations by key.
  • Option to overwrite existing configurations with @force=True@.
  • Ability to clear all stored configurations at once.

Usage

Basic Initialization

To get started, initialize ConfigVault with a storage folder path and a password for key derivation. A unique, strong password is recommended.

from configvault import ConfigVault

vault = ConfigVault(folder_path='path/to/storage', password='my_secure_password')

Storing Configuration

Store a configuration dictionary securely under a specific key. Set force=True if you want to overwrite an existing entry.

data = {"database": "mydb", "user": "admin", "password": "secure_password"} 
vault.store("db_config", data, force=True) # Overwrites if "db_config" exists

Retrieving Configuration

Retrieve and decrypt stored data by its key.

retrieved_data = vault.retrieve("db_config") 
print(retrieved_data) # Output: {"database": "mydb", "user": "admin", "password": "secure_password"}

Removing Configurations

To remove a specific configuration by its key, use the remove method.

vault.remove("db_config") # Removes the configuration with key "db_config"

To remove all stored configurations, use the remove_all method:

vault.remove_all() # Clears all configurations

Security

ConfigVault uses @cryptography@ for secure encryption based on a key derived from your password. For optimal security:

  • Use a strong, unique password.
  • Store your password securely (e.g., in an environment variable).
  • Set a unique folder path for each application's configurations.

ConfigVault is ideal for applications that need sensitive data management, providing a reliable, encrypted storage solution.

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

configvault-0.0.1.tar.gz (5.5 kB view details)

Uploaded Source

Built Distribution

configvault-0.0.1-py3-none-any.whl (6.5 kB view details)

Uploaded Python 3

File details

Details for the file configvault-0.0.1.tar.gz.

File metadata

  • Download URL: configvault-0.0.1.tar.gz
  • Upload date:
  • Size: 5.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.1 CPython/3.9.20

File hashes

Hashes for configvault-0.0.1.tar.gz
Algorithm Hash digest
SHA256 08927ad1ba482de92826dd93c66450aa96165dfb53eca7b2912d52e126dc39dc
MD5 5397f4d474ecd3a5655bb9cdc3b4ec96
BLAKE2b-256 4d26c0b4e7e313f30de88711913003651a149cd9426b7d7a0e8ef95f9db6c6ed

See more details on using hashes here.

File details

Details for the file configvault-0.0.1-py3-none-any.whl.

File metadata

  • Download URL: configvault-0.0.1-py3-none-any.whl
  • Upload date:
  • Size: 6.5 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.1 CPython/3.9.20

File hashes

Hashes for configvault-0.0.1-py3-none-any.whl
Algorithm Hash digest
SHA256 a1715e55a591d072f6d71189f135960a960a6f951da5d7272cddd5a6a1a0addc
MD5 97c5842dc5e30ac4562fe1bf32e2e23b
BLAKE2b-256 0526db1a5457756f929d54fda19227f7f7ce9b1e61a1998ba7c087f61c84c19b

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page