Skip to main content

Adds Django REST Framework inspired viewsets to Flask.

Project description

Flask-Viewsets

Flask-Viewsets is a Python package that provides a ViewSet class, inheriting from Flask's View, inspired by Django REST Framework's ViewSet. This package aims to streamline the development of RESTful APIs in Flask by offering a simple and flexible class-based view structure for mapping HTTP methods to defined actions on a per route basis.

Features

  • Provides an easy-to-use class-based view to manage HTTP methods.
  • Supports all HTTP methods (GET, POST, PUT, PATCH, DELETE, ...).
  • Extensible and customizable for various use cases.

Installation

You can install Flask-Viewsets using pip:

pip install Flask-Viewsets

Usage

To use the ViewSet class, import it in your Flask application, define a viewset class by inheriting ViewSet, and implement the desired HTTP methods. Here’s a simple example:

# views.py
from flask_viewsets import ViewSet

class ExampleViewSet(ViewSet):
    def hello(self):
        return "Hello, world!"

    def echo(self, message: str):
        return message
# app.py
from flask import Flask

from . import views

app = Flask(__name__)
app.add_url_rule('/hello', view_func=views.ExampleViewSet.as_view({
    "get": "hello"
}))
app.add_url_rule('/echo/<string:message>', view_func=views.ExampleViewSet.as_view({
    "get": "echo"
}))

if __name__ == "__main__":
    app.run(debug=True)

Requirements

  • Python ^3.12
  • Flask ^3.0.3

Contributing

Contributions are welcome! Please feel free to submit a pull request, file an issue, or suggest improvements.

License

This project is licensed under the GNU Affero General Public License. See the LICENSE.md file for details.

Enjoy using Flask-Viewsets? Give it a star and help make Flask development easier!

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

flask_viewsets-0.2.5.tar.gz (19.7 kB view details)

Uploaded Source

Built Distribution

flask_viewsets-0.2.5-py3-none-any.whl (21.1 kB view details)

Uploaded Python 3

File details

Details for the file flask_viewsets-0.2.5.tar.gz.

File metadata

  • Download URL: flask_viewsets-0.2.5.tar.gz
  • Upload date:
  • Size: 19.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.8.3 CPython/3.11.2 Linux/5.15.153.1-microsoft-standard-WSL2

File hashes

Hashes for flask_viewsets-0.2.5.tar.gz
Algorithm Hash digest
SHA256 8abbc1fdd17b0cc90e5d258c8b41b08de65c169fd511a71b2fae2c2bfd3def3c
MD5 01ffb37fe75bf99155494c2a4d031de6
BLAKE2b-256 3acf2b7c31c9d06e77df5d8fbf5f90d55f7ff025517336c6bb3d76adb6c454e2

See more details on using hashes here.

File details

Details for the file flask_viewsets-0.2.5-py3-none-any.whl.

File metadata

  • Download URL: flask_viewsets-0.2.5-py3-none-any.whl
  • Upload date:
  • Size: 21.1 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.8.3 CPython/3.11.2 Linux/5.15.153.1-microsoft-standard-WSL2

File hashes

Hashes for flask_viewsets-0.2.5-py3-none-any.whl
Algorithm Hash digest
SHA256 60c9f1c179f1a0a757fdd25ea642059ae4e774d28553080892d71a006d677f4a
MD5 6de96bf4319c2b9a37c136aee610c83e
BLAKE2b-256 5376e9d0399a5428e302ed5d094da4ebb29e5650373c547091b9e3fecdb7df82

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page