summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCoprDistGit <infra@openeuler.org>2023-05-05 11:38:10 +0000
committerCoprDistGit <infra@openeuler.org>2023-05-05 11:38:10 +0000
commit54a48629f303524fb4a2a9783b96ed20af7657df (patch)
treeb7f4454b13d618f4ca717f92aec06442c9f88d90
parent380e61f018295444e893cff9c30d30d76f6e748b (diff)
automatic import of python-hs-formationopeneuler20.03
-rw-r--r--.gitignore1
-rw-r--r--python-hs-formation.spec285
-rw-r--r--sources1
3 files changed, 287 insertions, 0 deletions
diff --git a/.gitignore b/.gitignore
index e69de29..f094811 100644
--- a/.gitignore
+++ b/.gitignore
@@ -0,0 +1 @@
+/hs-formation-5.4.0.tar.gz
diff --git a/python-hs-formation.spec b/python-hs-formation.spec
new file mode 100644
index 0000000..7ab96e4
--- /dev/null
+++ b/python-hs-formation.spec
@@ -0,0 +1,285 @@
+%global _empty_manifest_terminate_build 0
+Name: python-hs-formation
+Version: 5.4.0
+Release: 1
+Summary: A generic functional middleware infrastructure for Python.
+License: MIT
+URL: https://github.com/HiredScorelabs/hs-formation
+Source0: https://mirrors.nju.edu.cn/pypi/web/packages/25/ec/5f838aea3e1ebc7b1d19e475cd17a40d06cad440c8b5e7c5d16694952201/hs-formation-5.4.0.tar.gz
+BuildArch: noarch
+
+Requires: python3-toolz
+Requires: python3-cytoolz
+Requires: python3-requests
+Requires: python3-pybreaker
+Requires: python3-xmltodict
+Requires: python3-lxml
+Requires: python3-attrs
+Requires: python3-aiohttp
+Requires: python3-aiobreaker
+
+%description
+<!-- ![](media/cover.png) -->
+
+# Formation
+<!-- [![Build Status](https://travis-ci.org/jondot/formation.svg?branch=master)](https://travis-ci.org/jondot/formation.svg)
+[![Coverage Status](https://coveralls.io/repos/github/jondot/formation/badge.svg?branch=master)](https://coveralls.io/github/jondot/formation?branch=master) -->
+
+A generic functional middleware infrastructure for Python.
+
+Take a look:
+
+```py
+from datetime.datetime import now
+from hs_formation import wrap
+from requests import get
+
+def log(ctx, call):
+ print("started")
+ ctx = call(ctx)
+ print("ended")
+ return ctx
+
+def timeit(ctx, call):
+ started = now()
+ ctx = call(ctx)
+ ended = now() - started
+ ctx['duration'] = ended
+ return ctx
+
+def to_requests(ctx):
+ get(ctx['url'])
+ return ctx
+
+fancy_get = wrap(to_requests, middleware=[log, timeit])
+fancy_get({'url':'https://google.com'})
+```
+
+## Quick Start
+
+Install using pip/pipenv/etc. (we recommend [poetry](https://github.com/sdispater/poetry) for sane dependency management):
+
+```
+$ poetry add formation
+```
+
+## Best Practices
+
+A `context` object is a loose bag of objects. With that freedom comes responsibility and opinion.
+
+For example, this is how Formation models a `requests` integration, with data flowing inside `context`:
+
+
+* It models a `FormationHttpRequest` which abstracts the essentials of making an HTTP request (later shipped to `requests` itself in the way that it likes)
+* It tucks `FormationHttpRequest` under the `fmtn.req` key.
+* Additional information regarding such a request is kept _alongside_ `fmtn.req`. For example a request id is kept in the `req.id` key. This creates a flat (good thing) dict to probe. The reason additional data does not have the `fmtn` prefix is that you can always build your own that uses a different prefix (which you cant say about internal Formation inner workings).
+
+
+### added support for async http client via aio_http
+You can use this via ```for_aio_http```
+
+
+
+### Thanks:
+
+To all [Contributors](https://github.com/jondot/formation/graphs/contributors) - you make this happen, thanks!
+
+# Copyright
+
+Copyright (c) 2018 [@jondot](http://twitter.com/jondot). See [LICENSE](LICENSE.txt) for further details.
+
+
+%package -n python3-hs-formation
+Summary: A generic functional middleware infrastructure for Python.
+Provides: python-hs-formation
+BuildRequires: python3-devel
+BuildRequires: python3-setuptools
+BuildRequires: python3-pip
+%description -n python3-hs-formation
+<!-- ![](media/cover.png) -->
+
+# Formation
+<!-- [![Build Status](https://travis-ci.org/jondot/formation.svg?branch=master)](https://travis-ci.org/jondot/formation.svg)
+[![Coverage Status](https://coveralls.io/repos/github/jondot/formation/badge.svg?branch=master)](https://coveralls.io/github/jondot/formation?branch=master) -->
+
+A generic functional middleware infrastructure for Python.
+
+Take a look:
+
+```py
+from datetime.datetime import now
+from hs_formation import wrap
+from requests import get
+
+def log(ctx, call):
+ print("started")
+ ctx = call(ctx)
+ print("ended")
+ return ctx
+
+def timeit(ctx, call):
+ started = now()
+ ctx = call(ctx)
+ ended = now() - started
+ ctx['duration'] = ended
+ return ctx
+
+def to_requests(ctx):
+ get(ctx['url'])
+ return ctx
+
+fancy_get = wrap(to_requests, middleware=[log, timeit])
+fancy_get({'url':'https://google.com'})
+```
+
+## Quick Start
+
+Install using pip/pipenv/etc. (we recommend [poetry](https://github.com/sdispater/poetry) for sane dependency management):
+
+```
+$ poetry add formation
+```
+
+## Best Practices
+
+A `context` object is a loose bag of objects. With that freedom comes responsibility and opinion.
+
+For example, this is how Formation models a `requests` integration, with data flowing inside `context`:
+
+
+* It models a `FormationHttpRequest` which abstracts the essentials of making an HTTP request (later shipped to `requests` itself in the way that it likes)
+* It tucks `FormationHttpRequest` under the `fmtn.req` key.
+* Additional information regarding such a request is kept _alongside_ `fmtn.req`. For example a request id is kept in the `req.id` key. This creates a flat (good thing) dict to probe. The reason additional data does not have the `fmtn` prefix is that you can always build your own that uses a different prefix (which you cant say about internal Formation inner workings).
+
+
+### added support for async http client via aio_http
+You can use this via ```for_aio_http```
+
+
+
+### Thanks:
+
+To all [Contributors](https://github.com/jondot/formation/graphs/contributors) - you make this happen, thanks!
+
+# Copyright
+
+Copyright (c) 2018 [@jondot](http://twitter.com/jondot). See [LICENSE](LICENSE.txt) for further details.
+
+
+%package help
+Summary: Development documents and examples for hs-formation
+Provides: python3-hs-formation-doc
+%description help
+<!-- ![](media/cover.png) -->
+
+# Formation
+<!-- [![Build Status](https://travis-ci.org/jondot/formation.svg?branch=master)](https://travis-ci.org/jondot/formation.svg)
+[![Coverage Status](https://coveralls.io/repos/github/jondot/formation/badge.svg?branch=master)](https://coveralls.io/github/jondot/formation?branch=master) -->
+
+A generic functional middleware infrastructure for Python.
+
+Take a look:
+
+```py
+from datetime.datetime import now
+from hs_formation import wrap
+from requests import get
+
+def log(ctx, call):
+ print("started")
+ ctx = call(ctx)
+ print("ended")
+ return ctx
+
+def timeit(ctx, call):
+ started = now()
+ ctx = call(ctx)
+ ended = now() - started
+ ctx['duration'] = ended
+ return ctx
+
+def to_requests(ctx):
+ get(ctx['url'])
+ return ctx
+
+fancy_get = wrap(to_requests, middleware=[log, timeit])
+fancy_get({'url':'https://google.com'})
+```
+
+## Quick Start
+
+Install using pip/pipenv/etc. (we recommend [poetry](https://github.com/sdispater/poetry) for sane dependency management):
+
+```
+$ poetry add formation
+```
+
+## Best Practices
+
+A `context` object is a loose bag of objects. With that freedom comes responsibility and opinion.
+
+For example, this is how Formation models a `requests` integration, with data flowing inside `context`:
+
+
+* It models a `FormationHttpRequest` which abstracts the essentials of making an HTTP request (later shipped to `requests` itself in the way that it likes)
+* It tucks `FormationHttpRequest` under the `fmtn.req` key.
+* Additional information regarding such a request is kept _alongside_ `fmtn.req`. For example a request id is kept in the `req.id` key. This creates a flat (good thing) dict to probe. The reason additional data does not have the `fmtn` prefix is that you can always build your own that uses a different prefix (which you cant say about internal Formation inner workings).
+
+
+### added support for async http client via aio_http
+You can use this via ```for_aio_http```
+
+
+
+### Thanks:
+
+To all [Contributors](https://github.com/jondot/formation/graphs/contributors) - you make this happen, thanks!
+
+# Copyright
+
+Copyright (c) 2018 [@jondot](http://twitter.com/jondot). See [LICENSE](LICENSE.txt) for further details.
+
+
+%prep
+%autosetup -n hs-formation-5.4.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-hs-formation -f filelist.lst
+%dir %{python3_sitelib}/*
+
+%files help -f doclist.lst
+%{_docdir}/*
+
+%changelog
+* Fri May 05 2023 Python_Bot <Python_Bot@openeuler.org> - 5.4.0-1
+- Package Spec generated
diff --git a/sources b/sources
new file mode 100644
index 0000000..4379c18
--- /dev/null
+++ b/sources
@@ -0,0 +1 @@
+612fca586bf9a2b17040528453d1d7e4 hs-formation-5.4.0.tar.gz