{ "info": { "author": "Pete Burgers, James Walker", "author_email": "UNKNOWN", "bugtrack_url": null, "classifiers": [ "Development Status :: 4 - Beta", "Intended Audience :: Developers", "License :: OSI Approved :: Apache Software License", "Operating System :: OS Independent", "Programming Language :: Python", "Topic :: Multimedia :: Graphics", "Topic :: Software Development :: Libraries :: Python Modules" ], "description": "=======================\nTrovebox Python Library\n=======================\n(Previously known as openphoto-python)\n\n.. image:: https://travis-ci.org/photo/openphoto-python.png?branch=master\n :alt: Build Status\n :target: https://travis-ci.org/photo/openphoto-python\n\n.. image:: https://coveralls.io/repos/photo/openphoto-python/badge.png?branch=master\n :alt: Coverage Status\n :target: https://coveralls.io/r/photo/openphoto-python?branch=master\n\n.. image:: https://pypip.in/v/trovebox/badge.png\n :alt: Python Package Index (PyPI)\n :target: https://pypi.python.org/pypi/trovebox\n\nThis library works with any Trovebox server, either\n`self-hosted `__, or using the hosted service at\n`trovebox.com `__.\nIt provides full access to your photos and metadata, via a simple\nPythonic API.\n\nInstallation\n============\n::\n\n pip install trovebox\n\nDocumentation\n=============\nSee the `Trovebox API Documentation `__\nfor full API documentation, including Python examples.\n\nAll development takes place at the `openphoto-python GitHub site `__.\n\nCredentials\n===========\nFor full access to your photos, you need to create the following config\nfile in ``~/.config/trovebox/default``::\n\n # ~/.config/trovebox/default\n host = your.host.com\n consumerKey = your_consumer_key\n consumerSecret = your_consumer_secret\n token = your_access_token\n tokenSecret = your_access_token_secret\n\nThe ``config_file`` switch lets you specify a different config file.\n\nTo get your credentials:\n\n* Log into your Trovebox site\n* Click the arrow on the top-right and select 'Settings'\n* Click the 'Create a new app' button\n* Click the 'View' link beside the newly created app\n\nUsing the library\n=================\n::\n\n from trovebox import Trovebox\n client = Trovebox()\n photos = client.photos.list()\n photos[0].update(tags=[\"tag1\", \"tag2\"])\n print(photos[0].tags)\n\nThe Trovebox Python class hierarchy mirrors the\n`Trovebox API `__ endpoint layout.\nFor example, the calls in the example above use the following API endpoints:\n\n* ``client.photos.list() -> /photos/list.json``\n* ``photos[0].update() -> /photo//update.json``\n\nYou can also access the API at a lower level using GET/POST methods::\n\n resp = client.get(\"/photos/list.json\")\n resp = client.post(\"/photo/62/update.json\", tags=[\"tag1\", \"tag2\"])\n\nAPI Versioning\n==============\nIt may be useful to lock your application to a particular version of the Trovebox API.\nThis ensures that future API updates won't cause unexpected breakages.\nTo do this, configure your Trovebox client as follows::\n\n client.configure(api_version=2)\n\nSSL Verification\n================\nIf you connect to your Trovebox server over HTTPS, its SSL certificate is automatically verified.\nYou can configure your Trovebox client to bypass this verification step::\n\n client.configure(ssl_verify=False)\n\nCommandline Tool\n================\nYou can run commands to the Trovebox API from your shell!\n\nThese are the options you can pass to the shell program::\n\n --help # Display help text\n -c config_file # Either the name of a config file in ~/.config/trovebox/ or a full path to a config file\n -h hostname # Overrides config_file for unauthenticated API calls\n -e endpoint # [default=/photos/list.json]\n -X method # [default=GET]\n -F params # e.g. -F 'title=my title' -F 'tags=mytag1,mytag2'\n -p # Pretty print the json\n -v # Verbose output\n --version # Display the current version information\n\nCommandline Examples\n--------------------\nUpload a public photo to the host specified in ```~/.config/trovebox/default```::\n\n trovebox -p -X POST -e /photo/upload.json -F 'photo=@/path/to/photo/jpg' -F 'permission=1'\n {\n \"code\":201,\n \"message\":\"Photo 1eo uploaded successfully\",\n \"result\":{\n \"actor\":\"user@example.com\",\n \"albums\":[],\n ...\n ...\n }\n }\n\nGet a thumbnail URL from current.trovebox.com (unauthenticated access)::\n\n trovebox -h current.trovebox.com -p -e /photo/62/view.json -F 'returnSizes=20x20'\n {\n \"code\":200,\n \"message\":\"Photo 62\",\n \"result\":{\n \"actor\":\"\",\n \"albums\":[\n \"1\"\n ],\n ...\n ...\n \"path20x20\":\"http://current.trovebox.com/photo/62/create/36c0a/20x20.jpg\",\n \"pathBase\":\"http://awesomeness.trovebox.com/base/201203/7ae997-Boracay-Philippines-007.jpg\",\n \"permission\":\"1\",\n \"photo20x20\":[\n \"http://current.trovebox.com/photo/62/create/36c0a/20x20.jpg\",\n 13,\n 20\n ],\n ...\n ...\n }\n }", "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/photo/openphoto-python", "keywords": "openphoto,pyopenphoto,openphoto-python,trovebox,pytrovebox,trovebox-python", "license": "Apache 2.0", "maintainer": null, "maintainer_email": null, "name": "trovebox", "package_url": "https://pypi.org/project/trovebox/", "platform": "UNKNOWN", "project_url": "https://pypi.org/project/trovebox/", "project_urls": { "Download": "UNKNOWN", "Homepage": "https://github.com/photo/openphoto-python" }, "release_url": "https://pypi.org/project/trovebox/0.6.2/", "requires_dist": null, "requires_python": null, "summary": "The official Python client library for the Trovebox photo service", "version": "0.6.2" }, "last_serial": 988820, "releases": { "0.0.0": [], "0.4": [ { "comment_text": "", "digests": { "md5": "e14f49355526131206e748108741b168", "sha256": "05b5fec0db02b0e56a74654c84e9f12bf6390bd86cea29addca4e8dbcd3e56b9" }, "downloads": -1, "filename": "trovebox-0.4.tar.gz", "has_sig": false, "md5_digest": "e14f49355526131206e748108741b168", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 12464, "upload_time": "2013-07-20T17:37:54", "url": "https://files.pythonhosted.org/packages/23/da/0c110f7cb4967e71bcd9b1e1d3ff0e1f819b6b3413b329f438af7e4efbb0/trovebox-0.4.tar.gz" } ], "0.5": [ { "comment_text": "", "digests": { "md5": "3ddcdb589db0bc886926d56b72da86bc", "sha256": "55681bf7467fed6ed43f3db0c106dc31cb5dc8bafe53aaa6eec68d8d6be8f31c" }, "downloads": -1, "filename": "trovebox-0.5.tar.gz", "has_sig": false, "md5_digest": "3ddcdb589db0bc886926d56b72da86bc", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 13207, "upload_time": "2013-08-18T18:20:17", "url": "https://files.pythonhosted.org/packages/ec/89/f9c1fc492bea7052a739ea63f3e7510816761c724035bba49e256e2885c9/trovebox-0.5.tar.gz" } ], "0.5.1": [ { "comment_text": "", "digests": { "md5": "286e052212e772ef7fbd015ed55f3ecc", "sha256": "5fb199a18adcd836931cba9e7af84d5ac7e7f460419a06a16c58352247339aa0" }, "downloads": -1, "filename": "trovebox-0.5.1.tar.gz", "has_sig": false, "md5_digest": "286e052212e772ef7fbd015ed55f3ecc", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 13192, "upload_time": "2013-10-29T20:43:44", "url": "https://files.pythonhosted.org/packages/cd/fb/1b160c7cf45cd8b8273bc82738da8b98583d29b9c960c3fbac4eb014674b/trovebox-0.5.1.tar.gz" } ], "0.6": [ { "comment_text": "", "digests": { "md5": "1fdaf948037e48ec7d3bc0482586f938", "sha256": "10193d54ea980b7a208919c9666721217b840680baf38fc2c222c1b5017bde8b" }, "downloads": -1, "filename": "trovebox-0.6.tar.gz", "has_sig": false, "md5_digest": "1fdaf948037e48ec7d3bc0482586f938", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 16150, "upload_time": "2013-11-23T12:27:35", "url": "https://files.pythonhosted.org/packages/2c/f8/4d02974326fa8e1596b85530484e295569858d3167b2e8e010c0466ccea0/trovebox-0.6.tar.gz" } ], "0.6.1": [ { "comment_text": "", "digests": { "md5": "20ab18f7bed43ebaf0b99adc7f8295f3", "sha256": "0958e042e628124d6354f1d66c3520fd76752eb57479f0d69a4daff014fe6cf9" }, "downloads": -1, "filename": "trovebox-0.6.1.tar.gz", "has_sig": false, "md5_digest": "20ab18f7bed43ebaf0b99adc7f8295f3", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 16078, "upload_time": "2013-12-08T16:40:36", "url": "https://files.pythonhosted.org/packages/d4/8d/272ff4adca14a62f78f1ed61e6ad53d44dcb40978235c47d2a14cfb80a21/trovebox-0.6.1.tar.gz" } ], "0.6.2": [ { "comment_text": "", "digests": { "md5": "95c6bdd7876c06e832c70162b8a776fd", "sha256": "5f5b5873ea81fa2fda7cac1fd425420e8447402b7ae7a01ba415a9c6a0f2e99d" }, "downloads": -1, "filename": "trovebox-0.6.2.tar.gz", "has_sig": false, "md5_digest": "95c6bdd7876c06e832c70162b8a776fd", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 16347, "upload_time": "2014-02-02T21:17:57", "url": "https://files.pythonhosted.org/packages/f0/4c/8b5ac553f2d40038e846eef1446960dfd018f9ff7bdf7f15943bf24e6672/trovebox-0.6.2.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "95c6bdd7876c06e832c70162b8a776fd", "sha256": "5f5b5873ea81fa2fda7cac1fd425420e8447402b7ae7a01ba415a9c6a0f2e99d" }, "downloads": -1, "filename": "trovebox-0.6.2.tar.gz", "has_sig": false, "md5_digest": "95c6bdd7876c06e832c70162b8a776fd", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 16347, "upload_time": "2014-02-02T21:17:57", "url": "https://files.pythonhosted.org/packages/f0/4c/8b5ac553f2d40038e846eef1446960dfd018f9ff7bdf7f15943bf24e6672/trovebox-0.6.2.tar.gz" } ] }