Skip to main content

The `abstract_security` module is a Python utility that provides functionality for managing environment variables and securely loading sensitive information from `.env` files. It is designed to simplify the process of accessing and managing environment variables within your Python applications.

Project description

Abstract Security

The abstract_security module is a Python utility that provides functionality for managing environment variables and securely loading sensitive information from .env files. It is designed to simplify the process of accessing and managing environment variables within your Python applications.

Table of Contents

Features

  • Flexible .env File Location: Searches for .env files in current working directory, home directory, and a special .envy_all directory within the home directory.
  • Clean and Secure Key Retrieval: Offers functionality to cleanly split strings at equals signs and safely retrieve environment variable values.

Installation

Install abstract_security using pip:

pip install abstract-security

Usage

Basic Usage

Here's a simple example to get started:

from abstract_security import get_env_value

env_key = 'YOUR_ENV_VARIABLE_KEY'
value = get_env_value(key=env_key)

Advanced Usage

The AbstractEnv class can be used for more advanced scenarios, including custom paths and file names for the .env file.

from abstract_security import AbstractEnv

# Initialize with custom parameters
abstract_env = AbstractEnv(key='YOUR_ENV_VARIABLE_KEY', file_name='custom.env', path='/custom/path')
value = abstract_env.env_value

##Functions

AbstractEnv Class

The AbstractEnv class allows you to manage environment variables and securely load values from a .env file. Here's how to use it:

Initializing an AbstractEnv Object

# Create an AbstractEnv object with default settings
abstract_env = AbstractEnv()

You can also customize the initialization by specifying the key, file name, and path as follows:

# Custom initialization
abstract_env = AbstractEnv(key='MY_PASSWORD', file_name='.env', path='/path/to/.env')

Getting Environment Variable Values

You can retrieve the value of a specific environment variable using the get_env_value method of the AbstractEnv object:

# Retrieve the value of a specific environment variable
value = abstract_env.get_env_value(key='YOUR_ENV_VARIABLE')

get_env_value Function

Alternatively, you can use the get_env_value function to directly retrieve the value of an environment variable without creating an AbstractEnv object:

from abstract_security import get_env_value

# Retrieve the value of a specific environment variable
value = get_env_value(key='YOUR_ENV_VARIABLE', path='/path/to/.env')

API Reference

AbstractEnv Class

AbstractEnv(key='MY_PASSWORD', file_name='.env', path=os.getcwd())

Initializes an AbstractEnv object to manage environment variables.

  • key (str, optional): The key to search for in the .env file. Defaults to 'MY_PASSWORD'.
  • file_name (str, optional): The name of the .env file. Defaults to '.env'.
  • path (str, optional): The path where the .env file is located. Defaults to the current working directory.

re_initialize(key='MY_PASSWORD', file_name='.env', path=os.getcwd())

Re-initializes an AbstractEnv object with new settings.

  • key (str, optional): The key to search for in the .env file. Defaults to 'MY_PASSWORD'.
  • file_name (str, optional): The name of the .env file. Defaults to '.env'.
  • path (str, optional): The path where the .env file is located. Defaults to the current working directory.

get_env_value(key='MY_PASSWORD', path=os.getcwd(), file_name='.env')

Retrieves the value of the specified environment variable.

  • key (str): The key to search for in the .env file.
  • path (str): The path to the environment file.
  • file_name (str): The name of the environment file.

get_env_value Function

get_env_value(key=None, path=None, file_name=None)

Retrieves the value of a specified environment variable from a .env file.

  • key (str, optional): The key to search for in the .env file. Defaults to None.
  • path (str, optional): The path to the .env file. Defaults to None.
  • file_name (str, optional): The name of the .env file. Defaults to None.

License

This module is distributed under the MIT License.


For more information and usage examples, please refer to the GitHub repository and PyPI package.

If you encounter any issues or have questions, feel free to open an issue on GitHub or contact the author, putkoff, for assistance.

Contact

Author: putkoff
Email: partners@abstractendeavors.com
Project Link: https://github.com/AbstractEndeavors/abstract_security

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

abstract_security-0.61.tar.gz (7.5 kB view details)

Uploaded Source

Built Distribution

abstract_security-0.61-py3-none-any.whl (7.2 kB view details)

Uploaded Python 3

File details

Details for the file abstract_security-0.61.tar.gz.

File metadata

  • Download URL: abstract_security-0.61.tar.gz
  • Upload date:
  • Size: 7.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.1 CPython/3.12.4

File hashes

Hashes for abstract_security-0.61.tar.gz
Algorithm Hash digest
SHA256 bca8296294a8dc969709575a6336dd1dde1c2e8a77e6e924693bc0c996f17193
MD5 8eeb926af9f84e3b11575dab75b6e501
BLAKE2b-256 5fd1edb21f0e5d5f0bfc79bf6e7e95f0b5211ed47db0b68352f5224232977bdf

See more details on using hashes here.

File details

Details for the file abstract_security-0.61-py3-none-any.whl.

File metadata

File hashes

Hashes for abstract_security-0.61-py3-none-any.whl
Algorithm Hash digest
SHA256 1571b6a74bb179b7ded084e9ed17e19068250bc4c42f19ab1fadfe16a8df5fbd
MD5 3dbcb6013f97a25b3c129889a7dafa5e
BLAKE2b-256 ec8cff1f3c1657ca1f52b313fdf5954046512246bab33442cd4b9137c39df2eb

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