Metadata-Version: 2.0
Name: Flask-JSONPlus
Version: 0.0.4
Summary: Flask extension for non-basic types' serialization to JSON via jsonplus lib.
Home-page: https://github.com/randomir/jsonplus/tree/master/python-flask
Author: Radomir Stevanovic
Author-email: radomir.stevanovic@gmail.com
License: MIT
Platform: any
Classifier: Environment :: Web Environment
Classifier: Intended Audience :: Developers
Classifier: License :: OSI Approved :: MIT License
Classifier: Operating System :: OS Independent
Classifier: Programming Language :: Python
Classifier: Topic :: Internet :: WWW/HTTP :: Dynamic Content
Classifier: Topic :: Software Development :: Libraries :: Python Modules
Requires-Dist: Flask (>=0.9)
Requires-Dist: jsonplus (>=0.6.4)

Flask-JSONPlus
==============

Flask extension for non-basic types' serialization to JSON via jsonplus_ lib.

.. _jsonplus: https://pypi.python.org/pypi/jsonplus/


Install
-------

Install from PyPI::

    pip install Flask-JSONPlus

Enable in your Flask app (probably your ``app/__init__.py``):

.. code-block:: python

    from flask_jsonplus import FlaskJSONPlus

    app = Flask(__name__)

    app.config['JSONPLUS_EXACT'] = True

    jsonplus = FlaskJSONPlus(app)


Usage
-----

After you enable FlaskJSONPlus, Flask will start to use ``jsonplus`` internally
for JSON (de-)serialization. For example, ``jsonify`` will properly serialize
your rich data:

.. code-block:: python

    import datetime, fractions, decimal, collections

    @app.route('/api/demo')
    def api_demo():
        Point = collections.namedtuple('Point', 'x y')
        data = {
            'third': fractions.Fraction(1, 3),
            'dec': decimal.Decimal('0.1'),
            'now': datetime.datetime.now(),
            'set': set(range(3)),
            'tuple': (3, 1, 4),
            'namedtuple': Point(3, 4)
        }
        return jsonify(data)


