Skip to main content

Provides clients access to models and methods defined on a TurboGears server.

Project description

With TurboGears Interface, the developer can write client code as if he
were writing it on the server with direct access to server-side models
and methods.

It uses the most-excellent TGWebServices package to do the heavy lifting.
Unfortunately, the latest egg doesn't seem to work so you'll need to
install TGWebServices with mercurial
(``hg clone https://code.google.com/p/tgws.tgws-2/``) in the TurboGears
virtualenv (ie. server-side).

Thanks to all who contributed to TGWebServices and TurboGears (and all
packages contained therein).

Thanks also to Frank v. Delft for his brain farts and SGC (http://www.thesgc.org/)
for their support.


Features
--------
Server-side:

* Works seamlessly with TurboGears
* Gives access to models and methods that you decorate
* API automatically created and offered for download
* If you expose a model and don't create a controller, one is created for you
* Methods defined in Controllers automatically import and export complex types defined in the API
* (Optional) Methods can change 'self' to be the the 'self' object that initiated the call client-side


Client-side:

* Automatically provides access to methods and models defined in the API
* Code looks identical to server-side code (using SQLAlchemy's ORM)
* Automatically guesses database relationships to keep client-data up-to-date
* All calls are made asynchronously and the module is multithread-safe
* Allows the developer to easily define callback functions for data being updated or server-side methods finishing

To-do
-----
Server-side:

* Implement autherisation in ``ServerSide.ExposeTable`` (should be easy enough to integrate TurboGear's autherisation system)

Client-side:

* Make it easy to gracefully tell the user of network outage / server error (at the moment, the developer can make error handlers for specific things going wrong, but there's probably a better way to let him know of general faults affecting many systems.)

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

TGInterface-0.2.4.tar.gz (18.5 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

TGInterface-0.2.4-py2.7.egg (37.8 kB view details)

Uploaded Egg

File details

Details for the file TGInterface-0.2.4.tar.gz.

File metadata

  • Download URL: TGInterface-0.2.4.tar.gz
  • Upload date:
  • Size: 18.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No

File hashes

Hashes for TGInterface-0.2.4.tar.gz
Algorithm Hash digest
SHA256 3d53cbfbd737cc370e0c666f9223f4ce8feb6f384a373bcedd0efa549a263723
MD5 a64e14b08fdb588479992dcf3d4aa47e
BLAKE2b-256 b7043166c68167e16345ed584c4bd3e46a5f115cfa37b4a2e2126372309491f3

See more details on using hashes here.

File details

Details for the file TGInterface-0.2.4-py2.7.egg.

File metadata

File hashes

Hashes for TGInterface-0.2.4-py2.7.egg
Algorithm Hash digest
SHA256 eed2807a52831bd6dc60be89f6d174aa77f698344b951034bad1e0bbed3e1397
MD5 871501b3c5876a042f7b0c3798b33eb3
BLAKE2b-256 bdb0f7daaaecd4b431d1fb236f4ba66e35dc9022296a2b8a8e75aa0b806bdc8e

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