Metadata-Version: 2.0
Name: tg-apicore
Version: 0.2.1
Summary: Opinionated API framework on top of Django REST framework
Home-page: https://github.com/thorgate/tg-apicore
Author: Thorgate
Author-email: code@thorgate.eu
License: ISC license
Keywords: tg-apicore django djangorestframework
Platform: UNKNOWN
Classifier: Development Status :: 2 - Pre-Alpha
Classifier: Intended Audience :: Developers
Classifier: License :: OSI Approved :: ISC License (ISCL)
Classifier: Natural Language :: English
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.5
Classifier: Programming Language :: Python :: 3.6
Requires-Dist: Django (<2.1,>=1.11)
Requires-Dist: djangorestframework (<4,>=3.6)
Requires-Dist: djangorestframework-jsonapi (<3,>=2.4)
Requires-Dist: attrs (>=17.2.0)
Requires-Dist: coreapi (>=2.3)
Requires-Dist: Markdown (>=2.6)
Requires-Dist: Pygments (>=2.2)

=================
Thorgate API Core
=================


.. image:: https://img.shields.io/pypi/v/tg-apicore.svg
        :target: https://pypi.python.org/pypi/tg-apicore

.. image:: https://img.shields.io/travis/thorgate/tg-apicore.svg
        :target: https://travis-ci.org/thorgate/tg-apicore

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


Opinionated API framework on top of Django REST framework


* Free software: ISC license

See ``example`` directory for a demo on how to use it.

Supports Python 3.5+, Django 1.11+, Django REST framework 3.6+


Features
--------

* API documentation automatically generated from your views
    * General intro can be added
    * You can add example request/response data
    * Autogenerated Python `requests`-based examples
    * Not interactive yet
* Integrates `JSON API <http://jsonapi.org/>`_
    * Cursor pagination with configurable page size
* Viewset classes for using different serializers and querysets for list/detail/edit endpoints
* API-specific 404 view
* Test utilities, e.g. for response validation
* Versioning (WIP)
    * Transformer-based approach, inspired by
      `djangorestframework-version-transforms <https://github.com/mrhwick/django-rest-framework-version-transforms>`_
      and `Stripe <https://stripe.com/blog/api-versioning>`_


Credits
-------

This package was created with Cookiecutter_ and the `audreyr/cookiecutter-pypackage`_ project template.

.. _Cookiecutter: https://github.com/audreyr/cookiecutter
.. _`audreyr/cookiecutter-pypackage`: https://github.com/audreyr/cookiecutter-pypackage


=======
History
=======

0.2.1 (2018-04-14)
------------------

* Fix packaging (tg_apicore subdirs weren't included)


0.2.0 (2018-04-14)
------------------

* Added PageNotFoundView (JSON-based 404 views)
* Added DetailSerializerViewSet (different serializers and queryset for list/detail/edit views)
* Added CreateOnlyFieldsSerializerMixin, ModelValidationSerializerMixin and BaseModelSerializer
* Renamed APIDocumentationView.get_patterns() to .urlpatterns()
* Improved example app a lot. It now also includes tests that partially test tg-apicore itself


0.1.0 (2018-03-08)
------------------

* First release on PyPI.


