From 2187cdcdf2a02cc9b6662cae821e1ddadda99103 Mon Sep 17 00:00:00 2001 From: CoprDistGit Date: Tue, 20 Jun 2023 04:17:46 +0000 Subject: automatic import of python-formation --- .gitignore | 1 + python-formation.spec | 281 ++++++++++++++++++++++++++++++++++++++++++++++++++ sources | 1 + 3 files changed, 283 insertions(+) create mode 100644 python-formation.spec create mode 100644 sources diff --git a/.gitignore b/.gitignore index e69de29..04fbc1f 100644 --- a/.gitignore +++ b/.gitignore @@ -0,0 +1 @@ +/formation-0.1.37.tar.gz diff --git a/python-formation.spec b/python-formation.spec new file mode 100644 index 0000000..04a5134 --- /dev/null +++ b/python-formation.spec @@ -0,0 +1,281 @@ +%global _empty_manifest_terminate_build 0 +Name: python-formation +Version: 0.1.37 +Release: 1 +Summary: A generic functional middleware infrastructure for Python. +License: MIT +URL: https://github.com/jondot/formation +Source0: https://mirrors.aliyun.com/pypi/web/packages/47/e0/2b4d69cf516c746f6a2a05d360d81953b648cab08b4d7ed1db65674d0e98/formation-0.1.37.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-attrs-serde + +%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 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). + + + + + + +### 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-formation +Summary: A generic functional middleware infrastructure for Python. +Provides: python-formation +BuildRequires: python3-devel +BuildRequires: python3-setuptools +BuildRequires: python3-pip +%description -n python3-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 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). + + + + + + +### 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 formation +Provides: python3-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 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). + + + + + + +### 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 formation-0.1.37 + +%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-formation -f filelist.lst +%dir %{python3_sitelib}/* + +%files help -f doclist.lst +%{_docdir}/* + +%changelog +* Tue Jun 20 2023 Python_Bot - 0.1.37-1 +- Package Spec generated diff --git a/sources b/sources new file mode 100644 index 0000000..4bfb314 --- /dev/null +++ b/sources @@ -0,0 +1 @@ +4f117975ed33f9af11f44e31d5ed4217 formation-0.1.37.tar.gz -- cgit v1.2.3