diff options
author | CoprDistGit <infra@openeuler.org> | 2023-04-11 19:35:17 +0000 |
---|---|---|
committer | CoprDistGit <infra@openeuler.org> | 2023-04-11 19:35:17 +0000 |
commit | 71cebece2f0cfdd8e7eb7b842cbfbcd63f347ded (patch) | |
tree | fc6675bfd5986a7fcd6777b75967b8b1372bbfac | |
parent | 99c2b0469809600fb40f02f640d5213415921050 (diff) |
automatic import of python-rhea
-rw-r--r-- | .gitignore | 1 | ||||
-rw-r--r-- | python-rhea.spec | 899 | ||||
-rw-r--r-- | sources | 1 |
3 files changed, 901 insertions, 0 deletions
@@ -0,0 +1 @@ +/rhea-0.5.5.tar.gz diff --git a/python-rhea.spec b/python-rhea.spec new file mode 100644 index 0000000..b7d3ce9 --- /dev/null +++ b/python-rhea.spec @@ -0,0 +1,899 @@ +%global _empty_manifest_terminate_build 0 +Name: python-rhea +Version: 0.5.5 +Release: 1 +Summary: Efficient environment variables management and typing for python. +License: MIT +URL: https://github.com/polyaxon/rhea +Source0: https://mirrors.nju.edu.cn/pypi/web/packages/7a/7a/634aaa4f5b7ed0b98462e295f7cbb625faa13dd9c1ca47feb5ea5d3a288b/rhea-0.5.5.tar.gz +BuildArch: noarch + +Requires: python3-PyYAML +Requires: python3-six + +%description +[](LICENSE) +[](https://travis-ci.org/polyaxon/rhea) +[](https://badge.fury.io/py/rhea) +[](https://www.codacy.com/app/polyaxon/rhea?utm_source=github.com&utm_medium=referral&utm_content=polyaxon/rhea&utm_campaign=Badge_Grade) +[](https://join.slack.com/t/polyaxon/shared_invite/enQtMzQ0ODc2MDg1ODc0LWY2ZTdkMTNmZjBlZmRmNjQxYmYwMTBiMDZiMWJhODI2ZTk0MDU4Mjg5YzA5M2NhYzc5ZjhiMjczMDllYmQ2MDg) + +# rhea + +Efficient environment variables management and typing for python. + +## Installation + +``` +pip install -U rhea +``` + +## Features + + * Typed retrieval of environment variables. + * Handling of optional, secret, and local variables. + * Reading from different sources: os, json files, yaml files. + * Collection of parsed parameters. + +## Usage + +### Reading typed values from a params + + +```python +from rhea import Rhea + +rhea_config = Rhea(bool_value1='1', + bool_value2='false', + bool_value3=True) + +rhea_config.get_boolean('bool_value1') +# True + +rhea_config.get_boolean('bool_value2') +# False + +rhea_config.get_boolean('bool_value3') +# True +``` + +### Reading typed values from a env vars + + +```python +import os + +from rhea import Rhea + +rhea_config = Rhea.read_configs(os.environ) +``` + +### Reading typed values from different sources + +```python +import os + +from rhea import Rhea + +rhea_config = Rhea.read_configs([os.environ, + 'json_file.json', + 'yaml_file.yaml', + 'another_file_override.json', + {'foo': 'bar'}]) +``` + +### Base types + +examples: + +``` +BOOL_ENV_VALUE1: 1 +BOOL_ENV_VALUE2: true +BOOL_ENV_VALUE3: f +BOOL_ENV_VALUE4: on + +INT_ENV_VALUE1: '1' +INT_ENV_VALUE2: -100 + +STRING_ENV_VALUE: 'some string' + +FLOAT_ENV_VALUE1: '1.1' +FLOAT_ENV_VALUE2: -1.3 +FLOAT_ENV_VALUE3: 1111.1 +FLOAT_ENV_VALUE4: -33 + +DICT_ENV_VALUE: {"foo": "bar", "1": "2"} + +LIST_ENV_VALUE: 'foo, bar, boo' + +URI_ENV_VALUE1: user:pass@host.com +URI_ENV_VALUE2: user:pass@host:4000 + +AUTH_ENV_VALUE: user:pass +``` + +Reading: + +```python +from rhea import Rhea + +rhea_config = Rhea.read_configs([...]) + +rhea_config.get_boolean('BOOL_ENV_VALUE1') +# True +rhea_config.get_boolean('BOOL_ENV_VALUE2') +# True +rhea_config.get_boolean('BOOL_ENV_VALUE3') +# False +rhea_config.get_boolean('BOOL_ENV_VALUE4') +# True + +rhea_config.get_int('INT_ENV_VALUE1') +# 1 +rhea_config.get_int('INT_ENV_VALUE2') +# -100 + +rhea_config.get_string('STRING_ENV_VALUE') +# some string + +rhea_config.get_float('FLOAT_ENV_VALUE1') +# 1.1 +rhea_config.get_float('FLOAT_ENV_VALUE1') +# -1.3 +rhea_config.get_float('FLOAT_ENV_VALUE1') +# 1111.1 +rhea_config.get_float('FLOAT_ENV_VALUE1') +# -33.0 + +rhea_config.get_dict('DICT_ENV_VALUE') +# {'foo': 'bar', '1': '2'} + +rhea_config.get_list('LIST_ENV_VALUE') +# ['foo', 'bar', 'boo'] + +rhea_config.get_uri('URI_ENV_VALUE1') +# UriSpec('user', 'pass', 'host') + +rhea_config.get_uri('URI_ENV_VALUE2') +# UriSpec('user', 'pass', 'host:4000') + +rhea_config.get_uri('AUTH_ENV_VALUE') +# AuthSpec('user', 'pass') +``` + +### List of base types + +examples: + +``` +BOOLS_ENV_VALUE: '[1, 0, "true", "false", "t", "f", "on", "off"]' +INTS_ENV_VALUE: '[1, 0, -100]' +STRINGS_ENV_VALUE: '["some_string", "another_string"]' +FLOATS_ENV_VALUE: '[1.1, -1.3, 0.03, 1111.1, 1.]' +DICTS_ENV_VALUE: '[{"foo": "bar", "1": 2}, {"foo": "bar", "1": 2}]' +DICT_OF_DICTS_ENV_VALUE: '{"key1": {"foo": "bar", "1": 2}, "key2": {"foo": "bar", "1": 2}}' +URIS_ENV_VALUE: '["user:pass@host.com", "user:pass@host:4000"]' +AUTHS_ENV_VALUE: '["user1:pass1", "user2:pass2"]' +``` + +Reading: + +```python +from rhea import Rhea + +rhea_config = Rhea.read_configs([...]) + +rhea_config.get_boolean('BOOLS_ENV_VALUE', is_list=True) +# [True, False, True, False, True, False, True, False] + +rhea_config.get_int('INTS_ENV_VALUE', is_list=True) +# [1, 0, -100] + +rhea_config.get_string('STRINGS_ENV_VALUE', is_list=True) +# ['some_string', 'another_string'] + +rhea_config.get_float('FLOATS_ENV_VALUE', is_list=True) +# [1.1, -1.3, 0.03, 1111.1, 1.0] + +rhea_config.get_dict('DICTS_ENV_VALUE', is_list=True) +# [{'foo1': 'bar1', '1': 2}, {'foo2': 'bar2', '3': 4}] + +rhea_config.get_dict_of_dicts('DICT_OF_DICTS_ENV_VALUE') +# {'key1': {'foo': 'bar', '1': 2}, 'key2': {'foo': 'bar', '1': 2}} + +rhea_config.get_uri('URIS_ENV_VALUE', is_list=True) +# [UriSpec('user', 'pass', 'host'), UriSpec('user', 'pass', 'host:4000')] + +rhea_config.get_uri('AUTHS_ENV_VALUE', is_list=True) +# [UriSpec('user1', 'pass1'), UriSpec('user2', 'pass2')] +``` + +### Optional values and default values + + +```python +from rhea import Rhea + +rhea_config = Rhea.read_configs([...]) + +rhea_config.get_boolean('BOOL_ENV_VALUE', is_optional=True) +# None +rhea_config.get_boolean('BOOL_ENV_VALUE', is_optional=True, default=True) +# True + +rhea_config.get_int('INT_ENV_VALUE', is_optional=True) +# None +rhea_config.get_int('INT_ENV_VALUE', is_optional=True, default=101) +# 101 + +rhea_config.get_float('FLOAT_ENV_VALUE', is_optional=True) +# None +rhea_config.get_float('FLOAT_ENV_VALUE', is_optional=True, default=-3.3) +# -3.3 + +rhea_config.get_float('STRING_ENV_VALUE', is_optional=True) +# None +rhea_config.get_float('STRING_ENV_VALUE', is_optional=True, default='default') +# default +``` + +### Value validation + + +```python +from rhea import Rhea + +rhea_config = Rhea.read_configs([...]) + + +# INT_ENV_VALUE = 11 +rhea_config.get_int('INT_ENV_VALUE', options=[1, 2, 3]) +# raise RheaError +rhea_config.get_int('INT_ENV_VALUE', options=[1, 2, 3, 11]) +# 11 +``` + +### Parsed data + + +```python +from rhea import Rhea + +rhea_config = Rhea.read_configs([...]) + +rhea_config.get_requested_data(include_locals=False, include_secrets=False) +# {'key1': 'value1', ...} +``` + +## Example with Django + +```python +from rhea import Rhea + +rhea_config = Rhea.read_configs([...]) + +DEBUG = rhea_config.get_boolean('DJANGO_DEBUG_MODE', is_optional=True, default=False) +SECRET_KEY = rhea_config.get_string('POLYAXON_SECRET_KEY', is_secret=True) +``` + +## Running tests + +``` +pytest +``` + +# License + +[](https://app.fossa.io/projects/git%2Bgithub.com%2Fpolyaxon%2Frhea?ref=badge_large) + + + + +%package -n python3-rhea +Summary: Efficient environment variables management and typing for python. +Provides: python-rhea +BuildRequires: python3-devel +BuildRequires: python3-setuptools +BuildRequires: python3-pip +%description -n python3-rhea +[](LICENSE) +[](https://travis-ci.org/polyaxon/rhea) +[](https://badge.fury.io/py/rhea) +[](https://www.codacy.com/app/polyaxon/rhea?utm_source=github.com&utm_medium=referral&utm_content=polyaxon/rhea&utm_campaign=Badge_Grade) +[](https://join.slack.com/t/polyaxon/shared_invite/enQtMzQ0ODc2MDg1ODc0LWY2ZTdkMTNmZjBlZmRmNjQxYmYwMTBiMDZiMWJhODI2ZTk0MDU4Mjg5YzA5M2NhYzc5ZjhiMjczMDllYmQ2MDg) + +# rhea + +Efficient environment variables management and typing for python. + +## Installation + +``` +pip install -U rhea +``` + +## Features + + * Typed retrieval of environment variables. + * Handling of optional, secret, and local variables. + * Reading from different sources: os, json files, yaml files. + * Collection of parsed parameters. + +## Usage + +### Reading typed values from a params + + +```python +from rhea import Rhea + +rhea_config = Rhea(bool_value1='1', + bool_value2='false', + bool_value3=True) + +rhea_config.get_boolean('bool_value1') +# True + +rhea_config.get_boolean('bool_value2') +# False + +rhea_config.get_boolean('bool_value3') +# True +``` + +### Reading typed values from a env vars + + +```python +import os + +from rhea import Rhea + +rhea_config = Rhea.read_configs(os.environ) +``` + +### Reading typed values from different sources + +```python +import os + +from rhea import Rhea + +rhea_config = Rhea.read_configs([os.environ, + 'json_file.json', + 'yaml_file.yaml', + 'another_file_override.json', + {'foo': 'bar'}]) +``` + +### Base types + +examples: + +``` +BOOL_ENV_VALUE1: 1 +BOOL_ENV_VALUE2: true +BOOL_ENV_VALUE3: f +BOOL_ENV_VALUE4: on + +INT_ENV_VALUE1: '1' +INT_ENV_VALUE2: -100 + +STRING_ENV_VALUE: 'some string' + +FLOAT_ENV_VALUE1: '1.1' +FLOAT_ENV_VALUE2: -1.3 +FLOAT_ENV_VALUE3: 1111.1 +FLOAT_ENV_VALUE4: -33 + +DICT_ENV_VALUE: {"foo": "bar", "1": "2"} + +LIST_ENV_VALUE: 'foo, bar, boo' + +URI_ENV_VALUE1: user:pass@host.com +URI_ENV_VALUE2: user:pass@host:4000 + +AUTH_ENV_VALUE: user:pass +``` + +Reading: + +```python +from rhea import Rhea + +rhea_config = Rhea.read_configs([...]) + +rhea_config.get_boolean('BOOL_ENV_VALUE1') +# True +rhea_config.get_boolean('BOOL_ENV_VALUE2') +# True +rhea_config.get_boolean('BOOL_ENV_VALUE3') +# False +rhea_config.get_boolean('BOOL_ENV_VALUE4') +# True + +rhea_config.get_int('INT_ENV_VALUE1') +# 1 +rhea_config.get_int('INT_ENV_VALUE2') +# -100 + +rhea_config.get_string('STRING_ENV_VALUE') +# some string + +rhea_config.get_float('FLOAT_ENV_VALUE1') +# 1.1 +rhea_config.get_float('FLOAT_ENV_VALUE1') +# -1.3 +rhea_config.get_float('FLOAT_ENV_VALUE1') +# 1111.1 +rhea_config.get_float('FLOAT_ENV_VALUE1') +# -33.0 + +rhea_config.get_dict('DICT_ENV_VALUE') +# {'foo': 'bar', '1': '2'} + +rhea_config.get_list('LIST_ENV_VALUE') +# ['foo', 'bar', 'boo'] + +rhea_config.get_uri('URI_ENV_VALUE1') +# UriSpec('user', 'pass', 'host') + +rhea_config.get_uri('URI_ENV_VALUE2') +# UriSpec('user', 'pass', 'host:4000') + +rhea_config.get_uri('AUTH_ENV_VALUE') +# AuthSpec('user', 'pass') +``` + +### List of base types + +examples: + +``` +BOOLS_ENV_VALUE: '[1, 0, "true", "false", "t", "f", "on", "off"]' +INTS_ENV_VALUE: '[1, 0, -100]' +STRINGS_ENV_VALUE: '["some_string", "another_string"]' +FLOATS_ENV_VALUE: '[1.1, -1.3, 0.03, 1111.1, 1.]' +DICTS_ENV_VALUE: '[{"foo": "bar", "1": 2}, {"foo": "bar", "1": 2}]' +DICT_OF_DICTS_ENV_VALUE: '{"key1": {"foo": "bar", "1": 2}, "key2": {"foo": "bar", "1": 2}}' +URIS_ENV_VALUE: '["user:pass@host.com", "user:pass@host:4000"]' +AUTHS_ENV_VALUE: '["user1:pass1", "user2:pass2"]' +``` + +Reading: + +```python +from rhea import Rhea + +rhea_config = Rhea.read_configs([...]) + +rhea_config.get_boolean('BOOLS_ENV_VALUE', is_list=True) +# [True, False, True, False, True, False, True, False] + +rhea_config.get_int('INTS_ENV_VALUE', is_list=True) +# [1, 0, -100] + +rhea_config.get_string('STRINGS_ENV_VALUE', is_list=True) +# ['some_string', 'another_string'] + +rhea_config.get_float('FLOATS_ENV_VALUE', is_list=True) +# [1.1, -1.3, 0.03, 1111.1, 1.0] + +rhea_config.get_dict('DICTS_ENV_VALUE', is_list=True) +# [{'foo1': 'bar1', '1': 2}, {'foo2': 'bar2', '3': 4}] + +rhea_config.get_dict_of_dicts('DICT_OF_DICTS_ENV_VALUE') +# {'key1': {'foo': 'bar', '1': 2}, 'key2': {'foo': 'bar', '1': 2}} + +rhea_config.get_uri('URIS_ENV_VALUE', is_list=True) +# [UriSpec('user', 'pass', 'host'), UriSpec('user', 'pass', 'host:4000')] + +rhea_config.get_uri('AUTHS_ENV_VALUE', is_list=True) +# [UriSpec('user1', 'pass1'), UriSpec('user2', 'pass2')] +``` + +### Optional values and default values + + +```python +from rhea import Rhea + +rhea_config = Rhea.read_configs([...]) + +rhea_config.get_boolean('BOOL_ENV_VALUE', is_optional=True) +# None +rhea_config.get_boolean('BOOL_ENV_VALUE', is_optional=True, default=True) +# True + +rhea_config.get_int('INT_ENV_VALUE', is_optional=True) +# None +rhea_config.get_int('INT_ENV_VALUE', is_optional=True, default=101) +# 101 + +rhea_config.get_float('FLOAT_ENV_VALUE', is_optional=True) +# None +rhea_config.get_float('FLOAT_ENV_VALUE', is_optional=True, default=-3.3) +# -3.3 + +rhea_config.get_float('STRING_ENV_VALUE', is_optional=True) +# None +rhea_config.get_float('STRING_ENV_VALUE', is_optional=True, default='default') +# default +``` + +### Value validation + + +```python +from rhea import Rhea + +rhea_config = Rhea.read_configs([...]) + + +# INT_ENV_VALUE = 11 +rhea_config.get_int('INT_ENV_VALUE', options=[1, 2, 3]) +# raise RheaError +rhea_config.get_int('INT_ENV_VALUE', options=[1, 2, 3, 11]) +# 11 +``` + +### Parsed data + + +```python +from rhea import Rhea + +rhea_config = Rhea.read_configs([...]) + +rhea_config.get_requested_data(include_locals=False, include_secrets=False) +# {'key1': 'value1', ...} +``` + +## Example with Django + +```python +from rhea import Rhea + +rhea_config = Rhea.read_configs([...]) + +DEBUG = rhea_config.get_boolean('DJANGO_DEBUG_MODE', is_optional=True, default=False) +SECRET_KEY = rhea_config.get_string('POLYAXON_SECRET_KEY', is_secret=True) +``` + +## Running tests + +``` +pytest +``` + +# License + +[](https://app.fossa.io/projects/git%2Bgithub.com%2Fpolyaxon%2Frhea?ref=badge_large) + + + + +%package help +Summary: Development documents and examples for rhea +Provides: python3-rhea-doc +%description help +[](LICENSE) +[](https://travis-ci.org/polyaxon/rhea) +[](https://badge.fury.io/py/rhea) +[](https://www.codacy.com/app/polyaxon/rhea?utm_source=github.com&utm_medium=referral&utm_content=polyaxon/rhea&utm_campaign=Badge_Grade) +[](https://join.slack.com/t/polyaxon/shared_invite/enQtMzQ0ODc2MDg1ODc0LWY2ZTdkMTNmZjBlZmRmNjQxYmYwMTBiMDZiMWJhODI2ZTk0MDU4Mjg5YzA5M2NhYzc5ZjhiMjczMDllYmQ2MDg) + +# rhea + +Efficient environment variables management and typing for python. + +## Installation + +``` +pip install -U rhea +``` + +## Features + + * Typed retrieval of environment variables. + * Handling of optional, secret, and local variables. + * Reading from different sources: os, json files, yaml files. + * Collection of parsed parameters. + +## Usage + +### Reading typed values from a params + + +```python +from rhea import Rhea + +rhea_config = Rhea(bool_value1='1', + bool_value2='false', + bool_value3=True) + +rhea_config.get_boolean('bool_value1') +# True + +rhea_config.get_boolean('bool_value2') +# False + +rhea_config.get_boolean('bool_value3') +# True +``` + +### Reading typed values from a env vars + + +```python +import os + +from rhea import Rhea + +rhea_config = Rhea.read_configs(os.environ) +``` + +### Reading typed values from different sources + +```python +import os + +from rhea import Rhea + +rhea_config = Rhea.read_configs([os.environ, + 'json_file.json', + 'yaml_file.yaml', + 'another_file_override.json', + {'foo': 'bar'}]) +``` + +### Base types + +examples: + +``` +BOOL_ENV_VALUE1: 1 +BOOL_ENV_VALUE2: true +BOOL_ENV_VALUE3: f +BOOL_ENV_VALUE4: on + +INT_ENV_VALUE1: '1' +INT_ENV_VALUE2: -100 + +STRING_ENV_VALUE: 'some string' + +FLOAT_ENV_VALUE1: '1.1' +FLOAT_ENV_VALUE2: -1.3 +FLOAT_ENV_VALUE3: 1111.1 +FLOAT_ENV_VALUE4: -33 + +DICT_ENV_VALUE: {"foo": "bar", "1": "2"} + +LIST_ENV_VALUE: 'foo, bar, boo' + +URI_ENV_VALUE1: user:pass@host.com +URI_ENV_VALUE2: user:pass@host:4000 + +AUTH_ENV_VALUE: user:pass +``` + +Reading: + +```python +from rhea import Rhea + +rhea_config = Rhea.read_configs([...]) + +rhea_config.get_boolean('BOOL_ENV_VALUE1') +# True +rhea_config.get_boolean('BOOL_ENV_VALUE2') +# True +rhea_config.get_boolean('BOOL_ENV_VALUE3') +# False +rhea_config.get_boolean('BOOL_ENV_VALUE4') +# True + +rhea_config.get_int('INT_ENV_VALUE1') +# 1 +rhea_config.get_int('INT_ENV_VALUE2') +# -100 + +rhea_config.get_string('STRING_ENV_VALUE') +# some string + +rhea_config.get_float('FLOAT_ENV_VALUE1') +# 1.1 +rhea_config.get_float('FLOAT_ENV_VALUE1') +# -1.3 +rhea_config.get_float('FLOAT_ENV_VALUE1') +# 1111.1 +rhea_config.get_float('FLOAT_ENV_VALUE1') +# -33.0 + +rhea_config.get_dict('DICT_ENV_VALUE') +# {'foo': 'bar', '1': '2'} + +rhea_config.get_list('LIST_ENV_VALUE') +# ['foo', 'bar', 'boo'] + +rhea_config.get_uri('URI_ENV_VALUE1') +# UriSpec('user', 'pass', 'host') + +rhea_config.get_uri('URI_ENV_VALUE2') +# UriSpec('user', 'pass', 'host:4000') + +rhea_config.get_uri('AUTH_ENV_VALUE') +# AuthSpec('user', 'pass') +``` + +### List of base types + +examples: + +``` +BOOLS_ENV_VALUE: '[1, 0, "true", "false", "t", "f", "on", "off"]' +INTS_ENV_VALUE: '[1, 0, -100]' +STRINGS_ENV_VALUE: '["some_string", "another_string"]' +FLOATS_ENV_VALUE: '[1.1, -1.3, 0.03, 1111.1, 1.]' +DICTS_ENV_VALUE: '[{"foo": "bar", "1": 2}, {"foo": "bar", "1": 2}]' +DICT_OF_DICTS_ENV_VALUE: '{"key1": {"foo": "bar", "1": 2}, "key2": {"foo": "bar", "1": 2}}' +URIS_ENV_VALUE: '["user:pass@host.com", "user:pass@host:4000"]' +AUTHS_ENV_VALUE: '["user1:pass1", "user2:pass2"]' +``` + +Reading: + +```python +from rhea import Rhea + +rhea_config = Rhea.read_configs([...]) + +rhea_config.get_boolean('BOOLS_ENV_VALUE', is_list=True) +# [True, False, True, False, True, False, True, False] + +rhea_config.get_int('INTS_ENV_VALUE', is_list=True) +# [1, 0, -100] + +rhea_config.get_string('STRINGS_ENV_VALUE', is_list=True) +# ['some_string', 'another_string'] + +rhea_config.get_float('FLOATS_ENV_VALUE', is_list=True) +# [1.1, -1.3, 0.03, 1111.1, 1.0] + +rhea_config.get_dict('DICTS_ENV_VALUE', is_list=True) +# [{'foo1': 'bar1', '1': 2}, {'foo2': 'bar2', '3': 4}] + +rhea_config.get_dict_of_dicts('DICT_OF_DICTS_ENV_VALUE') +# {'key1': {'foo': 'bar', '1': 2}, 'key2': {'foo': 'bar', '1': 2}} + +rhea_config.get_uri('URIS_ENV_VALUE', is_list=True) +# [UriSpec('user', 'pass', 'host'), UriSpec('user', 'pass', 'host:4000')] + +rhea_config.get_uri('AUTHS_ENV_VALUE', is_list=True) +# [UriSpec('user1', 'pass1'), UriSpec('user2', 'pass2')] +``` + +### Optional values and default values + + +```python +from rhea import Rhea + +rhea_config = Rhea.read_configs([...]) + +rhea_config.get_boolean('BOOL_ENV_VALUE', is_optional=True) +# None +rhea_config.get_boolean('BOOL_ENV_VALUE', is_optional=True, default=True) +# True + +rhea_config.get_int('INT_ENV_VALUE', is_optional=True) +# None +rhea_config.get_int('INT_ENV_VALUE', is_optional=True, default=101) +# 101 + +rhea_config.get_float('FLOAT_ENV_VALUE', is_optional=True) +# None +rhea_config.get_float('FLOAT_ENV_VALUE', is_optional=True, default=-3.3) +# -3.3 + +rhea_config.get_float('STRING_ENV_VALUE', is_optional=True) +# None +rhea_config.get_float('STRING_ENV_VALUE', is_optional=True, default='default') +# default +``` + +### Value validation + + +```python +from rhea import Rhea + +rhea_config = Rhea.read_configs([...]) + + +# INT_ENV_VALUE = 11 +rhea_config.get_int('INT_ENV_VALUE', options=[1, 2, 3]) +# raise RheaError +rhea_config.get_int('INT_ENV_VALUE', options=[1, 2, 3, 11]) +# 11 +``` + +### Parsed data + + +```python +from rhea import Rhea + +rhea_config = Rhea.read_configs([...]) + +rhea_config.get_requested_data(include_locals=False, include_secrets=False) +# {'key1': 'value1', ...} +``` + +## Example with Django + +```python +from rhea import Rhea + +rhea_config = Rhea.read_configs([...]) + +DEBUG = rhea_config.get_boolean('DJANGO_DEBUG_MODE', is_optional=True, default=False) +SECRET_KEY = rhea_config.get_string('POLYAXON_SECRET_KEY', is_secret=True) +``` + +## Running tests + +``` +pytest +``` + +# License + +[](https://app.fossa.io/projects/git%2Bgithub.com%2Fpolyaxon%2Frhea?ref=badge_large) + + + + +%prep +%autosetup -n rhea-0.5.5 + +%build +%py3_build + +%install +%py3_install +install -d -m755 %{buildroot}/%{_pkgdocdir} +if [ -d doc ]; then cp -arf doc %{buildroot}/%{_pkgdocdir}; fi +if [ -d docs ]; then cp -arf docs %{buildroot}/%{_pkgdocdir}; fi +if [ -d example ]; then cp -arf example %{buildroot}/%{_pkgdocdir}; fi +if [ -d examples ]; then cp -arf examples %{buildroot}/%{_pkgdocdir}; fi +pushd %{buildroot} +if [ -d usr/lib ]; then + find usr/lib -type f -printf "/%h/%f\n" >> filelist.lst +fi +if [ -d usr/lib64 ]; then + find usr/lib64 -type f -printf "/%h/%f\n" >> filelist.lst +fi +if [ -d usr/bin ]; then + find usr/bin -type f -printf "/%h/%f\n" >> filelist.lst +fi +if [ -d usr/sbin ]; then + find usr/sbin -type f -printf "/%h/%f\n" >> filelist.lst +fi +touch doclist.lst +if [ -d usr/share/man ]; then + find usr/share/man -type f -printf "/%h/%f.gz\n" >> doclist.lst +fi +popd +mv %{buildroot}/filelist.lst . +mv %{buildroot}/doclist.lst . + +%files -n python3-rhea -f filelist.lst +%dir %{python3_sitelib}/* + +%files help -f doclist.lst +%{_docdir}/* + +%changelog +* Tue Apr 11 2023 Python_Bot <Python_Bot@openeuler.org> - 0.5.5-1 +- Package Spec generated @@ -0,0 +1 @@ +a34d7c747e7e90c812450c4eccc91d42 rhea-0.5.5.tar.gz |