Metadata-Version: 2.0
Name: asyncio-portier
Version: 0.1.0
Summary: Portier authentication asyncio-aware Python helpers.
Home-page: https://github.com/vr2262/asyncio-portier
Author: Viktor Roytman
Author-email: viktor@viktorroytman.com
License: GPLv3
Keywords: web services
Platform: UNKNOWN
Classifier: Development Status :: 3 - Alpha
Classifier: Topic :: Internet :: WWW/HTTP
Classifier: Topic :: Internet :: WWW/HTTP :: WSGI :: Application
Classifier: License :: OSI Approved :: GNU General Public License v3 (GPLv3)
Classifier: Programming Language :: Python :: 3.5
Classifier: Programming Language :: Python :: 3.6
Requires-Dist: portier-python
Provides-Extra: dev
Requires-Dist: flake8; extra == 'dev'
Requires-Dist: pydocstyle; extra == 'dev'
Provides-Extra: test
Requires-Dist: coverage; extra == 'test'

Portier authentication Python helpers that are asyncio-aware
============================================================

|travis| |master-coverage|

.. |travis| image:: https://travis-ci.org/vr2262/asyncio-portier.svg?branch=master
    :target: https://travis-ci.org/vr2262/asyncio-portier

.. |master-coverage| image::
    https://codecov.io/gh/vr2262/asyncio-portier/branch/master/graph/badge.svg
    :alt: Coverage
    :target: https://codecov.io/gh/vr2262/asyncio-portier

*asyncio-portier* is a set of helpers for `the Portier Identity Provider
<https://portier.github.io/>`_. It is based on `the portier-python package
<https://pypi.python.org/pypi/portier-python>`_ but modified to work with
:code:`asyncio`.

Usage
------------

The helpers work in much the same way as the ones in *portier-python*. Check
`the demos directory
<https://github.com/vr2262/asyncio-portier/tree/master/demos>`_ for usage
examples.

Notes
------------

* *portier-python* doesn't seem to work quite right with Redis as the cache
  backend, so there are a few Redis-specific modifications. This may change in
  the future.
* I expected the calls to cryptographic libraries to be blocking, but I saw no
  improvement from running those calls in an :code:`Executor` as per
  https://docs.python.org/3/library/asyncio-eventloop.html#executor.


