Skip to main content

Multiprotocol Web Services for TurboGears

Project description

TurboGears gives you a plain HTTP with JSON return values API for your application for free. This isn’t always what you want, though. Sometimes, you don’t want to expose all of the data to the web that you need to render your templates. Maybe you need to support a protocol that names the function it’s calling as part of what it POSTs such as SOAP or XML-RPC.

TGWebServices provides a super simple API for creating web services that are available via SOAP, HTTP->XML, and HTTP->JSON. The SOAP API generates WSDL automatically for your Python and even generates enough type information for statically typed languages (Java and C#, for example) to generate good client code on their end.

How easy is it?

class Multiplier(WebServicesRoot):

    @wsexpose(int)
    @wsvalidate(int, int)
    def multiply(self, num1, num2):
        return num1 * num2

With this at the root, SOAP clients can find the WSDL file at /soap/api.wsdl and POST SOAP requests to /soap/. HTTP requests to /multiply?num1=5&num2=20 will return an XML document with the result of 100. Add ?tg_format=json (or an HTTP Accept: text/javascript header) and you’ll get JSON back.

The great thing about this is that the code above looks like a ‘’’normal Python function’’’ and doesn’t know a thing about web services.

Features

  • Easiest way to expose a web services API

  • Supports SOAP, HTTP+XML, HTTP+JSON

  • Outputs wrapped document/literal SOAP, which is the most widely compatible format

  • Provides enough type information for statically typed languages to generate conveniently usable interfaces

  • Can output instances of your own classes

  • Can also accept instances of your classes as input

  • Works with TurboGears 1.0

  • MIT license allows for unrestricted use

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

TGWebServices-1.2.0.tar.gz (21.5 kB view details)

Uploaded Source

Built Distributions

TGWebServices-1.2.0-py2.5.egg (53.9 kB view details)

Uploaded Source

TGWebServices-1.2.0-py2.4.egg (54.5 kB view details)

Uploaded Source

File details

Details for the file TGWebServices-1.2.0.tar.gz.

File metadata

File hashes

Hashes for TGWebServices-1.2.0.tar.gz
Algorithm Hash digest
SHA256 173acef1d5a5efe67472009fa4748a9d8ea20e3e05a76ff7de05612746b7714a
MD5 175fae9a1e0418827dda4b8408d2a236
BLAKE2b-256 ba59e29a0012f758293e8243a3407a4fb58315fc8016fd1b5ca8354b1f684471

See more details on using hashes here.

File details

Details for the file TGWebServices-1.2.0-py2.5.egg.

File metadata

File hashes

Hashes for TGWebServices-1.2.0-py2.5.egg
Algorithm Hash digest
SHA256 bdd77dd51cf5cb25e61def3f75b6009abe2d87acd2a8a7ca4e2680b78240fb98
MD5 3ea69f7f6955f491b52f3308b5799178
BLAKE2b-256 9c47207ccdd5b52ff8949d6b0fd0c60088fab6eabb9d04a2fe6f913e199cfaae

See more details on using hashes here.

File details

Details for the file TGWebServices-1.2.0-py2.4.egg.

File metadata

File hashes

Hashes for TGWebServices-1.2.0-py2.4.egg
Algorithm Hash digest
SHA256 8f36f3b5f3471d60c8c99371701dece5097a6e71a07fc72a9faeaa9211a3838d
MD5 cae6ca61f3e92cca9cc53c65b3e714d6
BLAKE2b-256 f6c5f80c4f8f9d43d359ccd5bd3b4c151dac27806d441b3097d021745b71150e

See more details on using hashes here.

Supported by

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