Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/sinoroc/rapids
REST APIs documented and sensible
https://github.com/sinoroc/rapids
apache-license-2 api api-rest openapi openapi3 pyramid pyramid-framework python python-3 python-library python3 raml rest rest-api
Last synced: about 1 month ago
JSON representation
REST APIs documented and sensible
- Host: GitHub
- URL: https://github.com/sinoroc/rapids
- Owner: sinoroc
- License: apache-2.0
- Created: 2017-10-26T15:44:17.000Z (about 7 years ago)
- Default Branch: master
- Last Pushed: 2019-11-20T11:48:09.000Z (almost 5 years ago)
- Last Synced: 2024-10-01T19:17:37.461Z (about 2 months ago)
- Topics: apache-license-2, api, api-rest, openapi, openapi3, pyramid, pyramid-framework, python, python-3, python-library, python3, raml, rest, rest-api
- Language: Python
- Homepage: https://pypi.org/project/rapids/
- Size: 64.5 KB
- Stars: 0
- Watchers: 3
- Forks: 3
- Open Issues: 0
-
Metadata Files:
- Readme: README.rst
- Changelog: CHANGELOG.rst
- License: LICENSE.txt
Awesome Lists containing this project
README
..
.. contents::
.. sectnum::
Introduction
============**REST APIs documented and sensible**
Build automatically documented REST APIs with the `Pyramid framework`_.
This library is available on the Python package index under the project name
``rapids``:* https://pypi.python.org/pypi/rapids
* https://pypi.org/project/rapids/
Usage
=====.. code:: python
@rapids.decorators.resource('', None)
class Root(rapids.resources.Base):
pass@pyramid.view.view_config(context=Root, rapids='')
def root_view(resource, request):
return pyramid.httpexceptions.HTTPNotFound()@rapids.decorators.resource('foo', Root)
class Foo(rapids.resources.Base):
pass@pyramid.view.view_defaults(context=Foo, rapids='')
class FooView:
def __init__(self, resource, request):
pass@pyramid.view.view_config(request_method='GET')
def _get_view(self):
return pyramid.httpexceptions.HTTPOk()@pyramid.view.view_config(request_method='POST')
def _post_view(self):
return pyramid.httpexceptions.HTTPCreated()Hacking
=======This project makes extensive use of `tox`_, `pytest`_, and `GNU Make`_.
Development environment
-----------------------Use following command to create a Python virtual environment with all
necessary dependencies::tox --recreate -e develop
This creates a Python virtual environment in the ``.tox/develop`` directory. It
can be activated with the following command::. .tox/develop/bin/activate
Run test suite
--------------In a Python virtual environment run the following command::
make review
Outside of a Python virtual environment run the following command::
tox --recreate
Build and package
-----------------In a Python virtual environment run the following command::
make package
Outside of a Python virtual environment run the following command::
tox --recreate -e package
.. Links
.. _`GNU Make`: https://www.gnu.org/software/make/
.. _`Pyramid framework`: https://trypyramid.com/
.. _`pytest`: http://pytest.org/
.. _`tox`: https://tox.readthedocs.io/.. EOF