Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/anyblok/anyblok-pyramid-rest-api
Build restful api that interacts with AnyBlok models through a CRUD like pattern
https://github.com/anyblok/anyblok-pyramid-rest-api
technical
Last synced: about 1 month ago
JSON representation
Build restful api that interacts with AnyBlok models through a CRUD like pattern
- Host: GitHub
- URL: https://github.com/anyblok/anyblok-pyramid-rest-api
- Owner: AnyBlok
- License: mpl-2.0
- Created: 2017-10-16T13:08:14.000Z (over 7 years ago)
- Default Branch: master
- Last Pushed: 2020-12-07T15:58:29.000Z (about 4 years ago)
- Last Synced: 2024-12-20T09:19:22.690Z (about 1 month ago)
- Topics: technical
- Language: Python
- Homepage:
- Size: 333 KB
- Stars: 3
- Watchers: 3
- Forks: 5
- Open Issues: 11
-
Metadata Files:
- Readme: README.rst
- Changelog: CHANGELOG
- License: LICENSE
Awesome Lists containing this project
README
.. This file is a part of the AnyBlok / Pyramid / REST api project
..
.. Copyright (C) 2017 Franck BRET
.. Copyright (C) 2017 Jean-Sebastien SUZANNE
.. Copyright (C) 2019 Jean-Sebastien SUZANNE
..
.. This Source Code Form is subject to the terms of the Mozilla Public License,
.. v. 2.0. If a copy of the MPL was not distributed with this file,You can
.. obtain one at http://mozilla.org/MPL/2.0/... image:: https://img.shields.io/pypi/pyversions/anyblok_pyramid_rest_api.svg?longCache=True
:alt: Python versions.. image:: https://travis-ci.org/AnyBlok/anyblok-pyramid-rest-api.svg?branch=master
:target: https://travis-ci.org/AnyBlok/anyblok-pyramid-rest-api
:alt: Build status.. image:: https://coveralls.io/repos/github/AnyBlok/anyblok-pyramid-rest-api/badge.svg?branch=master
:target: https://coveralls.io/github/AnyBlok/anyblok-pyramid-rest-api?branch=master
:alt: Coverage.. image:: https://img.shields.io/pypi/v/anyblok-pyramid-rest-api.svg
:target: https://pypi.python.org/pypi/anyblok-pyramid-rest-api/
:alt: Version status
.. image:: https://readthedocs.org/projects/anyblok-pyramid-rest-api/badge/?version=latest
:alt: Documentation Status
:scale: 100%
:target: https://doc.anyblok-pyramid-rest-api.anyblok.org/en/latest/?badge=latestAnyblok Pyramid Rest Api
========================The main idea is to provide facilities for building restful api that interacts with AnyBlok_ models
through a CRUD like pattern.As dependecy, it use Cornice_ for its validators and schema abilities and Marshmallow_ for
schema definition, serialization and deserialization (we have since split this work to
AnyBlok_Marshmallow_).* Free software: Mozilla Public License Version 2.0
* Documentation: https://anyblok-pyramid-rest-api.readthedocs.ioFeatures
--------* Incoming request validation through schema (validation before database query and ability to
validate several parts of the request object)
* CRUD queries always with request.validated data
* Data deserialization for response through schema
* Easy CRUD resource declaration (map a model on an endpoint)
* Automatic schema generation based on models introspection
* Advanced collection filtering, ordering, paging (querystring validation through schema)Todo
----* Helpers for JsonSchema or Swagger
* Advanced introspection for api documentation generationRequest lifecyle
----------------incoming request ::
-> validators -> deserializer (json to dict) -> schema load -> request.validated -> request.errors
request.validated ::
-> crud -> resulting records
-> deserializer (records to schema dump)
-> serializer (default pyramid / cornice dict to json serializer)
-> responseAuthor
------Franck Bret
~~~~~~~~~~~* [email protected]
* https://github.com/franckbretContributors
------------Jean-Sébastien Suzanne
~~~~~~~~~~~~~~~~~~~~~~* [email protected]
* https://github.com/jssuzanne
* https://github.com/AnyBlokCredits
-------* Anyblok_
* Pyramid_
* Cornice_
* Marshmallow_
* AnyBlok_Marshmallow_.. _Anyblok: https://github.com/AnyBlok/AnyBlok
.. _Pyramid: https://getpyramid.com
.. _Cornice: http://cornice.readthedocs.io/
.. _Marshmallow: http://marshmallow.readthedocs.io/
.. _AnyBlok_Marshmallow: https://github.com/AnyBlok/AnyBlok_MarshmallowLicense
~~~~~~~This Source Code Form is subject to the terms of the Mozilla Public License,
v. 2.0. If a copy of the MPL was not distributed with this file,You can
obtain one at http://mozilla.org/MPL/2.0/.Copyright (c) 2017, Franck Bret