summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCoprDistGit <infra@openeuler.org>2023-04-12 00:06:30 +0000
committerCoprDistGit <infra@openeuler.org>2023-04-12 00:06:30 +0000
commitfeab6e49c6066710903a719489f0f6bcae586734 (patch)
tree7d00ac17bd96525fd7adb95c89ae89e2dab3899c
parent46285ee035ea4dc8492f53943e32094fb93240d5 (diff)
automatic import of python-chaostoolkit-lib
-rw-r--r--.gitignore1
-rw-r--r--python-chaostoolkit-lib.spec719
-rw-r--r--sources1
3 files changed, 721 insertions, 0 deletions
diff --git a/.gitignore b/.gitignore
index e69de29..d404c3a 100644
--- a/.gitignore
+++ b/.gitignore
@@ -0,0 +1 @@
+/chaostoolkit-lib-1.34.1.tar.gz
diff --git a/python-chaostoolkit-lib.spec b/python-chaostoolkit-lib.spec
new file mode 100644
index 0000000..738befa
--- /dev/null
+++ b/python-chaostoolkit-lib.spec
@@ -0,0 +1,719 @@
+%global _empty_manifest_terminate_build 0
+Name: python-chaostoolkit-lib
+Version: 1.34.1
+Release: 1
+Summary: Chaos Toolkit core library
+License: Apache License Version 2.0
+URL: https://chaostoolkit.org
+Source0: https://mirrors.nju.edu.cn/pypi/web/packages/d9/01/f96721e61b36cc765c6f090e6f0c7b6ca6bcbfb115f28a4dc176f33bc137/chaostoolkit-lib-1.34.1.tar.gz
+BuildArch: noarch
+
+Requires: python3-logzero
+Requires: python3-requests
+Requires: python3-pyyaml
+Requires: python3-importlib-metadata
+Requires: python3-cchardet
+Requires: python3-chardet
+Requires: python3-jsonpath2
+Requires: python3-hvac
+
+%description
+# Chaos Toolkit Core Library
+
+[![Version](https://img.shields.io/pypi/v/chaostoolkit-lib.svg)](https://img.shields.io/pypi/v/chaostoolkit-lib.svg)
+[![License](https://img.shields.io/pypi/l/chaostoolkit-lib.svg)](https://img.shields.io/pypi/l/chaostoolkit-lib.svg)
+
+![Build](https://github.com/chaostoolkit/chaostoolkit-lib/workflows/Build/badge.svg)
+[![codecov](https://codecov.io/gh/chaostoolkit/chaostoolkit-lib/branch/master/graph/badge.svg)](https://codecov.io/gh/chaostoolkit/chaostoolkit-lib)
+[![Python versions](https://img.shields.io/pypi/pyversions/chaostoolkit-lib.svg)](https://www.python.org/)
+
+
+The Chaos Toolkit core library implementing the [Open Chaos Initiative][oci].
+
+[oci]: https://openchaos.io/
+
+[![Chaos Toolkit](https://avatars1.githubusercontent.com/u/32068152?s=200&v=4)](https://chaostoolkit.org/)
+
+## Purpose
+
+The purpose of this library is to provide the core of the Chaos Toolkit
+[model][concepts] and functions it needs to render its services.
+
+Unless you wish to create your own toolkit, you will likely not use directly
+this library.
+
+[concepts]: https://docs.chaostoolkit.org/reference/concepts/
+
+## Features
+
+The library provides the followings features:
+
+* discover capabilities from extensions
+ Allows you to explore the support from an extension that would help you
+ initialize an experiment against the system this extension targets
+
+* validate a given experiment syntax
+ The validation looks at various keys in the experiment and raises errors
+ whenever something doesn't look right.
+ As a nice addition, when a probe calls a Python function with arguments,
+ it tries to validate the given argument list matches the signature of the
+ function to apply.
+
+* run your steady state before and after the method. The former as a gate to
+ decide if the experiment can be executed. The latter to see if the system
+ deviated from normal.
+
+* run probes and actions declared in an experiment
+ It runs the steps in a experiment method sequentially, applying first steady
+ probes, then actions and finally close probes.
+
+ A journal, as a JSON payload, is return of the experiment run.
+
+ The library supports running probes and actions defined as Python functions,
+ from importable Python modules, processes and HTTP calls.
+
+* run experiment's rollbacks when provided
+
+* Load secrets from the experiments, the environ or [vault][vault]
+
+* Provides event notification from Chaos Toolkit flow (although the actual
+ events are published by the CLI itself, not from this library), supported
+ events are:
+ * on experiment validation: started, failed or completed
+ * on discovery: started, failed or completed
+ * on initialization of experiments: started, failed or completed
+ * on experiment runs: started, failed or completed
+
+ For each event, the according payload is part of the event as well as a UTC
+ timestamp.
+
+[vault]: https://www.vaultproject.io/
+
+## Install
+
+If you are user of the Chaos Toolkit, you probably do not need to install this
+package yourself as it comes along with the [chaostoolkit cli][cli].
+
+[cli]: https://github.com/chaostoolkit/chaostoolkit
+
+However, should you wish to integrate this library in your own Python code,
+please install it as usual:
+
+```
+$ pip install -U chaostoolkit-lib
+```
+
+### Specific dependencies
+
+In addition to essential dependencies, the package can install a couple of
+other extra dependencies for specific use-cases. They are not mandatory and
+the library will warn you if you try to use a feature that requires them.
+
+### Vault
+
+If you need [Vault][vault] support to read secrets from, run the following
+command:
+
+[vault]: https://www.vaultproject.io/
+```
+$ pip install -U chaostoolkit-lib[vault]
+```
+
+To authenticate with Vault, you can either:
+* Use a token through the `vault_token` configuration key
+* Use an [AppRole][approle] via the `vault_role_id`, `vault_secret_id` pair of configuration keys
+* Use a [service account][serviceaccount] configured with an appropriate [role][role] via the `vault_sa_role` configuration key. The `vault_sa_token_path`, `vault_k8s_mount_point`, and `vault_secrets_mount_point` configuration keys can optionally be specified to point to a location containing a service account [token][sa-token], a different Kubernetes authentication method [mount point][k8s-mount], or a different secrets [mount point][secrets-mount], respectively.
+
+[approle]: https://www.vaultproject.io/docs/auth/approle.html
+[serviceaccount]: https://www.vaultproject.io/api/auth/kubernetes/index.html
+[role]: https://www.vaultproject.io/api/auth/kubernetes/index.html#create-role
+[sa-token]: https://kubernetes.io/docs/tasks/configure-pod-container/configure-service-account/#service-account-token-volume-projection
+[k8s-mount]: https://www.vaultproject.io/docs/auth/kubernetes.html
+[secrets-mount]: https://www.vaultproject.io/api/secret/kv/kv-v1.htm
+
+
+### JSON Path
+
+If you need [JSON Path support][jpath] for tolerance probes in the hypothesis,
+also run the following command:
+
+[jpath]: http://goessner.net/articles/JsonPath/
+
+```
+$ pip install -U chaostoolkit-lib[jsonpath]
+```
+
+When using a process activity, the standard output end error streams are logged
+into the `chaostoolkit.log` file. The default encoding used is `utf-8` to decode
+those streams. Sometimes, this is not the right encoding, so you can install
+the [chardet][] or [cchardet][] packages to attempt the detection of the right
+encoding.
+
+[chardet]: https://chardet.readthedocs.io/en/latest/
+[cchardet]: https://github.com/PyYoshi/cChardet
+
+```
+$ pip install -U chaostoolkit-lib[decoders]
+```
+
+## Contribute
+
+Contributors to this project are welcome as this is an open-source effort that
+seeks [discussions][join] and continuous improvement.
+
+[join]: https://join.chaostoolkit.org/
+
+From a code perspective, if you wish to contribute, you will need to run a
+Python 3.6+ environment. Please, fork this project, write unit tests to cover
+the proposed changes, implement the changes, ensure they meet the formatting
+standards set out by `black`, `flake8`, and `isort`, add an entry into
+`CHANGELOG.md`, and then raise a PR to the repository for review.
+
+Please refer to the [formatting](#formatting-and-linting) section for more
+information on the formatting standards.
+
+The Chaos Toolkit projects require all contributors must sign a
+[Developer Certificate of Origin][dco] on each commit they would like to merge
+into the master branch of the repository. Please, make sure you can abide by
+the rules of the DCO before submitting a PR.
+
+[dco]: https://github.com/probot/dco#how-it-works
+
+
+### Develop
+
+If you wish to develop on this project, make sure to install the development
+dependencies. But first, [create a virtual environment][venv] and then install
+those dependencies.
+
+[venv]: http://chaostoolkit.org/reference/usage/install/#create-a-virtual-environment
+
+
+```console
+$ make install-dev
+```
+
+Now, you can edit the files and they will be automatically be seen by your
+environment, even when running from the `chaos` command locally.
+
+### Test
+
+To run the tests for the project execute the following:
+
+```
+$ make tests
+```
+
+### Formatting and Linting
+
+We use a combination of [`black`][black], [`flake8`][flake8], and [`isort`][isort]
+to both lint and format this repositories code.
+
+[black]: https://github.com/psf/black
+[flake8]: https://github.com/PyCQA/flake8
+[isort]: https://github.com/PyCQA/isort
+
+Before raising a Pull Request, we recommend you run formatting against your
+code with:
+
+```console
+$ make format
+```
+
+This will automatically format any code that doesn't adhere to the formatting
+standards.
+
+As some things are not picked up by the formatting, we also recommend you run:
+
+```console
+$ make lint
+```
+
+To ensure that any unused import statements/strings that are too long, etc.
+are also picked up.
+
+
+%package -n python3-chaostoolkit-lib
+Summary: Chaos Toolkit core library
+Provides: python-chaostoolkit-lib
+BuildRequires: python3-devel
+BuildRequires: python3-setuptools
+BuildRequires: python3-pip
+%description -n python3-chaostoolkit-lib
+# Chaos Toolkit Core Library
+
+[![Version](https://img.shields.io/pypi/v/chaostoolkit-lib.svg)](https://img.shields.io/pypi/v/chaostoolkit-lib.svg)
+[![License](https://img.shields.io/pypi/l/chaostoolkit-lib.svg)](https://img.shields.io/pypi/l/chaostoolkit-lib.svg)
+
+![Build](https://github.com/chaostoolkit/chaostoolkit-lib/workflows/Build/badge.svg)
+[![codecov](https://codecov.io/gh/chaostoolkit/chaostoolkit-lib/branch/master/graph/badge.svg)](https://codecov.io/gh/chaostoolkit/chaostoolkit-lib)
+[![Python versions](https://img.shields.io/pypi/pyversions/chaostoolkit-lib.svg)](https://www.python.org/)
+
+
+The Chaos Toolkit core library implementing the [Open Chaos Initiative][oci].
+
+[oci]: https://openchaos.io/
+
+[![Chaos Toolkit](https://avatars1.githubusercontent.com/u/32068152?s=200&v=4)](https://chaostoolkit.org/)
+
+## Purpose
+
+The purpose of this library is to provide the core of the Chaos Toolkit
+[model][concepts] and functions it needs to render its services.
+
+Unless you wish to create your own toolkit, you will likely not use directly
+this library.
+
+[concepts]: https://docs.chaostoolkit.org/reference/concepts/
+
+## Features
+
+The library provides the followings features:
+
+* discover capabilities from extensions
+ Allows you to explore the support from an extension that would help you
+ initialize an experiment against the system this extension targets
+
+* validate a given experiment syntax
+ The validation looks at various keys in the experiment and raises errors
+ whenever something doesn't look right.
+ As a nice addition, when a probe calls a Python function with arguments,
+ it tries to validate the given argument list matches the signature of the
+ function to apply.
+
+* run your steady state before and after the method. The former as a gate to
+ decide if the experiment can be executed. The latter to see if the system
+ deviated from normal.
+
+* run probes and actions declared in an experiment
+ It runs the steps in a experiment method sequentially, applying first steady
+ probes, then actions and finally close probes.
+
+ A journal, as a JSON payload, is return of the experiment run.
+
+ The library supports running probes and actions defined as Python functions,
+ from importable Python modules, processes and HTTP calls.
+
+* run experiment's rollbacks when provided
+
+* Load secrets from the experiments, the environ or [vault][vault]
+
+* Provides event notification from Chaos Toolkit flow (although the actual
+ events are published by the CLI itself, not from this library), supported
+ events are:
+ * on experiment validation: started, failed or completed
+ * on discovery: started, failed or completed
+ * on initialization of experiments: started, failed or completed
+ * on experiment runs: started, failed or completed
+
+ For each event, the according payload is part of the event as well as a UTC
+ timestamp.
+
+[vault]: https://www.vaultproject.io/
+
+## Install
+
+If you are user of the Chaos Toolkit, you probably do not need to install this
+package yourself as it comes along with the [chaostoolkit cli][cli].
+
+[cli]: https://github.com/chaostoolkit/chaostoolkit
+
+However, should you wish to integrate this library in your own Python code,
+please install it as usual:
+
+```
+$ pip install -U chaostoolkit-lib
+```
+
+### Specific dependencies
+
+In addition to essential dependencies, the package can install a couple of
+other extra dependencies for specific use-cases. They are not mandatory and
+the library will warn you if you try to use a feature that requires them.
+
+### Vault
+
+If you need [Vault][vault] support to read secrets from, run the following
+command:
+
+[vault]: https://www.vaultproject.io/
+```
+$ pip install -U chaostoolkit-lib[vault]
+```
+
+To authenticate with Vault, you can either:
+* Use a token through the `vault_token` configuration key
+* Use an [AppRole][approle] via the `vault_role_id`, `vault_secret_id` pair of configuration keys
+* Use a [service account][serviceaccount] configured with an appropriate [role][role] via the `vault_sa_role` configuration key. The `vault_sa_token_path`, `vault_k8s_mount_point`, and `vault_secrets_mount_point` configuration keys can optionally be specified to point to a location containing a service account [token][sa-token], a different Kubernetes authentication method [mount point][k8s-mount], or a different secrets [mount point][secrets-mount], respectively.
+
+[approle]: https://www.vaultproject.io/docs/auth/approle.html
+[serviceaccount]: https://www.vaultproject.io/api/auth/kubernetes/index.html
+[role]: https://www.vaultproject.io/api/auth/kubernetes/index.html#create-role
+[sa-token]: https://kubernetes.io/docs/tasks/configure-pod-container/configure-service-account/#service-account-token-volume-projection
+[k8s-mount]: https://www.vaultproject.io/docs/auth/kubernetes.html
+[secrets-mount]: https://www.vaultproject.io/api/secret/kv/kv-v1.htm
+
+
+### JSON Path
+
+If you need [JSON Path support][jpath] for tolerance probes in the hypothesis,
+also run the following command:
+
+[jpath]: http://goessner.net/articles/JsonPath/
+
+```
+$ pip install -U chaostoolkit-lib[jsonpath]
+```
+
+When using a process activity, the standard output end error streams are logged
+into the `chaostoolkit.log` file. The default encoding used is `utf-8` to decode
+those streams. Sometimes, this is not the right encoding, so you can install
+the [chardet][] or [cchardet][] packages to attempt the detection of the right
+encoding.
+
+[chardet]: https://chardet.readthedocs.io/en/latest/
+[cchardet]: https://github.com/PyYoshi/cChardet
+
+```
+$ pip install -U chaostoolkit-lib[decoders]
+```
+
+## Contribute
+
+Contributors to this project are welcome as this is an open-source effort that
+seeks [discussions][join] and continuous improvement.
+
+[join]: https://join.chaostoolkit.org/
+
+From a code perspective, if you wish to contribute, you will need to run a
+Python 3.6+ environment. Please, fork this project, write unit tests to cover
+the proposed changes, implement the changes, ensure they meet the formatting
+standards set out by `black`, `flake8`, and `isort`, add an entry into
+`CHANGELOG.md`, and then raise a PR to the repository for review.
+
+Please refer to the [formatting](#formatting-and-linting) section for more
+information on the formatting standards.
+
+The Chaos Toolkit projects require all contributors must sign a
+[Developer Certificate of Origin][dco] on each commit they would like to merge
+into the master branch of the repository. Please, make sure you can abide by
+the rules of the DCO before submitting a PR.
+
+[dco]: https://github.com/probot/dco#how-it-works
+
+
+### Develop
+
+If you wish to develop on this project, make sure to install the development
+dependencies. But first, [create a virtual environment][venv] and then install
+those dependencies.
+
+[venv]: http://chaostoolkit.org/reference/usage/install/#create-a-virtual-environment
+
+
+```console
+$ make install-dev
+```
+
+Now, you can edit the files and they will be automatically be seen by your
+environment, even when running from the `chaos` command locally.
+
+### Test
+
+To run the tests for the project execute the following:
+
+```
+$ make tests
+```
+
+### Formatting and Linting
+
+We use a combination of [`black`][black], [`flake8`][flake8], and [`isort`][isort]
+to both lint and format this repositories code.
+
+[black]: https://github.com/psf/black
+[flake8]: https://github.com/PyCQA/flake8
+[isort]: https://github.com/PyCQA/isort
+
+Before raising a Pull Request, we recommend you run formatting against your
+code with:
+
+```console
+$ make format
+```
+
+This will automatically format any code that doesn't adhere to the formatting
+standards.
+
+As some things are not picked up by the formatting, we also recommend you run:
+
+```console
+$ make lint
+```
+
+To ensure that any unused import statements/strings that are too long, etc.
+are also picked up.
+
+
+%package help
+Summary: Development documents and examples for chaostoolkit-lib
+Provides: python3-chaostoolkit-lib-doc
+%description help
+# Chaos Toolkit Core Library
+
+[![Version](https://img.shields.io/pypi/v/chaostoolkit-lib.svg)](https://img.shields.io/pypi/v/chaostoolkit-lib.svg)
+[![License](https://img.shields.io/pypi/l/chaostoolkit-lib.svg)](https://img.shields.io/pypi/l/chaostoolkit-lib.svg)
+
+![Build](https://github.com/chaostoolkit/chaostoolkit-lib/workflows/Build/badge.svg)
+[![codecov](https://codecov.io/gh/chaostoolkit/chaostoolkit-lib/branch/master/graph/badge.svg)](https://codecov.io/gh/chaostoolkit/chaostoolkit-lib)
+[![Python versions](https://img.shields.io/pypi/pyversions/chaostoolkit-lib.svg)](https://www.python.org/)
+
+
+The Chaos Toolkit core library implementing the [Open Chaos Initiative][oci].
+
+[oci]: https://openchaos.io/
+
+[![Chaos Toolkit](https://avatars1.githubusercontent.com/u/32068152?s=200&v=4)](https://chaostoolkit.org/)
+
+## Purpose
+
+The purpose of this library is to provide the core of the Chaos Toolkit
+[model][concepts] and functions it needs to render its services.
+
+Unless you wish to create your own toolkit, you will likely not use directly
+this library.
+
+[concepts]: https://docs.chaostoolkit.org/reference/concepts/
+
+## Features
+
+The library provides the followings features:
+
+* discover capabilities from extensions
+ Allows you to explore the support from an extension that would help you
+ initialize an experiment against the system this extension targets
+
+* validate a given experiment syntax
+ The validation looks at various keys in the experiment and raises errors
+ whenever something doesn't look right.
+ As a nice addition, when a probe calls a Python function with arguments,
+ it tries to validate the given argument list matches the signature of the
+ function to apply.
+
+* run your steady state before and after the method. The former as a gate to
+ decide if the experiment can be executed. The latter to see if the system
+ deviated from normal.
+
+* run probes and actions declared in an experiment
+ It runs the steps in a experiment method sequentially, applying first steady
+ probes, then actions and finally close probes.
+
+ A journal, as a JSON payload, is return of the experiment run.
+
+ The library supports running probes and actions defined as Python functions,
+ from importable Python modules, processes and HTTP calls.
+
+* run experiment's rollbacks when provided
+
+* Load secrets from the experiments, the environ or [vault][vault]
+
+* Provides event notification from Chaos Toolkit flow (although the actual
+ events are published by the CLI itself, not from this library), supported
+ events are:
+ * on experiment validation: started, failed or completed
+ * on discovery: started, failed or completed
+ * on initialization of experiments: started, failed or completed
+ * on experiment runs: started, failed or completed
+
+ For each event, the according payload is part of the event as well as a UTC
+ timestamp.
+
+[vault]: https://www.vaultproject.io/
+
+## Install
+
+If you are user of the Chaos Toolkit, you probably do not need to install this
+package yourself as it comes along with the [chaostoolkit cli][cli].
+
+[cli]: https://github.com/chaostoolkit/chaostoolkit
+
+However, should you wish to integrate this library in your own Python code,
+please install it as usual:
+
+```
+$ pip install -U chaostoolkit-lib
+```
+
+### Specific dependencies
+
+In addition to essential dependencies, the package can install a couple of
+other extra dependencies for specific use-cases. They are not mandatory and
+the library will warn you if you try to use a feature that requires them.
+
+### Vault
+
+If you need [Vault][vault] support to read secrets from, run the following
+command:
+
+[vault]: https://www.vaultproject.io/
+```
+$ pip install -U chaostoolkit-lib[vault]
+```
+
+To authenticate with Vault, you can either:
+* Use a token through the `vault_token` configuration key
+* Use an [AppRole][approle] via the `vault_role_id`, `vault_secret_id` pair of configuration keys
+* Use a [service account][serviceaccount] configured with an appropriate [role][role] via the `vault_sa_role` configuration key. The `vault_sa_token_path`, `vault_k8s_mount_point`, and `vault_secrets_mount_point` configuration keys can optionally be specified to point to a location containing a service account [token][sa-token], a different Kubernetes authentication method [mount point][k8s-mount], or a different secrets [mount point][secrets-mount], respectively.
+
+[approle]: https://www.vaultproject.io/docs/auth/approle.html
+[serviceaccount]: https://www.vaultproject.io/api/auth/kubernetes/index.html
+[role]: https://www.vaultproject.io/api/auth/kubernetes/index.html#create-role
+[sa-token]: https://kubernetes.io/docs/tasks/configure-pod-container/configure-service-account/#service-account-token-volume-projection
+[k8s-mount]: https://www.vaultproject.io/docs/auth/kubernetes.html
+[secrets-mount]: https://www.vaultproject.io/api/secret/kv/kv-v1.htm
+
+
+### JSON Path
+
+If you need [JSON Path support][jpath] for tolerance probes in the hypothesis,
+also run the following command:
+
+[jpath]: http://goessner.net/articles/JsonPath/
+
+```
+$ pip install -U chaostoolkit-lib[jsonpath]
+```
+
+When using a process activity, the standard output end error streams are logged
+into the `chaostoolkit.log` file. The default encoding used is `utf-8` to decode
+those streams. Sometimes, this is not the right encoding, so you can install
+the [chardet][] or [cchardet][] packages to attempt the detection of the right
+encoding.
+
+[chardet]: https://chardet.readthedocs.io/en/latest/
+[cchardet]: https://github.com/PyYoshi/cChardet
+
+```
+$ pip install -U chaostoolkit-lib[decoders]
+```
+
+## Contribute
+
+Contributors to this project are welcome as this is an open-source effort that
+seeks [discussions][join] and continuous improvement.
+
+[join]: https://join.chaostoolkit.org/
+
+From a code perspective, if you wish to contribute, you will need to run a
+Python 3.6+ environment. Please, fork this project, write unit tests to cover
+the proposed changes, implement the changes, ensure they meet the formatting
+standards set out by `black`, `flake8`, and `isort`, add an entry into
+`CHANGELOG.md`, and then raise a PR to the repository for review.
+
+Please refer to the [formatting](#formatting-and-linting) section for more
+information on the formatting standards.
+
+The Chaos Toolkit projects require all contributors must sign a
+[Developer Certificate of Origin][dco] on each commit they would like to merge
+into the master branch of the repository. Please, make sure you can abide by
+the rules of the DCO before submitting a PR.
+
+[dco]: https://github.com/probot/dco#how-it-works
+
+
+### Develop
+
+If you wish to develop on this project, make sure to install the development
+dependencies. But first, [create a virtual environment][venv] and then install
+those dependencies.
+
+[venv]: http://chaostoolkit.org/reference/usage/install/#create-a-virtual-environment
+
+
+```console
+$ make install-dev
+```
+
+Now, you can edit the files and they will be automatically be seen by your
+environment, even when running from the `chaos` command locally.
+
+### Test
+
+To run the tests for the project execute the following:
+
+```
+$ make tests
+```
+
+### Formatting and Linting
+
+We use a combination of [`black`][black], [`flake8`][flake8], and [`isort`][isort]
+to both lint and format this repositories code.
+
+[black]: https://github.com/psf/black
+[flake8]: https://github.com/PyCQA/flake8
+[isort]: https://github.com/PyCQA/isort
+
+Before raising a Pull Request, we recommend you run formatting against your
+code with:
+
+```console
+$ make format
+```
+
+This will automatically format any code that doesn't adhere to the formatting
+standards.
+
+As some things are not picked up by the formatting, we also recommend you run:
+
+```console
+$ make lint
+```
+
+To ensure that any unused import statements/strings that are too long, etc.
+are also picked up.
+
+
+%prep
+%autosetup -n chaostoolkit-lib-1.34.1
+
+%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-chaostoolkit-lib -f filelist.lst
+%dir %{python3_sitelib}/*
+
+%files help -f doclist.lst
+%{_docdir}/*
+
+%changelog
+* Wed Apr 12 2023 Python_Bot <Python_Bot@openeuler.org> - 1.34.1-1
+- Package Spec generated
diff --git a/sources b/sources
new file mode 100644
index 0000000..e5f4352
--- /dev/null
+++ b/sources
@@ -0,0 +1 @@
+0e76c620476ec831921ab90d0a8b6697 chaostoolkit-lib-1.34.1.tar.gz