Skip to main content

A package to manage environment variables with database and custom env file support.

Project description

ENVRX

ENVRX is a Python class designed to manage environment variables seamlessly, providing support for various databases such as MongoDB, SQL, and Redis. It also supports env files (let it be .json, .env or even .yaml)

Table of Contents

Installation

pip install envrx
  • If you are using mongodb for database: pip install pymongo
  • or If using postgreSQL pip install psycopg2
  • or If using Redis pip install redis
  • Sqlite uses sqlite3

Usage

from envrx import ENVRX
import os

# Initialize ENVRX with optional parameters
env_manager = ENVRX(env_file=".env", database="mongodb://localhost:27017", collection_or_table_name="env_variables")

# or pass a database client client
client = MongoClient(...)
env_manager = ENVRX(env_file=".env", database=client, collection_or_table_name="env_variables")

# Initialize the environment
env_manager.initialize()
# Access loaded env
print(os.getenv("env_from_db_or_file"))

Class Initialization

  • env_file (Optional): Path to the environment file.
  • database (Optional): Database URL for MongoDB, SQL, or Redis.
  • collection_or_table_name (Optional): Name of the collection or table in the database.
# Example initialization
env_manager = ENVRX(env_file=".env", database="mongodb://localhost:27017", collection_or_table_name="env_variables")
# or if you have a database client
client = MongoClient(...)
env_manager = ENVRX(env_file=".env", database=client, collection_or_table_name="env_variables")

Loading Environment

  • initialize(): Initializes the class and loads environment variables from both the specified file and database.
# Example loading environment
env_manager.initialize()
  • Please note that, all variables will be auto loaded when running this and can be accessed through os.environ.get("foo_bar")

Database Operations

  • load_from_database(): Loads environment variables from the specified database.

  • get_env_from_database(key): Gets a specific environment variable from the database.

  • get_all_env_from_database(): Gets all environment variables from the database.

  • load_env_to_database(key, value): Loads a new environment variable to the database.

  • delete_env_from_database(key): Deletes an environment variable from the database.

  • update_env_in_database(key, value): Updates an environment variable in the database.

# Example database operations
value = env_manager.get_env_from_database("KEY_NAME")
env_manager.load_env_to_database("NEW_KEY", "NEW_VALUE")
env_manager.delete_env_from_database("OLD_KEY")
env_manager.update_env_in_database("EXISTING_KEY", "UPDATED_VALUE")

Examples

Database wise Examples can be found here.

License

This project is licensed under the GPL V3.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

envrx-0.0.4.tar.gz (20.9 kB view details)

Uploaded Source

Built Distribution

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

envrx-0.0.4-py3-none-any.whl (23.0 kB view details)

Uploaded Python 3

File details

Details for the file envrx-0.0.4.tar.gz.

File metadata

  • Download URL: envrx-0.0.4.tar.gz
  • Upload date:
  • Size: 20.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.14.0

File hashes

Hashes for envrx-0.0.4.tar.gz
Algorithm Hash digest
SHA256 f7610367625b22813e028a26dc7f5d4079a36ea158f58bb0a8e3205411a6749b
MD5 3c88149fc55966d236b4478361723616
BLAKE2b-256 f1e41ad63e5275da95b3c2c409c6dab765f35cbe7ea333fc944f4ebebd595476

See more details on using hashes here.

File details

Details for the file envrx-0.0.4-py3-none-any.whl.

File metadata

  • Download URL: envrx-0.0.4-py3-none-any.whl
  • Upload date:
  • Size: 23.0 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.14.0

File hashes

Hashes for envrx-0.0.4-py3-none-any.whl
Algorithm Hash digest
SHA256 e900689feb120b70a6f9d5d4c93f080d3904012c350d029b914a4179ea4227f1
MD5 d4313cb0d9ee3ccb30156877015f0937
BLAKE2b-256 6f44ce9b69641a5c410ccbb00db0d9fc8bafc67219875b15fae772fd45514c80

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