<commit_before>.. image:: http://jsonapi.org/images/jsonapi@0.7x.png
    :alt: json:api

========

.. image:: https://travis-ci.org/pavlov99/jsonapi.png
    :target: https://travis-ci.org/pavlov99/jsonapi
    :alt: Build Status

.. image:: https://coveralls.io/repos/pavlov99/jsonapi/badge.png
    :target: https://coveralls.io/r/pavlov99/jsonapi
    :alt: Coverage Status

.. image:: https://pypip.in/v/jsonapi/badge.png
    :target: https://crate.io/packages/jsonapi
    :alt: Version

.. image:: https://pypip.in/d/jsonapi/badge.png
    :target: https://crate.io/packages/jsonapi
    :alt: Downloads

.. image:: https://pypip.in/format/jsonapi/badge.png
    :target: https://pypi.python.org/pypi/jsonapi/
    :alt: Download format


.. image:: https://pypip.in/license/jsonapi/badge.png
    :target: https://pypi.python.org/pypi/jsonapi/
    :alt: License


STATUS: ALPHA, it is rather investigation as of now. Check major release number.

Documentation: http://jsonapi.readthedocs.org/

Root docs (api docs)
Specification: http://jsonapi.org/
REST anti patterns http://www.infoq.com/articles/rest-anti-patterns

What makes a decent API Framework?These features:
    * Pagination
    * Posting of data with validation
    * Publishing of metadata along with querysets
    * + API discovery
    * Proper HTTP response handling
    * Caching
    * Serialization
    * Throttling
    * Authentication
    * Permissions
      
Proper API frameworks also need:
    * Really good test coverage of their code<commit_msg>update implemented functionality<commit_after>.. image:: http://jsonapi.org/images/jsonapi@0.7x.png
    :alt: json:api

========

.. image:: https://travis-ci.org/pavlov99/jsonapi.png
    :target: https://travis-ci.org/pavlov99/jsonapi
    :alt: Build Status

.. image:: https://coveralls.io/repos/pavlov99/jsonapi/badge.png
    :target: https://coveralls.io/r/pavlov99/jsonapi
    :alt: Coverage Status

.. image:: https://pypip.in/v/jsonapi/badge.png
    :target: https://crate.io/packages/jsonapi
    :alt: Version

.. image:: https://pypip.in/d/jsonapi/badge.png
    :target: https://crate.io/packages/jsonapi
    :alt: Downloads

.. image:: https://pypip.in/format/jsonapi/badge.png
    :target: https://pypi.python.org/pypi/jsonapi/
    :alt: Download format


.. image:: https://pypip.in/license/jsonapi/badge.png
    :target: https://pypi.python.org/pypi/jsonapi/
    :alt: License


STATUS: ALPHA, it is rather investigation as of now. Check major release number.

Documentation: http://jsonapi.readthedocs.org/

Root docs (api docs)
Specification: http://jsonapi.org/
REST anti patterns http://www.infoq.com/articles/rest-anti-patterns

What makes a decent API Framework?These features:
    * + Pagination
    * Posting of data with validation
    * + Publishing of metadata along with querysets
    * + API discovery
    * Proper HTTP response handling
    * Caching
    * + Serialization
    * Throttling
    * Authentication
    * Permissions
      
Proper API frameworks also need:
    * Really good test coverage of their code
{'fraction_non_alphanumeric': 0.1377167157343801, 'fraction_numerical': 0.006542361792607131, 'mean_word_length': 3.1662125340599454, 'pattern_counts': {'":': 0, '<': 3, '<?xml version=': 0, '>': 3, 'https://': 24, 'lorem ipsum': 0, 'www.': 2, 'xml': 0}, 'pii_count': 2, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 4, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '5118653', 'n_tokens_mistral': 1052, 'n_tokens_neox': 1023, 'n_words': 223}