aiohttp_json_api icon indicating copy to clipboard operation
aiohttp_json_api copied to clipboard

JSON API implementation for aiohttp

======================================= JSON API_ implementation for aiohttp_

.. image:: https://img.shields.io/pypi/v/aiohttp_json_api.svg :target: https://pypi.python.org/pypi/aiohttp_json_api

.. image:: https://img.shields.io/travis/vovanbo/aiohttp_json_api.svg :target: https://travis-ci.org/vovanbo/aiohttp_json_api

.. image:: https://readthedocs.org/projects/aiohttp-json-api/badge/?version=latest :target: https://aiohttp-json-api.readthedocs.io/en/latest/?badge=latest :alt: Documentation Status

.. image:: https://pyup.io/repos/github/vovanbo/aiohttp_json_api/shield.svg :target: https://pyup.io/repos/github/vovanbo/aiohttp_json_api/ :alt: Updates

Introduction

This project heavily inspired by py-jsonapi_ (author is Benedikt Schmitt). Some parts of this project is improved and refactored dev-schema branch of py-jsonapi. At beginning of aiohttp-json-api_ this branch was a great, but not finished implementation of JSON API with schema controllers. Also, py-jsonapi_ is not asynchronous and use inside self-implemented Request/Response classes.

Some of base entities of py-jsonapi_ was replaced with aiohttp_ server's objects, some of it was divided into new separate entities (e.g. JSONAPIContext or Registry).

  • Free software: MIT license
  • Documentation: https://aiohttp-json-api.readthedocs.io

Requirements

  • Python 3.6 or newer
  • aiohttp_
  • inflection_
  • multidict_
  • jsonpointer_
  • dateutil_
  • trafaret_
  • python-mimeparse_

Todo

  • Tutorials
  • Improve documentation
  • Tests
  • Features description
  • Customizable payload keys inflection (default is dasherize <-> underscore)
  • Support for JSON API extensions (bulk creation etc.)
  • Polymorphic relationships

Credits

This package was created with Cookiecutter_ and the cookiecutter-pypackage_ project template.

.. _aiohttp-json-api: https://github.com/vovanbo/aiohttp_json_api .. _Cookiecutter: https://github.com/audreyr/cookiecutter .. _cookiecutter-pypackage: https://github.com/audreyr/cookiecutter-pypackage .. _JSON API: http://jsonapi.org .. _aiohttp: http://aiohttp.readthedocs.io/en/stable/ .. _py-jsonapi: https://github.com/benediktschmitt/py-jsonapi .. _dev-schema: https://github.com/benediktschmitt/py-jsonapi/tree/dev-schema .. _Benedikt Schmitt: https://github.com/benediktschmitt .. _inflection: https://inflection.readthedocs.io/en/latest/ .. _jsonpointer: https://python-json-pointer.readthedocs.io/en/latest/index.html .. _dateutil: https://dateutil.readthedocs.io/en/stable/ .. _trafaret: http://trafaret.readthedocs.io/en/latest/ .. _multidict: http://multidict.readthedocs.io/en/stable/ .. _python-mimeparse: https://pypi.python.org/pypi/python-mimeparse