diff options
| author | CoprDistGit <infra@openeuler.org> | 2023-04-11 05:53:23 +0000 |
|---|---|---|
| committer | CoprDistGit <infra@openeuler.org> | 2023-04-11 05:53:23 +0000 |
| commit | 41cb041c66f46ae6f3ce2d3ac0e4f36656d2b84a (patch) | |
| tree | d34934d6d3a646a17e18a8ee124f12f9d03bea2a | |
| parent | deaab47e7add2c7589c558591155f91fae329595 (diff) | |
automatic import of python-unleashclient
| -rw-r--r-- | .gitignore | 1 | ||||
| -rw-r--r-- | python-unleashclient.spec | 397 | ||||
| -rw-r--r-- | sources | 1 |
3 files changed, 399 insertions, 0 deletions
@@ -0,0 +1 @@ +/UnleashClient-5.6.0.tar.gz diff --git a/python-unleashclient.spec b/python-unleashclient.spec new file mode 100644 index 0000000..432ff27 --- /dev/null +++ b/python-unleashclient.spec @@ -0,0 +1,397 @@ +%global _empty_manifest_terminate_build 0 +Name: python-UnleashClient +Version: 5.6.0 +Release: 1 +Summary: Python client for the Unleash feature toggle system! +License: MIT License +URL: https://github.com/Unleash/unleash-client-python +Source0: https://mirrors.nju.edu.cn/pypi/web/packages/45/54/990c1faabd40bb0a089847ffea291720c71c3b7710462312c7a566ebac9d/UnleashClient-5.6.0.tar.gz +BuildArch: noarch + +Requires: python3-requests +Requires: python3-fcache +Requires: python3-mmhash3 +Requires: python3-apscheduler +Requires: python3-importlib-metadata +Requires: python3-dateutil +Requires: python3-semver + +%description +# unleash-client-python + + [](https://coveralls.io/github/Unleash/unleash-client-python?branch=main) [](https://badge.fury.io/py/UnleashClient)  [](https://opensource.org/licenses/MIT) + + +This is the Python client for [Unleash](https://github.com/unleash/unleash). It implements [Client Specifications 1.0](https://github.com/Unleash/unleash/blob/main/docs/client-specification.md) and checks compliance based on spec in [unleash/client-specifications](https://github.com/Unleash/client-specification) + +What it supports: +* Default activation strategies using 32-bit [Murmurhash3](https://en.wikipedia.org/wiki/MurmurHash) +* Custom strategies +* Full client lifecycle: + * Client registers with Unleash server + * Client periodically fetches feature toggles and stores to on-disk cache + * Client periodically sends metrics to Unleash Server +* Tested on Linux (Ubuntu), OSX, and Windows + +Check out the [project documentation](https://unleash.github.io/unleash-client-python/) and the [changelog](https://docs.getunleash.io/unleash-client-python/changelog.html). + +## Installation + +Check out the package on [Pypi](https://pypi.org/project/UnleashClient/)! + +```bash +pip install UnleashClient +``` + +## For Flask Users + +If you're looking into running Unleash from Flask, you might want to take a look at [_Flask-Unleash_, the Unleash Flask extension](https://github.com/Unleash/Flask-Unleash). The extension builds upon this SDK to reduce the amount of boilerplate code you need to write to integrate with Flask. Of course, if you'd rather use this package directly, that will work too. + +## Usage + +### Initialization + +```python +from UnleashClient import UnleashClient + +client = UnleashClient( + url="https://unleash.herokuapp.com", + app_name="my-python-app", + custom_headers={'Authorization': '<API token>'}) + +client.initialize_client() +``` + +For more information about configuring `UnleashClient`, check out the [project reference docs](https://docs.getunleash.io/unleash-client-python/unleashclient.html)! + +### Checking if a feature is enabled + +A check of a simple toggle: +```python +client.is_enabled("my_toggle") +``` + +To supply application context, use the second positional argument: + +```python +app_context = {"userId": "test@email.com"} +client.is_enabled("user_id_toggle", app_context) +``` + +#### Fallback function and default values + +You can specify a fallback function for cases where the client doesn't recognize the toggle by using the `fallback_function` keyword argument: + +```python +def custom_fallback(feature_name: str, context: dict) -> bool: + return True + +client.is_enabled("my_toggle", fallback_function=custom_fallback) +``` + +You can also use the `fallback_function` argument to replace the obsolete `default_value` keyword argument by using a lambda that ignores its inputs. Whatever the lambda returns will be used as the default value. + +```python +client.is_enabled("my_toggle", fallback_function=lambda feature_name, context: True) +``` + +The fallback function **must** accept the feature name and context as positional arguments in that order. + +The client will evaluate the fallback function only if an exception occurs when calling the `is_enabled()` method. This happens when the client can't find the feature flag. The client _may_ also throw other, general exceptions. + +For more information about usage, see the [Usage documentation](https://docs.getunleash.io/unleash-client-python/usage.html). + +### Getting a variant + +Checking for a variant: +```python +context = {'userId': '2'} # Context must have userId, sessionId, or remoteAddr. If none are present, distribution will be random. + +variant = client.get_variant("variant_toggle", context) + +print(variant) +> { +> "name": "variant1", +> "payload": { +> "type": "string", +> "value": "val1" +> }, +> "enabled": True +> } +``` + +For more information about variants, see the [Variant documentation](https://docs.getunleash.io/advanced/toggle_variants). + + + + +%package -n python3-UnleashClient +Summary: Python client for the Unleash feature toggle system! +Provides: python-UnleashClient +BuildRequires: python3-devel +BuildRequires: python3-setuptools +BuildRequires: python3-pip +%description -n python3-UnleashClient +# unleash-client-python + + [](https://coveralls.io/github/Unleash/unleash-client-python?branch=main) [](https://badge.fury.io/py/UnleashClient)  [](https://opensource.org/licenses/MIT) + + +This is the Python client for [Unleash](https://github.com/unleash/unleash). It implements [Client Specifications 1.0](https://github.com/Unleash/unleash/blob/main/docs/client-specification.md) and checks compliance based on spec in [unleash/client-specifications](https://github.com/Unleash/client-specification) + +What it supports: +* Default activation strategies using 32-bit [Murmurhash3](https://en.wikipedia.org/wiki/MurmurHash) +* Custom strategies +* Full client lifecycle: + * Client registers with Unleash server + * Client periodically fetches feature toggles and stores to on-disk cache + * Client periodically sends metrics to Unleash Server +* Tested on Linux (Ubuntu), OSX, and Windows + +Check out the [project documentation](https://unleash.github.io/unleash-client-python/) and the [changelog](https://docs.getunleash.io/unleash-client-python/changelog.html). + +## Installation + +Check out the package on [Pypi](https://pypi.org/project/UnleashClient/)! + +```bash +pip install UnleashClient +``` + +## For Flask Users + +If you're looking into running Unleash from Flask, you might want to take a look at [_Flask-Unleash_, the Unleash Flask extension](https://github.com/Unleash/Flask-Unleash). The extension builds upon this SDK to reduce the amount of boilerplate code you need to write to integrate with Flask. Of course, if you'd rather use this package directly, that will work too. + +## Usage + +### Initialization + +```python +from UnleashClient import UnleashClient + +client = UnleashClient( + url="https://unleash.herokuapp.com", + app_name="my-python-app", + custom_headers={'Authorization': '<API token>'}) + +client.initialize_client() +``` + +For more information about configuring `UnleashClient`, check out the [project reference docs](https://docs.getunleash.io/unleash-client-python/unleashclient.html)! + +### Checking if a feature is enabled + +A check of a simple toggle: +```python +client.is_enabled("my_toggle") +``` + +To supply application context, use the second positional argument: + +```python +app_context = {"userId": "test@email.com"} +client.is_enabled("user_id_toggle", app_context) +``` + +#### Fallback function and default values + +You can specify a fallback function for cases where the client doesn't recognize the toggle by using the `fallback_function` keyword argument: + +```python +def custom_fallback(feature_name: str, context: dict) -> bool: + return True + +client.is_enabled("my_toggle", fallback_function=custom_fallback) +``` + +You can also use the `fallback_function` argument to replace the obsolete `default_value` keyword argument by using a lambda that ignores its inputs. Whatever the lambda returns will be used as the default value. + +```python +client.is_enabled("my_toggle", fallback_function=lambda feature_name, context: True) +``` + +The fallback function **must** accept the feature name and context as positional arguments in that order. + +The client will evaluate the fallback function only if an exception occurs when calling the `is_enabled()` method. This happens when the client can't find the feature flag. The client _may_ also throw other, general exceptions. + +For more information about usage, see the [Usage documentation](https://docs.getunleash.io/unleash-client-python/usage.html). + +### Getting a variant + +Checking for a variant: +```python +context = {'userId': '2'} # Context must have userId, sessionId, or remoteAddr. If none are present, distribution will be random. + +variant = client.get_variant("variant_toggle", context) + +print(variant) +> { +> "name": "variant1", +> "payload": { +> "type": "string", +> "value": "val1" +> }, +> "enabled": True +> } +``` + +For more information about variants, see the [Variant documentation](https://docs.getunleash.io/advanced/toggle_variants). + + + + +%package help +Summary: Development documents and examples for UnleashClient +Provides: python3-UnleashClient-doc +%description help +# unleash-client-python + + [](https://coveralls.io/github/Unleash/unleash-client-python?branch=main) [](https://badge.fury.io/py/UnleashClient)  [](https://opensource.org/licenses/MIT) + + +This is the Python client for [Unleash](https://github.com/unleash/unleash). It implements [Client Specifications 1.0](https://github.com/Unleash/unleash/blob/main/docs/client-specification.md) and checks compliance based on spec in [unleash/client-specifications](https://github.com/Unleash/client-specification) + +What it supports: +* Default activation strategies using 32-bit [Murmurhash3](https://en.wikipedia.org/wiki/MurmurHash) +* Custom strategies +* Full client lifecycle: + * Client registers with Unleash server + * Client periodically fetches feature toggles and stores to on-disk cache + * Client periodically sends metrics to Unleash Server +* Tested on Linux (Ubuntu), OSX, and Windows + +Check out the [project documentation](https://unleash.github.io/unleash-client-python/) and the [changelog](https://docs.getunleash.io/unleash-client-python/changelog.html). + +## Installation + +Check out the package on [Pypi](https://pypi.org/project/UnleashClient/)! + +```bash +pip install UnleashClient +``` + +## For Flask Users + +If you're looking into running Unleash from Flask, you might want to take a look at [_Flask-Unleash_, the Unleash Flask extension](https://github.com/Unleash/Flask-Unleash). The extension builds upon this SDK to reduce the amount of boilerplate code you need to write to integrate with Flask. Of course, if you'd rather use this package directly, that will work too. + +## Usage + +### Initialization + +```python +from UnleashClient import UnleashClient + +client = UnleashClient( + url="https://unleash.herokuapp.com", + app_name="my-python-app", + custom_headers={'Authorization': '<API token>'}) + +client.initialize_client() +``` + +For more information about configuring `UnleashClient`, check out the [project reference docs](https://docs.getunleash.io/unleash-client-python/unleashclient.html)! + +### Checking if a feature is enabled + +A check of a simple toggle: +```python +client.is_enabled("my_toggle") +``` + +To supply application context, use the second positional argument: + +```python +app_context = {"userId": "test@email.com"} +client.is_enabled("user_id_toggle", app_context) +``` + +#### Fallback function and default values + +You can specify a fallback function for cases where the client doesn't recognize the toggle by using the `fallback_function` keyword argument: + +```python +def custom_fallback(feature_name: str, context: dict) -> bool: + return True + +client.is_enabled("my_toggle", fallback_function=custom_fallback) +``` + +You can also use the `fallback_function` argument to replace the obsolete `default_value` keyword argument by using a lambda that ignores its inputs. Whatever the lambda returns will be used as the default value. + +```python +client.is_enabled("my_toggle", fallback_function=lambda feature_name, context: True) +``` + +The fallback function **must** accept the feature name and context as positional arguments in that order. + +The client will evaluate the fallback function only if an exception occurs when calling the `is_enabled()` method. This happens when the client can't find the feature flag. The client _may_ also throw other, general exceptions. + +For more information about usage, see the [Usage documentation](https://docs.getunleash.io/unleash-client-python/usage.html). + +### Getting a variant + +Checking for a variant: +```python +context = {'userId': '2'} # Context must have userId, sessionId, or remoteAddr. If none are present, distribution will be random. + +variant = client.get_variant("variant_toggle", context) + +print(variant) +> { +> "name": "variant1", +> "payload": { +> "type": "string", +> "value": "val1" +> }, +> "enabled": True +> } +``` + +For more information about variants, see the [Variant documentation](https://docs.getunleash.io/advanced/toggle_variants). + + + + +%prep +%autosetup -n UnleashClient-5.6.0 + +%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-UnleashClient -f filelist.lst +%dir %{python3_sitelib}/* + +%files help -f doclist.lst +%{_docdir}/* + +%changelog +* Tue Apr 11 2023 Python_Bot <Python_Bot@openeuler.org> - 5.6.0-1 +- Package Spec generated @@ -0,0 +1 @@ +7e517ab2cc627d30f162399653eaa991 UnleashClient-5.6.0.tar.gz |
