%global _empty_manifest_terminate_build 0 Name: python-bullet-train Version: 1.0.5 Release: 1 Summary: Bullet Train Python SDK License: BSD3 URL: https://github.com/solidstategroup/bullet-train-python-client Source0: https://mirrors.nju.edu.cn/pypi/web/packages/01/ab/e14e7788f5980116556ca34df6594673e802b526d1741e6257e499e675c7/bullet-train-1.0.5.tar.gz BuildArch: noarch Requires: python3-requests %description # Bullet Train Client The SDK clients for Python [https://bullet-train.io/](https://www.bullet-train.io/). Bullet Train allows you to manage feature flags and remote config across multiple projects, environments and organisations. ## Getting Started These instructions will get you a copy of the project up and running on your local machine for development and testing purposes. See running in production for notes on how to deploy the project on a live system. ## Installing ### VIA pip ``` pip install bullet-train ``` ## Usage **Retrieving feature flags for your project** **For full documentation visit [https://docs.bullet-train.io](https://docs.bullet-train.io)** ``` from bullet_train import BulletTrain; bt = BulletTrain(environment_id="") if bt.has_feature("header", ''): if bt.feature_enabled("header"): # Show my awesome cool new feature to the world if bt.has_feature("header"): if bt.feature_enabled("header"): # Show my awesome cool new feature to the world value = bt.get_value("header", '') value = bt.get_value("header") bt.set_trait("accept-cookies", "true", "ben@bullet-train.io")) bt.get_trait("accept-cookies", "ben@bullet-train.io")) ``` **Available Options** | Property | Description | Required | Default Value | | ----- |:-------------| -----:| -----:| | ```environment_id``` | Defines which project environment you wish to get flags for. *example ACME Project - Staging.* | **YES** | None | ```api``` | Use this property to define where you're getting feature flags from, e.g. if you're self hosting. | **NO** | https://api.bullet-train.io/api/ **Available Functions** | Function | Description | | ------------- |:-------------:| | ```has_feature(key)``` | Get the value of a particular feature e.g. ```bt.has_feature("powerUserFeature") // true``` | ```has_feature(key, user_id)``` | Get the value of a particular feature for a user e.g. ```bt.has_feature("powerUserFeature", 1234) // true``` | ```get_value(key)``` | Get the value of a particular feature e.g. ```bt.get_value("font_size") // 10``` | ```get_value(key, userId)``` | Get the value of a particular feature for a specified user e.g. ```bt.get_value("font_size", 1234) // 15``` | ```get_flags()``` | Trigger a manual fetch of the environment features, returns a list of flag objects, see below for returned data | ```get_flags_for_user(1234)``` | Trigger a manual fetch of the environment features with a given user id, returns a list of flag objects, see below for returned data **Identifying users** Identifying users allows you to target specific users from the [Bullet Train dashboard](https://www.bullet-train.io/). You can include an optional user identifier as part of the `has_feature` and `get_value` methods to retrieve unique user flags and variables. **Flags data structure** | Field | Description | Type | | ---- | ------------ | ---- | | id | Internal id of feature state | Integer | | enabled | Whether feature is enabled or not | Boolean | | environment | Internal ID of environment | Integer | | feature_state_value | Value of the feature | Any - determined based on data input on [bullet-train.io](https://bullet-train.io). | | feature | Feature object - see below for details | Object | **Feature data structure** | Field | Description | Type | | ---- | --------------- | --- | | id | Internal id of feature | Integer | | name | Name of the feature (sometimes referred to as key or ID) | String | | description | Description of the feature | String | | type | Feature Type. Can be FLAG or CONFIG | String | | created_date | Date feature was created | Datetime | | inital_value | The initial / default value set for all feature states on creation | String | | project | Internal ID of the associated project | Integer | ## Contributing Please read [CONTRIBUTING.md](https://gist.github.com/kyle-ssg/c36a03aebe492e45cbd3eefb21cb0486) for details on our code of conduct, and the process for submitting pull requests to us. ## Getting Help If you encounter a bug or feature request we would like to hear about it. Before you submit an issue please search existing issues in order to prevent duplicates. ## Get in touch If you have any questions about our projects you can email projects@solidstategroup.com. ## Useful links [Website](https://bullet-train.io) [Documentation](https://docs.bullet-train.io/) [Code Examples](https://github.com/SolidStateGroup/bullet-train-docs) [Youtube Tutorials](https://www.youtube.com/channel/UCki7GZrOdZZcsV9rAIRchCw) %package -n python3-bullet-train Summary: Bullet Train Python SDK Provides: python-bullet-train BuildRequires: python3-devel BuildRequires: python3-setuptools BuildRequires: python3-pip %description -n python3-bullet-train # Bullet Train Client The SDK clients for Python [https://bullet-train.io/](https://www.bullet-train.io/). Bullet Train allows you to manage feature flags and remote config across multiple projects, environments and organisations. ## Getting Started These instructions will get you a copy of the project up and running on your local machine for development and testing purposes. See running in production for notes on how to deploy the project on a live system. ## Installing ### VIA pip ``` pip install bullet-train ``` ## Usage **Retrieving feature flags for your project** **For full documentation visit [https://docs.bullet-train.io](https://docs.bullet-train.io)** ``` from bullet_train import BulletTrain; bt = BulletTrain(environment_id="") if bt.has_feature("header", ''): if bt.feature_enabled("header"): # Show my awesome cool new feature to the world if bt.has_feature("header"): if bt.feature_enabled("header"): # Show my awesome cool new feature to the world value = bt.get_value("header", '') value = bt.get_value("header") bt.set_trait("accept-cookies", "true", "ben@bullet-train.io")) bt.get_trait("accept-cookies", "ben@bullet-train.io")) ``` **Available Options** | Property | Description | Required | Default Value | | ----- |:-------------| -----:| -----:| | ```environment_id``` | Defines which project environment you wish to get flags for. *example ACME Project - Staging.* | **YES** | None | ```api``` | Use this property to define where you're getting feature flags from, e.g. if you're self hosting. | **NO** | https://api.bullet-train.io/api/ **Available Functions** | Function | Description | | ------------- |:-------------:| | ```has_feature(key)``` | Get the value of a particular feature e.g. ```bt.has_feature("powerUserFeature") // true``` | ```has_feature(key, user_id)``` | Get the value of a particular feature for a user e.g. ```bt.has_feature("powerUserFeature", 1234) // true``` | ```get_value(key)``` | Get the value of a particular feature e.g. ```bt.get_value("font_size") // 10``` | ```get_value(key, userId)``` | Get the value of a particular feature for a specified user e.g. ```bt.get_value("font_size", 1234) // 15``` | ```get_flags()``` | Trigger a manual fetch of the environment features, returns a list of flag objects, see below for returned data | ```get_flags_for_user(1234)``` | Trigger a manual fetch of the environment features with a given user id, returns a list of flag objects, see below for returned data **Identifying users** Identifying users allows you to target specific users from the [Bullet Train dashboard](https://www.bullet-train.io/). You can include an optional user identifier as part of the `has_feature` and `get_value` methods to retrieve unique user flags and variables. **Flags data structure** | Field | Description | Type | | ---- | ------------ | ---- | | id | Internal id of feature state | Integer | | enabled | Whether feature is enabled or not | Boolean | | environment | Internal ID of environment | Integer | | feature_state_value | Value of the feature | Any - determined based on data input on [bullet-train.io](https://bullet-train.io). | | feature | Feature object - see below for details | Object | **Feature data structure** | Field | Description | Type | | ---- | --------------- | --- | | id | Internal id of feature | Integer | | name | Name of the feature (sometimes referred to as key or ID) | String | | description | Description of the feature | String | | type | Feature Type. Can be FLAG or CONFIG | String | | created_date | Date feature was created | Datetime | | inital_value | The initial / default value set for all feature states on creation | String | | project | Internal ID of the associated project | Integer | ## Contributing Please read [CONTRIBUTING.md](https://gist.github.com/kyle-ssg/c36a03aebe492e45cbd3eefb21cb0486) for details on our code of conduct, and the process for submitting pull requests to us. ## Getting Help If you encounter a bug or feature request we would like to hear about it. Before you submit an issue please search existing issues in order to prevent duplicates. ## Get in touch If you have any questions about our projects you can email projects@solidstategroup.com. ## Useful links [Website](https://bullet-train.io) [Documentation](https://docs.bullet-train.io/) [Code Examples](https://github.com/SolidStateGroup/bullet-train-docs) [Youtube Tutorials](https://www.youtube.com/channel/UCki7GZrOdZZcsV9rAIRchCw) %package help Summary: Development documents and examples for bullet-train Provides: python3-bullet-train-doc %description help # Bullet Train Client The SDK clients for Python [https://bullet-train.io/](https://www.bullet-train.io/). Bullet Train allows you to manage feature flags and remote config across multiple projects, environments and organisations. ## Getting Started These instructions will get you a copy of the project up and running on your local machine for development and testing purposes. See running in production for notes on how to deploy the project on a live system. ## Installing ### VIA pip ``` pip install bullet-train ``` ## Usage **Retrieving feature flags for your project** **For full documentation visit [https://docs.bullet-train.io](https://docs.bullet-train.io)** ``` from bullet_train import BulletTrain; bt = BulletTrain(environment_id="") if bt.has_feature("header", ''): if bt.feature_enabled("header"): # Show my awesome cool new feature to the world if bt.has_feature("header"): if bt.feature_enabled("header"): # Show my awesome cool new feature to the world value = bt.get_value("header", '') value = bt.get_value("header") bt.set_trait("accept-cookies", "true", "ben@bullet-train.io")) bt.get_trait("accept-cookies", "ben@bullet-train.io")) ``` **Available Options** | Property | Description | Required | Default Value | | ----- |:-------------| -----:| -----:| | ```environment_id``` | Defines which project environment you wish to get flags for. *example ACME Project - Staging.* | **YES** | None | ```api``` | Use this property to define where you're getting feature flags from, e.g. if you're self hosting. | **NO** | https://api.bullet-train.io/api/ **Available Functions** | Function | Description | | ------------- |:-------------:| | ```has_feature(key)``` | Get the value of a particular feature e.g. ```bt.has_feature("powerUserFeature") // true``` | ```has_feature(key, user_id)``` | Get the value of a particular feature for a user e.g. ```bt.has_feature("powerUserFeature", 1234) // true``` | ```get_value(key)``` | Get the value of a particular feature e.g. ```bt.get_value("font_size") // 10``` | ```get_value(key, userId)``` | Get the value of a particular feature for a specified user e.g. ```bt.get_value("font_size", 1234) // 15``` | ```get_flags()``` | Trigger a manual fetch of the environment features, returns a list of flag objects, see below for returned data | ```get_flags_for_user(1234)``` | Trigger a manual fetch of the environment features with a given user id, returns a list of flag objects, see below for returned data **Identifying users** Identifying users allows you to target specific users from the [Bullet Train dashboard](https://www.bullet-train.io/). You can include an optional user identifier as part of the `has_feature` and `get_value` methods to retrieve unique user flags and variables. **Flags data structure** | Field | Description | Type | | ---- | ------------ | ---- | | id | Internal id of feature state | Integer | | enabled | Whether feature is enabled or not | Boolean | | environment | Internal ID of environment | Integer | | feature_state_value | Value of the feature | Any - determined based on data input on [bullet-train.io](https://bullet-train.io). | | feature | Feature object - see below for details | Object | **Feature data structure** | Field | Description | Type | | ---- | --------------- | --- | | id | Internal id of feature | Integer | | name | Name of the feature (sometimes referred to as key or ID) | String | | description | Description of the feature | String | | type | Feature Type. Can be FLAG or CONFIG | String | | created_date | Date feature was created | Datetime | | inital_value | The initial / default value set for all feature states on creation | String | | project | Internal ID of the associated project | Integer | ## Contributing Please read [CONTRIBUTING.md](https://gist.github.com/kyle-ssg/c36a03aebe492e45cbd3eefb21cb0486) for details on our code of conduct, and the process for submitting pull requests to us. ## Getting Help If you encounter a bug or feature request we would like to hear about it. Before you submit an issue please search existing issues in order to prevent duplicates. ## Get in touch If you have any questions about our projects you can email projects@solidstategroup.com. ## Useful links [Website](https://bullet-train.io) [Documentation](https://docs.bullet-train.io/) [Code Examples](https://github.com/SolidStateGroup/bullet-train-docs) [Youtube Tutorials](https://www.youtube.com/channel/UCki7GZrOdZZcsV9rAIRchCw) %prep %autosetup -n bullet-train-1.0.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-bullet-train -f filelist.lst %dir %{python3_sitelib}/* %files help -f doclist.lst %{_docdir}/* %changelog * Thu May 18 2023 Python_Bot - 1.0.5-1 - Package Spec generated