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.2.tar.gz (5.5 kB view details)

Uploaded Source

Built Distribution

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

Uploaded Python 3

File details

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

File metadata

  • Download URL: configvault-0.0.2.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.2.tar.gz
Algorithm Hash digest
SHA256 b980334e74132641cd4bf72d2e2b3cc90c4e8f11274f592c33da759fdef22a03
MD5 f0f408ca7c833e30aa40fa1161e09f2f
BLAKE2b-256 7ae921383fcd6df996b9f4295ae84cd89b48bd1ce9b47ecfdc4e63087ec03168

See more details on using hashes here.

File details

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

File metadata

  • Download URL: configvault-0.0.2-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.2-py3-none-any.whl
Algorithm Hash digest
SHA256 3c726565e9aed6d8c0f9c985453643dba1f092fead206e8e983c6d7739a5af20
MD5 e0a8661ffca5bb739dab8709d2e95cf9
BLAKE2b-256 7eaaa72421edb45cf9d2884d0206dc31c19a0d263aeae665fbbb46ddb6e594db

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