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,releaseandsome_path. - ArgCat will find
-eor--envin args for env. - ArgCat will find
-ror--releasein args for release. - ArgCat will find
-sor--some_pathin args for some_path. - ArgCat will find
ENVin environment for env. - ArgCat will find
RELEASEin environment for release. - ArgCat will find
SOME_PATHin environment for some_path. from_arg_and_environwill 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_allto beTure.environ_override_alldefault 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
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
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
|