{ "info": { "author": "David Wallace", "author_email": "david.wallace+tentapp@gmail.com", "bugtrack_url": null, "classifiers": [ "Development Status :: 3 - Alpha", "Intended Audience :: Developers", "License :: OSI Approved :: MIT License", "Operating System :: OS Independent", "Programming Language :: Python", "Programming Language :: Python :: 2.7", "Topic :: Communications", "Topic :: Internet", "Topic :: Software Development :: Libraries :: Python Modules" ], "description": "python-tent-client\n==================\n\nA command-line client for talking to [Tent](http://tent.io/) servers such as [tent.is](https://tent.is/).\n\nCurrent Status\n--------------\n\nWe're in the \"move fast and break things\" phase right now.\n\nWhat works:\n* Discovery of the tent server's API root using link headers\n* Registering an app with the server and requesting permissions using OAuth\n* Auth keys are saved to a local config file for use next time\n* API methods (both public ones and auth-requiring ones)\n\nIt should be possible to register a notification URL using this code, but since it's not necessarily running a webserver it won't be able to be notified of incoming posts. In that case it can poll for new updates.\n\nWhat needs attention:\n* Some API methods have not been written yet. Most of them should be quick to write by starting with copies of the methods that are already done.\n* Write tests\n* Error handling. Should add a few exception types and also pay closer attention to errors from the `requests` module.\n* Documentation\n* Find elegant ways to deal with the JSON we get back from the Tent server. Maybe add some classes representing posts, profiles, etc.\n* Package this up as a real Python module that can be installed in the usual way\n\nDependencies\n------------\n\n* [requests](http://docs.python-requests.org/en/latest/#)\n\nInstallation of dependencies:\n\n```\n# get requests using pip\npip install requests\n\n# you might already have an old version of requests that's missing the link headers feature. If so:\npip install --update requests\n```\n\nQuick Start\n-----------\n\nRun `example.py` and it will launch your browser, have the Tent server ask you to approve the app, and then post a hello world message. The OAuth process is awkward when run from a command line, so read the prompt when it asks you to copy and paste things from your browser. You only have to do this once; after that your auth details are saved in 'auth.cfg' and reused in future runs.\n\n`example_dashboard.py` will get your latest posts and followings' posts and print them to the shell.\n\nHere's a quick overview:\n\n```\nimport tentapp\ntentapp.debug = False # Turn this on if you want to see verbose debugging info while\n # the app is running. Defaults to False.\n\n\n# \"entity\" is the Tent version of a username. It's a full URL.\nentityUrl = 'https://pythonclienttest.tent.is'\napp = tentapp.TentApp(entityUrl)\n\n# Get your profile info as a JSON-style Python dictionary\nprint app.getProfile()\n\n# Send the user to their tent server to approve this app\n# and save the resulting keys in a local file\napp.authorizeFromCommandLine('keystore.js')\n\n# Post a new post. For now you need to supply the JSON dictionary yourself.\napp.putPost(yourPostJsonHere)\n```\n\nYou'll need to work directly with the JSON types described here: http://tent.io/docs/app-server", "description_content_type": null, "docs_url": null, "download_url": "UNKNOWN", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/longears/python-tent-client/", "keywords": null, "license": "MIT License", "maintainer": null, "maintainer_email": null, "name": "tentapp", "package_url": "https://pypi.org/project/tentapp/", "platform": "UNKNOWN", "project_url": "https://pypi.org/project/tentapp/", "project_urls": { "Download": "UNKNOWN", "Homepage": "https://github.com/longears/python-tent-client/" }, "release_url": "https://pypi.org/project/tentapp/0.1.0dev6/", "requires_dist": null, "requires_python": null, "summary": "Python client/app library for the Tent protocol (https://tent.io)", "version": "0.1.0dev6" }, "last_serial": 800457, "releases": { "0.1.0dev": [ { "comment_text": "", "digests": { "md5": "5cd31cbee7e6da2dfc37a9d716a088ed", "sha256": "7286c77b75ef329dd10df13637e627b02f75175dd9b70d919b9506e83d56c262" }, "downloads": -1, "filename": "tentapp-0.1.0dev.tar.gz", "has_sig": false, "md5_digest": "5cd31cbee7e6da2dfc37a9d716a088ed", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 16299, "upload_time": "2012-10-17T05:55:03", "url": "https://files.pythonhosted.org/packages/c4/ce/ab9b385c347faaad15052a777065b1929ba65983286fb13b18a83d433f64/tentapp-0.1.0dev.tar.gz" } ], "0.1.0dev1": [ { "comment_text": "", "digests": { "md5": "4a93857f1c89c633e383197ab68ea4b7", "sha256": "74d6471f827f56c850d6725de1578885ed84835b14f633e82c01825dec9c107e" }, "downloads": -1, "filename": "tentapp-0.1.0dev1.tar.gz", "has_sig": false, "md5_digest": "4a93857f1c89c633e383197ab68ea4b7", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 16301, "upload_time": "2012-10-17T05:58:08", "url": "https://files.pythonhosted.org/packages/db/17/91d059d2021b369725267d580e441248a047557c9dafa8187c85bcdd2d9b/tentapp-0.1.0dev1.tar.gz" } ], "0.1.0dev2": [ { "comment_text": "", "digests": { "md5": "0918f87a6ef523187f943a2d9570faec", "sha256": "5467660e47e3637da0dc17ebb27e36f955987f5544d6e96bf44003a060a4e02f" }, "downloads": -1, "filename": "tentapp-0.1.0dev2-py2.6.egg", "has_sig": false, "md5_digest": "0918f87a6ef523187f943a2d9570faec", "packagetype": "bdist_egg", "python_version": "2.6", "requires_python": null, "size": 22725, "upload_time": "2012-10-17T06:10:54", "url": "https://files.pythonhosted.org/packages/ea/25/c6085990aa54c42205ad2a38e621b803b92d321e104312671ccb3d7255cc/tentapp-0.1.0dev2-py2.6.egg" }, { "comment_text": "", "digests": { "md5": "502b9532457088d680fee4280a1510a9", "sha256": "543d298a34ccb4ce8811a2add19b801208eae242597aa38cd12672d6597d806c" }, "downloads": -1, "filename": "tentapp-0.1.0dev2.tar.gz", "has_sig": false, "md5_digest": "502b9532457088d680fee4280a1510a9", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 18342, "upload_time": "2012-10-17T06:07:02", "url": "https://files.pythonhosted.org/packages/99/c0/e7e6032012f85a55e75b346969f0902be15206ce38712c42aaff59e5b6f1/tentapp-0.1.0dev2.tar.gz" } ], "0.1.0dev3": [ { "comment_text": "", "digests": { "md5": "07e6e6a5db403f80f0b2007a3d30d03a", "sha256": "38ddc2b174b98fc3b23fa1a65667612bdbee2255ad31d17e09604af4cc43b660" }, "downloads": -1, "filename": "tentapp-0.1.0dev3-py2.6.egg", "has_sig": false, "md5_digest": "07e6e6a5db403f80f0b2007a3d30d03a", "packagetype": "bdist_egg", "python_version": "2.6", "requires_python": null, "size": 22723, "upload_time": "2012-10-17T06:11:14", "url": "https://files.pythonhosted.org/packages/53/0b/79adda77c3e91e7823bf0c3df2d4ce7a1f1685c82302aa7cd98eb1388edd/tentapp-0.1.0dev3-py2.6.egg" }, { "comment_text": "", "digests": { "md5": "424cf83f441414200e445a7ae89ca9fd", "sha256": "e5ead4eaa1abed69226302a7da34e4364b6de80a8d06153e9dc0fb785af322f1" }, "downloads": -1, "filename": "tentapp-0.1.0dev3.tar.gz", "has_sig": false, "md5_digest": "424cf83f441414200e445a7ae89ca9fd", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 18347, "upload_time": "2012-10-17T06:11:12", "url": "https://files.pythonhosted.org/packages/71/15/7117ee657ef46361fffc81a6399ac4bd71fa283f345a53f440418b47804d/tentapp-0.1.0dev3.tar.gz" } ], "0.1.0dev4": [ { "comment_text": "", "digests": { "md5": "a0587cded8e5c3d55bec711f0238b8ae", "sha256": "dc76d1cd1acbe7e5812bd89fc442f759a2da850ed91dba8aca1671d48bc30076" }, "downloads": -1, "filename": "tentapp-0.1.0dev4-py2.6.egg", "has_sig": false, "md5_digest": "a0587cded8e5c3d55bec711f0238b8ae", "packagetype": "bdist_egg", "python_version": "2.6", "requires_python": null, "size": 22591, "upload_time": "2012-10-17T06:13:43", "url": "https://files.pythonhosted.org/packages/e8/5c/7a2d4a27fadc859967846bf9575a1d55960b09704ff8915da504eb56fe70/tentapp-0.1.0dev4-py2.6.egg" }, { "comment_text": "", "digests": { "md5": "87bc26838197d8d60c822e2e921df0ac", "sha256": "ab7fec1078c0a82593db0f3deb2b3dc327556f550aaa6572a6ed6b8563e192d9" }, "downloads": -1, "filename": "tentapp-0.1.0dev4.tar.gz", "has_sig": false, "md5_digest": "87bc26838197d8d60c822e2e921df0ac", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 18359, "upload_time": "2012-10-17T06:13:38", "url": "https://files.pythonhosted.org/packages/40/6b/1f48969e82a985144d5b6a4fe1e72fb5163cde0b746816a940ee66aeacd4/tentapp-0.1.0dev4.tar.gz" } ], "0.1.0dev5": [ { "comment_text": "", "digests": { "md5": "dba12e3a0c61cb82b53159b9b8ed6d64", "sha256": "6b99772bd08193b1e28d0fb8f5fc812e69bb38693c2044951719af7b0d8973e3" }, "downloads": -1, "filename": "tentapp-0.1.0dev5.tar.gz", "has_sig": false, "md5_digest": "dba12e3a0c61cb82b53159b9b8ed6d64", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 16301, "upload_time": "2012-10-17T06:17:41", "url": "https://files.pythonhosted.org/packages/64/3e/bbae3521c812894a07d5753d4e20c5e6dbda1a3f147ad568c2bf657eee0c/tentapp-0.1.0dev5.tar.gz" } ], "0.1.0dev6": [ { "comment_text": "", "digests": { "md5": "0ec229d52f6a0547186db81e927c7759", "sha256": "1ee937a88f3c43e0648f38d80035846715af48a929fd5c1417e22485c504ee1b" }, "downloads": -1, "filename": "tentapp-0.1.0dev6-py2.6.egg", "has_sig": false, "md5_digest": "0ec229d52f6a0547186db81e927c7759", "packagetype": "bdist_egg", "python_version": "2.6", "requires_python": null, "size": 22736, "upload_time": "2012-10-17T06:24:38", "url": "https://files.pythonhosted.org/packages/7b/e6/916403a97608ff43ef9381bc37a57ca3f26f8d45bc86c704b740b5d0bf85/tentapp-0.1.0dev6-py2.6.egg" }, { "comment_text": "", "digests": { "md5": "29fc32ce91e2119283f09f92a3566b43", "sha256": "afacb554a490498ad6be5db86b65c331c6f0ce728754dba7eef413026e49b6c6" }, "downloads": -1, "filename": "tentapp-0.1.0dev6.tar.gz", "has_sig": false, "md5_digest": "29fc32ce91e2119283f09f92a3566b43", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 18368, "upload_time": "2012-10-17T06:24:31", "url": "https://files.pythonhosted.org/packages/8e/17/9be8dccf1635139671dd6719502858648374cc6e06169ce29a0ed46ec3b5/tentapp-0.1.0dev6.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "0ec229d52f6a0547186db81e927c7759", "sha256": "1ee937a88f3c43e0648f38d80035846715af48a929fd5c1417e22485c504ee1b" }, "downloads": -1, "filename": "tentapp-0.1.0dev6-py2.6.egg", "has_sig": false, "md5_digest": "0ec229d52f6a0547186db81e927c7759", "packagetype": "bdist_egg", "python_version": "2.6", "requires_python": null, "size": 22736, "upload_time": "2012-10-17T06:24:38", "url": "https://files.pythonhosted.org/packages/7b/e6/916403a97608ff43ef9381bc37a57ca3f26f8d45bc86c704b740b5d0bf85/tentapp-0.1.0dev6-py2.6.egg" }, { "comment_text": "", "digests": { "md5": "29fc32ce91e2119283f09f92a3566b43", "sha256": "afacb554a490498ad6be5db86b65c331c6f0ce728754dba7eef413026e49b6c6" }, "downloads": -1, "filename": "tentapp-0.1.0dev6.tar.gz", "has_sig": false, "md5_digest": "29fc32ce91e2119283f09f92a3566b43", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 18368, "upload_time": "2012-10-17T06:24:31", "url": "https://files.pythonhosted.org/packages/8e/17/9be8dccf1635139671dd6719502858648374cc6e06169ce29a0ed46ec3b5/tentapp-0.1.0dev6.tar.gz" } ] }