Metadata-Version: 2.1
Name: flask-restly
Version: 0.7.1
Summary: Build a REST API with Flask
Home-page: https://github.com/gorzechowski/flask-restly
Author: Gracjan Orzechowski
Author-email: orzechowski.gracjan@gmail.com
License: MIT
Description: # Flask-RESTly
        
        [![Build Status](https://travis-ci.org/gorzechowski/flask-restly.svg?branch=master)](https://travis-ci.org/gorzechowski/flask-restly)
        [![Latest version](https://img.shields.io/pypi/v/flask-restly.svg)](https://pypi.org/project/flask-restly)
        [![Python versions](https://img.shields.io/pypi/pyversions/flask-restly.svg)](https://pypi.org/project/flask-restly)
        [![Coverage Status](https://coveralls.io/repos/github/gorzechowski/flask-restly/badge.svg?branch=master)](https://coveralls.io/github/gorzechowski/flask-restly?branch=master)
        
        ## Quick start
        
        ```
        pip install flask-restly
        ```
        
        By default `flask-restly` uses JSON serializer.
        
        ```python
        from flask import Flask
        from flask_restly import FlaskRestly
        from flask_restly.decorator import resource, get, delete
        
        
        app = Flask(__name__)
        
        rest = FlaskRestly(app)
        rest.init_app(app)
        
        
        @resource(name='employees')
        class EmployeesResource:
            @get('/<id>')
            def get_employee(self, id):
                return dict(id=int(id))
        
            @get('/')
            def get_employees(self):
                return dict(entites=[
                    dict(id=1),
                    dict(id=2)
                ])
        
            @delete('/<id>')
            def delete_employee(self, **kwargs):
                return
        
        
        with app.app_context():
            EmployeesResource()
        
        if __name__ == "__main__":
            app.run(host='127.0.0.1', port=5001, debug=True)
        ```
        
        ```bash
        $ python main.py
        * Serving Flask app "main" (lazy loading)
        * Environment: production
          WARNING: Do not use the development server in a production environment.
          Use a production WSGI server instead.
        * Debug mode: on
        * Restarting with stat
        * Debugger is active!
        * Debugger PIN: 210-167-642
        * Running on http://127.0.0.1:5001/ (Press CTRL+C to quit)
        ```
        
        ## Features
        
        * Decorators-based routing
        * JSON and Protobuf built-in serialization
        * Custom serializer support
        * Authorization and authentication decorators
        * Automatic REST-like response codes
        * API versioning
        
        ## Todo
        
        * HATEOAS
        * Rate limits support
        * Caching helpers
        * ...and few more :)
        
        ## Usage
        
        Please see [examples](/examples) for more details.
        
        ### Settings
        
        | Name                                                          | Default value                |
        | -----------------------------------------------------------:  | :--------------------------- |
        | RESTLY_SERIALIZER: `<flask_restly.serializer.SerializerBase>` | flask_restly.serializer.json |
        | RESTLY_API_PREFIX: `<str>`                                    | /api/rest                    |
        | RESTLY_PROTOBUF_MIMETYPE: `<str>`                             | application/x-protobuf       |
        
        ### Docs
        
        * [Authentication](/docs/Authentication.md)
        * [Authorization](/docs/Authorization.md)
        * [Decorators](/docs/Decorators.md)
        * [Exceptions](/docs/Exceptions.md)
        * [Protobuf](/docs/Protobuf.md)
        
Keywords: flask api rest
Platform: UNKNOWN
Classifier: Development Status :: 4 - Beta
Classifier: Environment :: Web Environment
Classifier: Framework :: Flask
Classifier: Intended Audience :: Developers
Classifier: License :: OSI Approved :: MIT License
Classifier: Operating System :: OS Independent
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.4
Classifier: Programming Language :: Python :: 3.5
Classifier: Programming Language :: Python :: 3.6
Classifier: Topic :: Internet :: WWW/HTTP
Description-Content-Type: text/markdown
