API Star tools to create CRUD resources.
Project description
- Version:
0.2.0
- 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.0-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | f621cadf7a933e980400677f42c2eb68b698404d840d9f2b9a06b1aa639139bb |
|
MD5 | 8eda042229988b52f0c049a41ffe0773 |
|
BLAKE2b-256 | 2226b059c70272e574b83a41db197e0d2ab564cca6ea03d3b69c7ebad71396dc |