Metadata-Version: 2.4
Name: Flask-RESTy
Version: 6.0.0
Summary: Building blocks for REST APIs for Flask
Home-page: https://github.com/4Catalyzer/flask-resty
Author: 4Catalyzer
Author-email: tesrin@gmail.com
License: MIT
Keywords: rest flask
Classifier: Framework :: Flask
Classifier: Environment :: Web Environment
Classifier: Intended Audience :: Developers
Classifier: License :: OSI Approved :: MIT License
Classifier: Operating System :: OS Independent
Classifier: Programming Language :: Python
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Programming Language :: Python :: 3 :: Only
Classifier: Topic :: Internet :: WWW/HTTP :: Dynamic Content
Classifier: Topic :: Software Development :: Libraries :: Python Modules
Requires-Python: >=3.10
Description-Content-Type: text/markdown
License-File: LICENSE
Requires-Dist: flask~=3.0.0
Requires-Dist: flask-sqlalchemy~=3.0
Requires-Dist: sqlalchemy~=2.0.0
Requires-Dist: marshmallow>=3.20.0
Requires-Dist: werkzeug>=3.0
Requires-Dist: konch>=4.0
Provides-Extra: docs
Requires-Dist: sphinx; extra == "docs"
Requires-Dist: pallets-sphinx-themes; extra == "docs"
Provides-Extra: jwt
Requires-Dist: PyJWT>=2.0.0; extra == "jwt"
Requires-Dist: cryptography>=2.0.0; extra == "jwt"
Provides-Extra: tests
Requires-Dist: coverage; extra == "tests"
Requires-Dist: psycopg2-binary; extra == "tests"
Requires-Dist: pytest; extra == "tests"
Provides-Extra: dev
Requires-Dist: sphinx; extra == "dev"
Requires-Dist: pallets-sphinx-themes; extra == "dev"
Requires-Dist: coverage; extra == "dev"
Requires-Dist: psycopg2-binary; extra == "dev"
Requires-Dist: pytest; extra == "dev"
Requires-Dist: tox; extra == "dev"
Dynamic: author
Dynamic: author-email
Dynamic: classifier
Dynamic: home-page
Dynamic: keywords
Dynamic: license
Dynamic: license-file
Dynamic: provides-extra
Dynamic: requires-dist
Dynamic: requires-python
Dynamic: summary

# Flask-RESTy [![GitHub Actions][build-badge]][build] [![Codecov][codecov-badge]][codecov] [![PyPI][pypi-badge]][pypi] [![marshmallow 3 compatible][marshmallow-badge]][marshmallow-upgrading]

Flask-RESTy provides building blocks for creating REST APIs with [Flask](http://flask.pocoo.org/), [SQLAlchemy](https://www.sqlalchemy.org/), and [marshmallow](https://marshmallow.readthedocs.io/).

```python
from flask_resty import Api, GenericModelView

from . import app, models, schemas


class WidgetViewBase(GenericModelView):
    model = models.Widget
    schema = schemas.WidgetSchema()


class WidgetListView(WidgetViewBase):
    def get(self):
        return self.list()

    def post(self):
        return self.create()


class WidgetView(WidgetViewBase):
    def get(self, id):
        return self.retrieve(id)

    def patch(self, id):
        return self.update(id, partial=True)

    def delete(self, id):
        return self.destroy(id)


api = Api(app, "/api")
api.add_resource("/widgets", WidgetListView, WidgetView)
```

## Documentation

Documentation is available at https://flask-resty.readthedocs.io/.

## License

MIT Licensed. See the bundled [LICENSE](https://github.com/4Catalyzer/flask-resty/blob/master/LICENSE) file for more details.

[build-badge]: https://github.com/4Catalyzer/flask-resty/actions/workflows/main.yml/badge.svg
[build]: https://github.com/4Catalyzer/flask-resty/actions
[pypi-badge]: https://img.shields.io/pypi/v/Flask-RESTy.svg
[pypi]: https://pypi.python.org/pypi/Flask-RESTy
[codecov-badge]: https://img.shields.io/codecov/c/github/4Catalyzer/flask-resty/master.svg
[codecov]: https://codecov.io/gh/4Catalyzer/flask-resty
[marshmallow-badge]: https://badgen.net/badge/marshmallow/3
[marshmallow-upgrading]: https://marshmallow.readthedocs.io/en/latest/upgrading.html
