Metadata-Version: 2.1
Name: flask-hintful
Version: 0.0.3.dev4
Summary: Flask extension for generating restful apis using type hints to automatically (de)serialize parameters and generate openapi docs.
Home-page: https://github.com/GabrielCappelli/flask-hintful
Author: Gabriel Cappelli
Author-email: 6148081+GabrielCappelli@users.noreply.github.com
License: MIT
Description: # Flask-Hintful
        Flask-Hintful helps you write Restful APIs using Flask by taking advantage of Python's type hints.
        
        Includes support for serializing/deserializing parameters according to type hints and automatically generating OpenApi documentation for your registered routes.
        
        # Requirements
        
        * Python 3.7+
        * Flask
        * Marshmallow
        
        # Installation
        
        Install using pip
        
        ```pip install flask-hintful```
        
        # Quick Start
        
        Construct a FlaskHintful object by passing the Flask application as a parameter, then use the FlaskHintful object `@route` and `.register_blueprint` to register routes.
        
        Create your view functions with type hints and FlaskHintful will serialize pass path args, query args and even the request body for you.
        
        ```python
        from dataclasses import dataclass
        from datetime import date, datetime
        
        from flask import Flask
        
        from flask_hintful import FlaskHintful
        
        app = Flask('My API')
        api = FlaskHintful(app)
        
        
        @dataclass
        class NestedModel():
            str_field: str
        
        
        @dataclass
        class DataclassModel():
            str_field: str
            int_field: int
            float_field: float
            boolean_field: bool
            list_field: list
            date_field: date
            datetime_field: datetime
            nested_field: NestedModel
        
        
        @api.route('/<id>/dataclass_test', methods=['POST'])
        def dataclass_route(id: str, query_arg: int, model: DataclassModel) -> DataclassModel:
            '''my dataclass route'''
            return model
        
        
        app.run()
        ```
        
        You will be able to access the generated OpenApi on `/swagger`.
        
        ![Preview1](./docs/images/sample_openapi.png)
        
        
        # License
        
        This project is licensed under the MIT License - see the [LICENSE](LICENSE) file for details
        
Platform: UNKNOWN
Classifier: License :: OSI Approved :: MIT License
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.7
Description-Content-Type: text/markdown
