Params from arg and environment
Project description
Arg Cat Package
This is a package for read params from args and env.
How to Use
argcat.add_key("env")
This will find args -e
or --env
, or find environment ENV
.
- Only read arg:
argcat.from_arg()
- Only read environment:
argcat.from_environ()
- Read both arg and environment:
argcat.from_arg_and_environ()
- Remove arg:
argcat.remove("env")
Example
from arg_cat import ArgCat
argcat = ArgCat()
argcat.add_key("env")
argcat.add_key("release", is_a_bool=True)
argcat.add_key("some_path", is_a_path=True)
argcat.from_arg_and_environ(environ_override_all=False)
print(f'env: {argcat.get_string("env")}')
print(f'release: {argcat.get_bool("release")}')
print(f'some_path: {argcat.get_string("some_path")}')
- This example will get 3 params,
env
,release
andsome_path
. - ArgCat will find
-e
or--env
in args for env. - ArgCat will find
-r
or--release
in args for release. - ArgCat will find
-s
or--some_path
in args for some_path. - ArgCat will find
ENV
in environment for env. - ArgCat will find
RELEASE
in environment for release. - ArgCat will find
SOME_PATH
in environment for some_path. from_arg_and_environ
will using environment first, then using the args value to override those values. Sometimes, you may want to use environment value to override the args value, you should letenviron_override_all
to beTure
.environ_override_all
default value isFalse
.- Running this will be like:
python3 demo.py --env dev -r -s ./this/is/path
Situation 1
environ_override_all=False
Environment:
ENV=this is from env
RELEASE=False
Args:
--env "from arg" -s ./hello
Result:
env: from arg
release: False
some_path: YOUR_WORK_PATH/./hello
Situation 2
environ_override_all=True
Environment:
ENV=this is from env
RELEASE=False
Args:
--env "from arg" -s ./hello
Result:
env: this is from env
release: False
some_path: YOUR_WORK_PATH/./hello
Sync File
Default, we using ./params.json
file to be the params file.
sync_from_file
will remove all of exist values, and load those params json file's values.
argcat = ArgCat(params_file='YOUR_CUSTOM_PARAMS_FILE.json')
argcat.sync_to_file()
argcat.sync_from_file()
Note for owner
Build
python -m build
Release To Test
python3 -m twine upload --repository testpypi dist/*
Release To Release
python3 -m twine upload dist/*
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
arg_cat-1.0.4.tar.gz
(4.7 kB
view details)
Built Distribution
File details
Details for the file arg_cat-1.0.4.tar.gz
.
File metadata
- Download URL: arg_cat-1.0.4.tar.gz
- Upload date:
- Size: 4.7 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.4.2 importlib_metadata/4.6.1 pkginfo/1.7.1 requests/2.26.0 requests-toolbelt/0.9.1 tqdm/4.61.2 CPython/3.8.2
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 1dd2158ac0fe1e5f8492a02024dadb331b27b3fc18e5cad9fee5c2b97d886b75 |
|
MD5 | cd79fd3a5a2218fb6c455fb8b54038d7 |
|
BLAKE2b-256 | 989e3256eed75d597c09924de25b36a890e58b7b71f5c1942f9e8f9226c36589 |
File details
Details for the file arg_cat-1.0.4-py3-none-any.whl
.
File metadata
- Download URL: arg_cat-1.0.4-py3-none-any.whl
- Upload date:
- Size: 4.8 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.4.2 importlib_metadata/4.6.1 pkginfo/1.7.1 requests/2.26.0 requests-toolbelt/0.9.1 tqdm/4.61.2 CPython/3.8.2
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 2710fdc29641d219701277af81cd1a60ab546455858b85e751732b58873b5576 |
|
MD5 | 854187dbe71acf342367bee68dfc0733 |
|
BLAKE2b-256 | 77c6f65a406a67086250124223f0626b82b14680117a9c95c849a14bb9e0b692 |