API Star tools to create CRUD resources.
Project description
- Version:
0.2.3
- Status:
Production/Stable
- Author:
José Antonio Perdiguero López
API Star tools to create CRUD resources.
Features
The resources are classes with a default implementation for methods:
create: Create a new element for this resource.
retrieve: Retrieve an element of this resource.
update: Update (partially or fully) an element of this resource.
delete: Delete an element of this resource.
list: List resource collection.
drop: Drop resource collection.
The routes for these methods are:
Method |
Verb |
URL |
---|---|---|
create |
POST |
/ |
retrieve |
GET |
/{element_id}/ |
update |
PUT |
/{element_id}/ |
delete |
DELETE |
/{element_id}/ |
list |
GET |
/ |
drop |
DELETE |
/ |
Quick start
Install API star CRUD:
pip install apistar-crud
Create a model for your resource:
# Example using SQL Alchemy
class PuppyModel(Base):
__tablename__ = "Puppy"
id = Column(Integer, primary_key=True)
name = Column(String)
Create an input type and output_type for your resource:
class PuppyInputType(types.Type):
name = validators.String()
class PuppyOutputType(types.Type):
id = validators.Integer()
name = validators.String()
Now create your resource:
from apistar_crud.sqlalchemy import Resource
class PuppyResource(metaclass=Resource):
model = PuppyModel
input_type = PuppyInputType
output_type = PuppyOutputType
methods = ('create', 'retrieve', 'update', 'delete', 'list', 'drop')
The resource generates his own routes, so you can add it to your main routes list:
from apistar import Include
routes = [
Include('/puppy/', PuppyResource.routes, namespace='puppy'),
]
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
Hashes for apistar_crud-0.2.3-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 962273df17e697511d58f6ecc33f3bf3df4ae2819d096efd0fab3d3d9ed39c41 |
|
MD5 | b4a81a1e6724a97335aeb4b47a430100 |
|
BLAKE2b-256 | 7a43414f3a937dcfa3224220afdd692cdd700280964f3ccbb672d4c857b6f73d |