Pyramid extension using traversal which eases writing RESTful web applications.
Royal is a pyramid extension which eases writing RESTful web applications.
Documentation on read the docs
Source code on github
Allow HTTP method overrides for all methods specified in RFC 7232 and 5789 (PATCH).
Permit method override for GET.
Make DELETE method return 204 No Content
Make dummy testing resources derive from dict.
Breaking change: Remove .parent and children property on royal.resource.Base
Add find_item and find_collection
Fix a bug with 2 items being adjacent in hierarchy. The child item was not registered on the good parent.
Add a default implementation in sqla extension for Item.replace.
Add sqlalchemy extension.
Change the way links are added to resource representation.
Fix issue #6: HTTP 500 error when using POST verb on Item resources.
royal.resource:Base constructor now takes request as third positional argument.
royal.resource:Base.resource_url and Base.url method signatures change.
Add presources script to print all resources declared with royal.
Add declarative configuration decorators collection_config & item_config.
No more utility class: resource configuration uses pyramid introspectables to store configuration rather than utility internal dict.
Move royal.utility to ` royal.directives`
Add update_schema and replace_schema to be symetric with create_schema.
Started some documentation.
Set default root factory to royal.resource.Root
Exception view which catches all exception is only added when debug=false in application settings.
Depends on pyramid without any version spec.
Add a default multipart/form-data deserializer.
No more views on voluptuous.MultipleInvalid as voluptuous has been removed from dependencies.
Query params are not anymore passed to resources methods via **kwargs but as a dict. TBD: use a multidict.
Working on return value of Collection.create method. TBD: Add adapters to permit multiple way of calling resource methods from view and adapt renderering
Add renderer_adapter decorator to register adapter via config.scan.
Add renderer adapter to configuration introspectables under Renderer adapters category.
Add add_deserializer config directive and decorator royal.deserializer_config to add deserializers for specific content_type.
Remove decorator log_error_dict in favor of pyramid_exclog extension.
Breaking changes: TBD
Move onctuous away in favor of voluptuous
Added method tunneling to permit PUT, and DELETE via POST methods.
TBD: adapt how request body is parsed.
Add Base.__getitem__ which gets children from self.children
Breaking change: Pages parameters are not anymore page & page_size but offset and limit. It is more developer and db friendly.
onctuous schema checking on resource creation.
royal renderer able to return bson or json.
royal.includeme adds royal renderer and views.
royal.resource.PaginatedResult which permits Collection.index to return paginated results.
royal.views with default views for Collection and Resource.
CollectionView.index does automatic pagination.
Release history Release notifications | RSS feed
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.