API Star tools to create CRUD resources.
Project description
- Version:
- 0.1.0
- Status:
- Production/Stable
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.
replace: Replace resource collection with a new one.
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 |
/ |
replace |
PUT |
/ |
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 a type for your resource:
class PuppyType(typesystem.Object):
properties = {
'id': typesystem.Integer,
'name': typesystem.String
}
Now create your resource:
from apistar_crud.sqlalchemy import Resource
class PuppyResource(metaclass=Resource):
model = PuppyModel
type = PuppyType
methods = ('create', 'retrieve', 'update', 'delete', 'list', 'replace', 'drop')
The resource generates his own routes, so you can add it to your main routes.py:
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.1.0-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 7a3312e0953d6fa2e044d4231e595360c221236827016dfe5d5ef2dbdf4b4ac4 |
|
MD5 | c0aa55e7421827a4b759083efe1a8ca1 |
|
BLAKE2b-256 | 135ce059539462dc1e4e2e0af93e59d1f9a9df65690a241fb5ee06f828bf6bc7 |