Skip to main content

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 and some_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 let environ_override_all to be Ture. environ_override_all default value is False.
  • 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)

Uploaded Source

Built Distribution

arg_cat-1.0.4-py3-none-any.whl (4.8 kB view details)

Uploaded Python 3

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

Hashes for arg_cat-1.0.4.tar.gz
Algorithm Hash digest
SHA256 1dd2158ac0fe1e5f8492a02024dadb331b27b3fc18e5cad9fee5c2b97d886b75
MD5 cd79fd3a5a2218fb6c455fb8b54038d7
BLAKE2b-256 989e3256eed75d597c09924de25b36a890e58b7b71f5c1942f9e8f9226c36589

See more details on using hashes here.

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

Hashes for arg_cat-1.0.4-py3-none-any.whl
Algorithm Hash digest
SHA256 2710fdc29641d219701277af81cd1a60ab546455858b85e751732b58873b5576
MD5 854187dbe71acf342367bee68dfc0733
BLAKE2b-256 77c6f65a406a67086250124223f0626b82b14680117a9c95c849a14bb9e0b692

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