Skip to main content

Werkzeug extensions for building RESTful services.

Project description

Werkzeug extensions for building RESTful services.

What is RESTpy?

RESTpy is a small set of additions and extensions to werkzeug that make it a little easier to roll out a RESTful web service.

Example Usage

from restpy.applications import RestApplication
from restpy.wsgi import RequestMiddleware

from werkzeug.routing import Map, Rule
from werkzeug.wrappers import Response


class IndexEndpoint(object):

    def GET(self, request):
        return Response("GET")

    def POST(self, request):
        return Response("POST")

    def PUT(self, request):
        return Response("PUT")

    def DELETE(self, request):
        return Response("DELETE")

urls = Map([Rule("/", endpoint=IndexEndpoint)])

application = RequestMiddleware(RestApplication(urls))

This package also comes with a helper script that can generate RESTful web service projects or individual service handlers using boilerplate code:

$ restpy project MySocialNetwork
$ cd myproject
$ restpy service person
$ restpy service friend --models

License

This project is released under the same BSD license as werkzeug:

Copyright (c) 2013 by Kevin Conway

Redistribution and use in source and binary forms, with or without
modification, are permitted provided that the following conditions are
met:

    * Redistributions of source code must retain the above copyright
      notice, this list of conditions and the following disclaimer.

    * Redistributions in binary form must reproduce the above
      copyright notice, this list of conditions and the following
      disclaimer in the documentation and/or other materials provided
      with the distribution.

    * The names of the contributors may not be used to endorse or
      promote products derived from this software without specific
      prior written permission.

THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.

Contributor’s Agreement

All contributions to this project are protected by the contributors agreement detailed in the CONTRIBUTING file. All contributors should read the file before contributing, but as a summary:

You give us the rights to distribute your code and we promise to maintain
an open source release of anything you contribute.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

RESTpy-0.3.2.tar.gz (15.4 kB view details)

Uploaded Source

File details

Details for the file RESTpy-0.3.2.tar.gz.

File metadata

  • Download URL: RESTpy-0.3.2.tar.gz
  • Upload date:
  • Size: 15.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No

File hashes

Hashes for RESTpy-0.3.2.tar.gz
Algorithm Hash digest
SHA256 bb81c391d2350af5c9df04ce4ac2bb2a9bdc0043793db158fbba4908504068b5
MD5 8bd8a8380275d412df9dba1bfd40a466
BLAKE2b-256 4bf639cbcf0b470b494673344731365f5a7d6c206d09523a6376e70c0254b565

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page