{ "info": { "author": "Sam Wright", "author_email": "UNKNOWN", "bugtrack_url": null, "classifiers": [ "Development Status :: 3 - Alpha", "Framework :: TurboGears", "Operating System :: OS Independent", "Programming Language :: Python", "Topic :: Software Development :: Libraries :: Python Modules" ], "description": "With TurboGears Interface, the developer can write client code as if he \n were writing it on the server with direct access to server-side models \n and methods.\n \n It uses the most-excellent TGWebServices package to do the heavy lifting.\n Unfortunately, the latest egg doesn't seem to work so you'll need to \n install TGWebServices with mercurial\n (``hg clone https://code.google.com/p/tgws.tgws-2/``) in the TurboGears \n virtualenv (ie. server-side).\n \n Thanks to all who contributed to TGWebServices and TurboGears (and all\n packages contained therein).\n \n Thanks also to Frank v. Delft for his brain farts and SGC (http://www.thesgc.org/)\n for their support.\n\n \n Features\n --------\n Server-side:\n \n * Works seamlessly with TurboGears\n * Gives access to models and methods that you decorate\n * API automatically created and offered for download\n * If you expose a model and don't create a controller, one is created for you\n * Methods defined in Controllers automatically import and export complex types defined in the API\n * (Optional) Methods can change 'self' to be the the 'self' object that initiated the call client-side\n\n\n Client-side:\n \n * Automatically provides access to methods and models defined in the API\n * Code looks identical to server-side code (using SQLAlchemy's ORM)\n * Automatically guesses database relationships to keep client-data up-to-date\n * All calls are made asynchronously and the module is multithread-safe\n * Allows the developer to easily define callback functions for data being updated or server-side methods finishing\n\n To-do\n -----\n Server-side:\n \n * Implement autherisation in ``ServerSide.ExposeTable`` (should be easy enough to integrate TurboGear's autherisation system)\n\n Client-side:\n \n * 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.)", "description_content_type": null, "docs_url": "https://pythonhosted.org/TGInterface/", "download_url": "UNKNOWN", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "http://pypi.python.org/pypi/TGInterface", "keywords": null, "license": "MIT", "maintainer": null, "maintainer_email": null, "name": "TGInterface", "package_url": "https://pypi.org/project/TGInterface/", "platform": "UNKNOWN", "project_url": "https://pypi.org/project/TGInterface/", "project_urls": { "Download": "UNKNOWN", "Homepage": "http://pypi.python.org/pypi/TGInterface" }, "release_url": "https://pypi.org/project/TGInterface/0.2.4/", "requires_dist": null, "requires_python": null, "summary": "Provides clients access to models and methods defined on a TurboGears server.", "version": "0.2.4" }, "last_serial": 785761, "releases": { "0.1": [ { "comment_text": "", "digests": { "md5": "59ab4b60a370d7b8602ee1ed30adcf4a", "sha256": "69a5c60f2ab4e5316748fbd3112f56b04b4251f9eb4b080f2526ded9b9a508a9" }, "downloads": -1, "filename": "TGInterface-0.1-py2.7.egg", "has_sig": false, "md5_digest": "59ab4b60a370d7b8602ee1ed30adcf4a", "packagetype": "bdist_egg", "python_version": "2.7", "requires_python": null, "size": 32967, "upload_time": "2012-01-11T16:40:24", "url": "https://files.pythonhosted.org/packages/56/13/e77ffbad7cde9e7b518b00174ce3ebd122346fd6e7c5c7cfb0a85eb4d1e2/TGInterface-0.1-py2.7.egg" } ], "0.2": [ { "comment_text": "", "digests": { "md5": "930387bf6977d11289c4fb431ca33aca", "sha256": "869c91b8c138815d840f4d69a2cb061e49b2a7c6ce9b92e7264b9fb89d7383fd" }, "downloads": -1, "filename": "TGInterface-0.2-py2.7.egg", "has_sig": false, "md5_digest": "930387bf6977d11289c4fb431ca33aca", "packagetype": "bdist_egg", "python_version": "2.7", "requires_python": null, "size": 35365, "upload_time": "2012-01-12T17:12:56", "url": "https://files.pythonhosted.org/packages/4b/f8/0b652a08b60d31d6b0df102d7507dcbf712f1f4a9ed9e4d9d6e0a2dccc51/TGInterface-0.2-py2.7.egg" } ], "0.2.1": [ { "comment_text": "", "digests": { "md5": "8ce40e6520b6da3d3b138a2197024871", "sha256": "db34e92ce46959173e34bfa0400e19be5bc7191b5d5761f7489416f2900bd401" }, "downloads": -1, "filename": "TGInterface-0.2.1-py2.7.egg", "has_sig": false, "md5_digest": "8ce40e6520b6da3d3b138a2197024871", "packagetype": "bdist_egg", "python_version": "2.7", "requires_python": null, "size": 38235, "upload_time": "2012-01-12T19:23:50", "url": "https://files.pythonhosted.org/packages/23/2f/f7c68533572629e07433f6453683456ae60f68bd145c54acb68c0b37d9ea/TGInterface-0.2.1-py2.7.egg" } ], "0.2.2": [ { "comment_text": "", "digests": { "md5": "6a040ddd2786e7229db32609c2526e73", "sha256": "a23b56c9dada769779767d5f31fd8a2ab0dc8a622cb2d1f3f267efe59506e08c" }, "downloads": -1, "filename": "TGInterface-0.2.2-py2.7.egg", "has_sig": false, "md5_digest": "6a040ddd2786e7229db32609c2526e73", "packagetype": "bdist_egg", "python_version": "2.7", "requires_python": null, "size": 37468, "upload_time": "2012-01-13T15:53:43", "url": "https://files.pythonhosted.org/packages/78/5b/caf350f960bb244b89fb0813cf916324f9c38e740e71db51d0addea84440/TGInterface-0.2.2-py2.7.egg" } ], "0.2.3": [ { "comment_text": "", "digests": { "md5": "d0669969b3458c55c979a799961b140e", "sha256": "c7f1b8729d3586d5332d7f7abb9b9fbe2b03e945249d7fb4a6977586470fe564" }, "downloads": -1, "filename": "TGInterface-0.2.3-py2.7.egg", "has_sig": false, "md5_digest": "d0669969b3458c55c979a799961b140e", "packagetype": "bdist_egg", "python_version": "2.7", "requires_python": null, "size": 37740, "upload_time": "2012-01-13T16:15:24", "url": "https://files.pythonhosted.org/packages/39/6a/c1b432910009cad309b2f6fcffe75f1449fbecd9685ca3aa1219923659d6/TGInterface-0.2.3-py2.7.egg" } ], "0.2.4": [ { "comment_text": "", "digests": { "md5": "871501b3c5876a042f7b0c3798b33eb3", "sha256": "eed2807a52831bd6dc60be89f6d174aa77f698344b951034bad1e0bbed3e1397" }, "downloads": -1, "filename": "TGInterface-0.2.4-py2.7.egg", "has_sig": false, "md5_digest": "871501b3c5876a042f7b0c3798b33eb3", "packagetype": "bdist_egg", "python_version": "2.7", "requires_python": null, "size": 37759, "upload_time": "2012-01-13T16:19:48", "url": "https://files.pythonhosted.org/packages/bd/b0/f7daaaecd4b431d1fb236f4ba66e35dc9022296a2b8a8e75aa0b806bdc8e/TGInterface-0.2.4-py2.7.egg" }, { "comment_text": "", "digests": { "md5": "a64e14b08fdb588479992dcf3d4aa47e", "sha256": "3d53cbfbd737cc370e0c666f9223f4ce8feb6f384a373bcedd0efa549a263723" }, "downloads": -1, "filename": "TGInterface-0.2.4.tar.gz", "has_sig": false, "md5_digest": "a64e14b08fdb588479992dcf3d4aa47e", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 18482, "upload_time": "2012-01-13T18:39:21", "url": "https://files.pythonhosted.org/packages/b7/04/3166c68167e16345ed584c4bd3e46a5f115cfa37b4a2e2126372309491f3/TGInterface-0.2.4.tar.gz" } ], "0.2.5a1": [ { "comment_text": "", "digests": { "md5": "c0623608724b7cbb06d2a2b56ea48a50", "sha256": "6ad1b4fd8bb1d321f92540fa0b010273b807b27ee3b05b3132d3e806cc2dbc24" }, "downloads": -1, "filename": "TGInterface-0.2.5a1.tar.gz", "has_sig": false, "md5_digest": "c0623608724b7cbb06d2a2b56ea48a50", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 17986, "upload_time": "2012-01-13T20:20:17", "url": "https://files.pythonhosted.org/packages/0b/2f/1ef3efca49f07674b27e148cff4992979efea6dc2793c0b5a2923fdf23b3/TGInterface-0.2.5a1.tar.gz" } ], "0.2.5a2": [ { "comment_text": "", "digests": { "md5": "ed1d7ab82a49b7b6df421b3a5c63f4de", "sha256": "da5063e3071460236388db1b2cc29059095e6d51f1c866725e7e287d03115182" }, "downloads": -1, "filename": "TGInterface-0.2.5a2.tar.gz", "has_sig": false, "md5_digest": "ed1d7ab82a49b7b6df421b3a5c63f4de", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 28134, "upload_time": "2012-01-15T18:00:46", "url": "https://files.pythonhosted.org/packages/f2/fb/2f200d72c00eb376db680361d9abe823926c88d2d203b5810ce725b4a15b/TGInterface-0.2.5a2.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "871501b3c5876a042f7b0c3798b33eb3", "sha256": "eed2807a52831bd6dc60be89f6d174aa77f698344b951034bad1e0bbed3e1397" }, "downloads": -1, "filename": "TGInterface-0.2.4-py2.7.egg", "has_sig": false, "md5_digest": "871501b3c5876a042f7b0c3798b33eb3", "packagetype": "bdist_egg", "python_version": "2.7", "requires_python": null, "size": 37759, "upload_time": "2012-01-13T16:19:48", "url": "https://files.pythonhosted.org/packages/bd/b0/f7daaaecd4b431d1fb236f4ba66e35dc9022296a2b8a8e75aa0b806bdc8e/TGInterface-0.2.4-py2.7.egg" }, { "comment_text": "", "digests": { "md5": "a64e14b08fdb588479992dcf3d4aa47e", "sha256": "3d53cbfbd737cc370e0c666f9223f4ce8feb6f384a373bcedd0efa549a263723" }, "downloads": -1, "filename": "TGInterface-0.2.4.tar.gz", "has_sig": false, "md5_digest": "a64e14b08fdb588479992dcf3d4aa47e", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 18482, "upload_time": "2012-01-13T18:39:21", "url": "https://files.pythonhosted.org/packages/b7/04/3166c68167e16345ed584c4bd3e46a5f115cfa37b4a2e2126372309491f3/TGInterface-0.2.4.tar.gz" } ] }