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
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file flask_viewsets-0.2.6.tar.gz.
File metadata
- Download URL: flask_viewsets-0.2.6.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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
4cbdfa0351387d8e903ed40c2c03f9f63e33e31192f2bd049f010401129e0873
|
|
| MD5 |
c577aa91183a0f406daff68dd38c5d59
|
|
| BLAKE2b-256 |
5433cdaf631688bf32aefb17db2a3cc4bbdcf70f03fc425f14b8391a0eccfdaa
|
File details
Details for the file flask_viewsets-0.2.6-py3-none-any.whl.
File metadata
- Download URL: flask_viewsets-0.2.6-py3-none-any.whl
- Upload date:
- Size: 21.2 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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
db9a18805b6f8bb630b389013d569b14b7f69e43703d08ee6b80b792b4f577ab
|
|
| MD5 |
49c729809016512fac89eb78645495f1
|
|
| BLAKE2b-256 |
dfeb8d0d5fc9d60fa1070db7d3059bda0462b1a543a5bf81d15707e6c654603a
|