Smart Environment Wrapper Library
Project description
SmartEnv - OS Environment Wrapper Library
A flexible, easy-to-use library for managing environment variables in your Python script.
Why yet another one?
This library comes with a few major points to use it:
- It is easy and intuitive (see examples)
- It's compatible with Python 2 (can be useful in old large systems)
- Continuous support of the library
Getting started
This library is pretty easy to use:
from smart_env import ENV
print(ENV.HOME) # Equals print(os.environ['HOME'])
# assuming you set env variable MYVAR to "True"
ENV.enable_automatic_type_cast()
my_var = ENV.MY_VAR # Equals boolean True
ENV.NEW_VAR = 100 # Sets a new environment variable
How to use
In a few words, the logic is next:
- You can store a lot of serialized values in Environment variables and then deserialize them on fly using ENV class.
- Each environment variable can be accessed as an attribute of ENV class:
ENV.<variable_name>
- The internal decoding mechanism is based on json and ast packages. That means, you can parse even some JSON-incompatible values (for example, with single quotes used for defining strings).
Installing
Simply run
pip install smart-env
Running the tests
This library contains tests written using unittest module, so just run in the project directory
python -m unittest
Also it's possible to run tests using Tox:
tox -e <env>
Tests coverage is one of the important goals of this project. For now coverage is next:
- For Python 2.7: 98%
- For Python 3.x: 96%
Supported environments:
- py27
- py35
- py36
- py37
- py38
- coverage (using Python 3)
- coverage (using Python 2.7)
- pep8 (style checking)
Restrictions
-
Old versions of Python in both generations (e.g. 2.6, 3.4, etc) will never be supported. However, you always can implement such support in your forks.
-
Parsing set() objects is not working in Python 2. See this for details.
Authors
- Alex Sokolov - Author - Albartash
Contacts
- Telegram channel with updates: @bart_tools
License
This project is licensed under the MIT License - see the LICENSE.md file for details.
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distributions
Built Distribution
Hashes for smart_env-1.0.1-py2.py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 00be1389cfee269bac54691eaaaae04fccc7478d315f8f3128af02182d355a43 |
|
MD5 | 411a1ad766a901ea24fdc1925615b8ca |
|
BLAKE2b-256 | 3204c02e43df0bfb07510de9b1943f2459327e66ce89c74f4947727111e53f1c |