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.
- Fix royal.testing.
- Breaking change: Remove .parent and children property on royal.resource.Base
- Add find_item and find_collection
- Update interfaces.
- 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.
- Breaking changes:
- 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.
- Breaking changes:
- 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.
- Initial version
- 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.