diff options
Diffstat (limited to 'python-sanic-session.spec')
| -rw-r--r-- | python-sanic-session.spec | 278 |
1 files changed, 278 insertions, 0 deletions
diff --git a/python-sanic-session.spec b/python-sanic-session.spec new file mode 100644 index 0000000..7987a26 --- /dev/null +++ b/python-sanic-session.spec @@ -0,0 +1,278 @@ +%global _empty_manifest_terminate_build 0 +Name: python-sanic-session +Version: 0.8.0 +Release: 1 +Summary: Provides server-backed sessions for Sanic using Redis, Memcache and more. +License: MIT +URL: http://github.com/subyraman/sanic_session +Source0: https://mirrors.nju.edu.cn/pypi/web/packages/da/99/14e37b8a0141495d5141adbc62bb88c223a6fd53255b8ab623d20dc89c09/sanic_session-0.8.0.tar.gz +BuildArch: noarch + +Requires: python3-sanic +Requires: python3-ujson +Requires: python3-aiomcache +Requires: python3-aioredis +Requires: python3-pytest +Requires: python3-aiohttp +Requires: python3-pytest-asyncio +Requires: python3-pytest-mock +Requires: python3-pytest-cov +Requires: python3-wheel +Requires: python3-sphinx +Requires: python3-sphinxcontrib-fulltoc +Requires: python3-flake8 +Requires: python3-black +Requires: python3-sanic-motor +Requires: python3-pymongo +Requires: python3-asyncio-redis + +%description +# Sanic session management for humans +[](https://sanic-session.readthedocs.io) +[](https://opensource.org/licenses/MIT) +[](https://pypi.org/project/sanic_session/) + +:warning: Warning: This poject in Pull-Request-Only mode. I don't use Sanic anymore for any of my projects and will not make any changes by my own in foreseeable future. I recommend to use AIOHTTP since it more mature and have bigger adoption (I'm not judging by github stars only). Though I will accept pull requests from others if you want to see updates in the code. + +`sanic_session` is session management extension for [Sanic](http://sanic.readthedocs.io/) that integrates server-backed sessions with most convenient API. + +`sanic_session` provides a number of *session interfaces* for you to store a client's session data. The interfaces available right now are: + + * Redis (supports both drivers `aioredis` and `asyncio_redis`) + * Memcache (via `aiomcache`) + * Mongodb (via `sanic_motor` and `pymongo`) + * In-Memory (suitable for testing and development environments) + +## Installation + +Install with `pip` (there is other options for different drivers, check documentation): + +`pip install sanic_session` + +or if you prefer `Pipenv`: + +`pipenv install sanic_session` + +## Documentation + +Documentation is available at [sanic-session.readthedocs.io](http://sanic-session.readthedocs.io/en/latest/). + +Also, make sure you read [OWASP's Session Management Cheat Sheet](https://www.owasp.org/index.php/Session_Management_Cheat_Sheet) for some really useful info on session management. + +## Example + +A simple example uses the in-memory session interface. + +```python +from sanic import Sanic +from sanic.response import text +from sanic_session import Session, InMemorySessionInterface + +app = Sanic() +session = Session(app, interface=InMemorySessionInterface()) + +@app.route("/") +async def index(request): + # interact with the session like a normal dict + if not request.ctx.session.get('foo'): + request.ctx.session['foo'] = 0 + + request.ctx.session['foo'] += 1 + + return text(request.ctx.session['foo']) + +if __name__ == "__main__": + app.run(host="0.0.0.0", port=8000) +``` + +Examples of using redis and memcache backed sessions can be found in the documentation, under [Using the Interfaces](http://sanic-session.readthedocs.io/en/latest/using_the_interfaces.html). + +<p align="center">— ⭐️ —</p> + + + + +%package -n python3-sanic-session +Summary: Provides server-backed sessions for Sanic using Redis, Memcache and more. +Provides: python-sanic-session +BuildRequires: python3-devel +BuildRequires: python3-setuptools +BuildRequires: python3-pip +%description -n python3-sanic-session +# Sanic session management for humans +[](https://sanic-session.readthedocs.io) +[](https://opensource.org/licenses/MIT) +[](https://pypi.org/project/sanic_session/) + +:warning: Warning: This poject in Pull-Request-Only mode. I don't use Sanic anymore for any of my projects and will not make any changes by my own in foreseeable future. I recommend to use AIOHTTP since it more mature and have bigger adoption (I'm not judging by github stars only). Though I will accept pull requests from others if you want to see updates in the code. + +`sanic_session` is session management extension for [Sanic](http://sanic.readthedocs.io/) that integrates server-backed sessions with most convenient API. + +`sanic_session` provides a number of *session interfaces* for you to store a client's session data. The interfaces available right now are: + + * Redis (supports both drivers `aioredis` and `asyncio_redis`) + * Memcache (via `aiomcache`) + * Mongodb (via `sanic_motor` and `pymongo`) + * In-Memory (suitable for testing and development environments) + +## Installation + +Install with `pip` (there is other options for different drivers, check documentation): + +`pip install sanic_session` + +or if you prefer `Pipenv`: + +`pipenv install sanic_session` + +## Documentation + +Documentation is available at [sanic-session.readthedocs.io](http://sanic-session.readthedocs.io/en/latest/). + +Also, make sure you read [OWASP's Session Management Cheat Sheet](https://www.owasp.org/index.php/Session_Management_Cheat_Sheet) for some really useful info on session management. + +## Example + +A simple example uses the in-memory session interface. + +```python +from sanic import Sanic +from sanic.response import text +from sanic_session import Session, InMemorySessionInterface + +app = Sanic() +session = Session(app, interface=InMemorySessionInterface()) + +@app.route("/") +async def index(request): + # interact with the session like a normal dict + if not request.ctx.session.get('foo'): + request.ctx.session['foo'] = 0 + + request.ctx.session['foo'] += 1 + + return text(request.ctx.session['foo']) + +if __name__ == "__main__": + app.run(host="0.0.0.0", port=8000) +``` + +Examples of using redis and memcache backed sessions can be found in the documentation, under [Using the Interfaces](http://sanic-session.readthedocs.io/en/latest/using_the_interfaces.html). + +<p align="center">— ⭐️ —</p> + + + + +%package help +Summary: Development documents and examples for sanic-session +Provides: python3-sanic-session-doc +%description help +# Sanic session management for humans +[](https://sanic-session.readthedocs.io) +[](https://opensource.org/licenses/MIT) +[](https://pypi.org/project/sanic_session/) + +:warning: Warning: This poject in Pull-Request-Only mode. I don't use Sanic anymore for any of my projects and will not make any changes by my own in foreseeable future. I recommend to use AIOHTTP since it more mature and have bigger adoption (I'm not judging by github stars only). Though I will accept pull requests from others if you want to see updates in the code. + +`sanic_session` is session management extension for [Sanic](http://sanic.readthedocs.io/) that integrates server-backed sessions with most convenient API. + +`sanic_session` provides a number of *session interfaces* for you to store a client's session data. The interfaces available right now are: + + * Redis (supports both drivers `aioredis` and `asyncio_redis`) + * Memcache (via `aiomcache`) + * Mongodb (via `sanic_motor` and `pymongo`) + * In-Memory (suitable for testing and development environments) + +## Installation + +Install with `pip` (there is other options for different drivers, check documentation): + +`pip install sanic_session` + +or if you prefer `Pipenv`: + +`pipenv install sanic_session` + +## Documentation + +Documentation is available at [sanic-session.readthedocs.io](http://sanic-session.readthedocs.io/en/latest/). + +Also, make sure you read [OWASP's Session Management Cheat Sheet](https://www.owasp.org/index.php/Session_Management_Cheat_Sheet) for some really useful info on session management. + +## Example + +A simple example uses the in-memory session interface. + +```python +from sanic import Sanic +from sanic.response import text +from sanic_session import Session, InMemorySessionInterface + +app = Sanic() +session = Session(app, interface=InMemorySessionInterface()) + +@app.route("/") +async def index(request): + # interact with the session like a normal dict + if not request.ctx.session.get('foo'): + request.ctx.session['foo'] = 0 + + request.ctx.session['foo'] += 1 + + return text(request.ctx.session['foo']) + +if __name__ == "__main__": + app.run(host="0.0.0.0", port=8000) +``` + +Examples of using redis and memcache backed sessions can be found in the documentation, under [Using the Interfaces](http://sanic-session.readthedocs.io/en/latest/using_the_interfaces.html). + +<p align="center">— ⭐️ —</p> + + + + +%prep +%autosetup -n sanic-session-0.8.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-sanic-session -f filelist.lst +%dir %{python3_sitelib}/* + +%files help -f doclist.lst +%{_docdir}/* + +%changelog +* Tue Apr 11 2023 Python_Bot <Python_Bot@openeuler.org> - 0.8.0-1 +- Package Spec generated |
