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.)
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
Release history Release notifications | RSS feed
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 hashes)
Built Distribution
TGInterface-0.2.4-py2.7.egg
(37.8 kB
view hashes)