{ "info": { "author": "Sefa Kilic", "author_email": "sefakilic@gmail.com", "bugtrack_url": null, "classifiers": [ "Development Status :: 4 - Beta", "Intended Audience :: Developers", "License :: OSI Approved :: MIT License", "Natural Language :: English", "Programming Language :: Python :: 2.7", "Programming Language :: Python :: 3.5" ], "description": "goodreads\n=========\n\n|Build Status| |Coverage Status| |Documentation Status| |Downloads|\n|Latest Version| |Supported Python versions| |License|\n\n.. image:: http://s.gr-assets.com/assets/icons/goodreads_icon_50x50-823139ec9dc84278d3863007486ae0ac.png\n :width: 100\n\nThis package provides a Python interface for the `Goodreads\nAPI `__. Using it, you can do pretty much\nanything that Goodreads allows to do with their own data.\n\nDependencies\n------------\n\nThis package depends on the following packages:\n\n- xmltodict\n- requests\n- rauth\n\nThey can be installed using ``pip``.\n\n::\n\n sudo pip install -r requirements.txt\n\nIf you want to contribute to this package, you will need the ``nose``\npackage as well.\n\nInstallation\n------------\n\nTo install, run the following command from the top-level package\ndirectory.\n\n::\n\n sudo python setup.py install\n\nGetting Started\n---------------\n\nThe first thing is to request an API key from Goodreads\n`here `__. Once you have it, you can\ncreate a client instance to query Goodreads.\n\n.. code:: python\n\n from goodreads import client\n gc = client.GoodreadsClient(, )\n\nTo access some of the methods, you need `OAuth `__\nfor authorization.\n\n.. code:: python\n\n gc.authenticate(, )\n\nNote that ``access_token`` and ``access_token_secret`` are different\nfrom developer key and secret. For the development step, you can call\nthe same function with no parameters to get authorization. It will open\na URL pointing a Goodreads page for OAuth permission. For your\napplication, you can direct the user to that particular URL, ask him/her\nto authorize your app and save the returning ``access_token`` and\n``access_token_secret`` in your database.\n\nExamples\n--------\n\nThis package provides a Python interface for most Goodreads API methods.\nHere are a few examples demonstrating how to access data on Goodreads.\n\nBooks\n~~~~~\n\nLet's access the first book added to Goodreads! It is the book with id\n1.\n\n.. code:: python\n\n book = gc.book(1)\n\nOnce you have the ``GoodreadsBook`` instance for the book, you can\naccess data for the queried book.\n\n.. code:: python\n\n >>> book.title\n u'Harry Potter and the Half-Blood Prince (Harry Potter, #6)'\n >>> authors = book.authors\n >>> authors[0].name\n u'J.K. Rowling'\n >>> book.average_rating\n u'4.49'\n\nAuthors\n~~~~~~~\n\nYou can get information about an author as well.\n\n.. code:: python\n\n >>> author = gc.author(2617)\n >>> author.name\n u'Jonathan Safran Foer'\n >>> author.works_count\n u'13'\n >>> author.books\n [Extremely Loud and Incredibly Close, Everything Is Illuminated, Eating Animals, Tree of Codes, Everything is Illuminated & Extremely Loud and Incredibly Close, The unabridged pocketbook of lightning, The Future Dictionary of America, A Convergence of Birds: Original Fiction and Poetry Inspired by Joseph Cornell, New American Haggadah, The Sixth Borough]\n\nUsers\n~~~~~\n\nUser data can be retrieved by user id or username.\n\n.. code:: python\n\n >>> user = gc.user(1)\n >>> user.name\n u'Otis Chandler'\n >>> user.user_name\n u'otis'\n >>> user.small_image_url\n u'http://d.gr-assets.com/users/1189644957p2/1.jpg'\n\nGroups\n~~~~~~\n\nLet's find a group discussing Python and get more information about it.\n\n.. code:: python\n\n >>> g = gc.find_groups(\"Python\")\n >>> g = groups[0]\n >>> g['title']\n u'The Computer Scientists'\n >>> group = gc.group(g['id'])\n >>> group.description\n u'Only for Committed Self Learners and Computer Scientists Who are Starving for\n Information, and Want to Advance their Skills Through: Reading, Practicing and\n Discussion Computer Science and Programming Books.'\n\nEvents\n~~~~~~\n\nGoodreads API also allows to list events happening in an area.\n\n.. code:: python\n\n >>> events = gc.list_events(21229)\n >>> event = events[0]\n >>> event.title\n u'Books and Cocktails'\n >>> event.address\n u'120 N. Front St.'\n >>> event.city\n u'Wrightsville'\n\nDocumentation\n-------------\n\nRead more about this package\n`here `__.\n\nContribution\n------------\n\nIf you find an API method that is not supported by this package, feel\nfree to create a Github issue. Also, you are more than welcome to submit\na pull request for a bug fix or additional feature.\n\nLicense\n-------\n\n`MIT License `__\n\nAcknowledgment\n--------------\n\nThanks to `Paul Shannon `__ for\nproviding 'goodreads' package at PyPI.\n\n.. |Build Status| image:: http://img.shields.io/travis/sefakilic/goodreads.svg\n :target: https://travis-ci.org/sefakilic/goodreads\n.. |Coverage Status| image:: http://img.shields.io/coveralls/sefakilic/goodreads.svg\n :target: https://coveralls.io/r/sefakilic/goodreads\n.. |Documentation Status| image:: https://readthedocs.org/projects/goodreads/badge/?version=latest\n :target: https://readthedocs.org/projects/goodreads/?badge=latest\n.. |Downloads| image:: https://img.shields.io/pypi/dm/goodreads.svg\n :target: https://pypi.python.org/pypi/goodreads/\n.. |Latest Version| image:: https://img.shields.io/pypi/v/goodreads.svg\n :target: https://pypi.python.org/pypi/goodreads/\n.. |Supported Python versions| image:: https://img.shields.io/pypi/pyversions/goodreads.svg\n :target: https://pypi.python.org/pypi/goodreads/\n.. |License| image:: https://img.shields.io/pypi/l/goodreads.svg\n :target: https://pypi.python.org/pypi/goodreads/", "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/sefakilic/goodreads/", "keywords": "goodreads API", "license": "MIT", "maintainer": null, "maintainer_email": null, "name": "Goodreads", "package_url": "https://pypi.org/project/Goodreads/", "platform": "UNKNOWN", "project_url": "https://pypi.org/project/Goodreads/", "project_urls": { "Download": "UNKNOWN", "Homepage": "https://github.com/sefakilic/goodreads/" }, "release_url": "https://pypi.org/project/Goodreads/0.3.2/", "requires_dist": null, "requires_python": null, "summary": "Python wrapper for Goodreads API", "version": "0.3.2" }, "last_serial": 2289366, "releases": { "0.1.0": [ { "comment_text": "", "digests": { "md5": "db40f72eef0b4af08fa8ae614d5dd333", "sha256": "6455c4f6cd6a11a3e6cf303babed763ce3574f88236f0a36d5dbf802b048c03c" }, "downloads": -1, "filename": "Goodreads-0.1.0.zip", "has_sig": false, "md5_digest": "db40f72eef0b4af08fa8ae614d5dd333", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 16249, "upload_time": "2014-02-19T03:33:46", "url": "https://files.pythonhosted.org/packages/b3/9a/77673cadaab55dc934e0974958f412c53dcd55b31735d546da19b9b393c3/Goodreads-0.1.0.zip" } ], "0.1.1": [ { "comment_text": "", "digests": { "md5": "78060c478d3c55d064f7b1caf0697fb5", "sha256": "dc8806265e55e68bea0896d955e5caa8998a3e1e7fdc3cdf335f3b9034d4f20a" }, "downloads": -1, "filename": "Goodreads-0.1.1.zip", "has_sig": false, "md5_digest": "78060c478d3c55d064f7b1caf0697fb5", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 16336, "upload_time": "2014-02-19T04:09:31", "url": "https://files.pythonhosted.org/packages/9a/77/08c425f0515bb6ea9ecbba2f399c6f4782f87acdb0e1ccef9a45186800bc/Goodreads-0.1.1.zip" } ], "0.1.2": [ { "comment_text": "", "digests": { "md5": "8174b0e6689133bc024358e2a1ac1b80", "sha256": "eaa5992a8aad1aa7b7e3617be7d715c9e3e91b598a14f745124484ba75c4a237" }, "downloads": -1, "filename": "Goodreads-0.1.2.zip", "has_sig": false, "md5_digest": "8174b0e6689133bc024358e2a1ac1b80", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 17091, "upload_time": "2014-02-19T14:48:35", "url": "https://files.pythonhosted.org/packages/fa/d5/6c01eb78433bffebf76f888cdef24395ee590bc094814b110767e95e0463/Goodreads-0.1.2.zip" } ], "0.2.0": [ { "comment_text": "", "digests": { "md5": "66c60ec44b7969ba0d3c13cd18ae3499", "sha256": "b264fe11b45e38540dd5c6495f9b8086a1b83bf93f406b72a9f19dffdda2a240" }, "downloads": -1, "filename": "goodreads-0.2.0.tar.gz", "has_sig": false, "md5_digest": "66c60ec44b7969ba0d3c13cd18ae3499", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 8798, "upload_time": "2015-04-17T01:45:14", "url": "https://files.pythonhosted.org/packages/22/63/121248db8da38dc4c73edd298608526a00a924757470051756012694f6dd/goodreads-0.2.0.tar.gz" } ], "0.2.1": [ { "comment_text": "", "digests": { "md5": "f7c04e3e368479e53a275ca840a5eef2", "sha256": "4dca4fc4f28fc0b559d5eb004c992ad34c0f3b207d72fbbdb54ef742983c6ba5" }, "downloads": -1, "filename": "goodreads-0.2.1.tar.gz", "has_sig": false, "md5_digest": "f7c04e3e368479e53a275ca840a5eef2", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 8960, "upload_time": "2015-04-17T02:04:30", "url": "https://files.pythonhosted.org/packages/4a/4b/a4cd1fb50c2694ddae9c60327b49418bf9ab1f6b1f8406d09abfb47aaf3e/goodreads-0.2.1.tar.gz" } ], "0.2.2": [ { "comment_text": "", "digests": { "md5": "926916fa6f27051b08798a19e0df61f0", "sha256": "10d4ae1502da1efed920a7e7a22fb8b09a1dbfb91ecdb3dcd1c6f2acf08fd9f9" }, "downloads": -1, "filename": "goodreads-0.2.2.tar.gz", "has_sig": false, "md5_digest": "926916fa6f27051b08798a19e0df61f0", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 9036, "upload_time": "2015-04-19T02:44:44", "url": "https://files.pythonhosted.org/packages/88/78/9ef4fd7f0241bc3966802b0ed0c5381364370c7fe9c02585d27393528815/goodreads-0.2.2.tar.gz" } ], "0.2.3": [ { "comment_text": "", "digests": { "md5": "b79cf2dae95c7344bfdfa187d88f4e49", "sha256": "c86558a9304a2dc7c74b3ab882d3702a4693543a323317df9b520febb30f7579" }, "downloads": -1, "filename": "goodreads-0.2.3.tar.gz", "has_sig": false, "md5_digest": "b79cf2dae95c7344bfdfa187d88f4e49", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 9349, "upload_time": "2015-04-19T02:52:50", "url": "https://files.pythonhosted.org/packages/3f/0a/a16eea116c0b9bbd0803e5816618b43eb4b4be5ec7d11c579d6bf35a1244/goodreads-0.2.3.tar.gz" } ], "0.2.4": [ { "comment_text": "", "digests": { "md5": "9e7fc30f32b139cf6c0cbf6eca3ef07a", "sha256": "23de9c6f783280571dbd104e3d2dc0fd6f8a40df901bbb5e1259886e7807a8e7" }, "downloads": -1, "filename": "goodreads-0.2.4.tar.gz", "has_sig": false, "md5_digest": "9e7fc30f32b139cf6c0cbf6eca3ef07a", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 9708, "upload_time": "2015-05-06T22:45:38", "url": "https://files.pythonhosted.org/packages/f3/f0/e9d357ae4093cad662c6e593d2817c74422771b844400d1054bb2ca6cd54/goodreads-0.2.4.tar.gz" } ], "0.3.0": [ { "comment_text": "", "digests": { "md5": "cf446d422cc14742614303a537ebce7f", "sha256": "33bef2c7185be92b0f7c5f2aa4860890924fb35ec4f5e221a9ca07932d81afb2" }, "downloads": -1, "filename": "goodreads-0.3.0.tar.gz", "has_sig": false, "md5_digest": "cf446d422cc14742614303a537ebce7f", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 12262, "upload_time": "2016-07-18T14:56:05", "url": "https://files.pythonhosted.org/packages/7a/2c/39b73bea6276388909a84630ea7c8365b49c299c66b8a34dac0c610c01bb/goodreads-0.3.0.tar.gz" } ], "0.3.1": [ { "comment_text": "", "digests": { "md5": "557188d5692e5fe732a6ba1d28f74282", "sha256": "bed27d26d46e6c1eb0ee383edf98165d1f8faf24facbc62daf0bed8a1f57de4d" }, "downloads": -1, "filename": "goodreads-0.3.1.tar.gz", "has_sig": false, "md5_digest": "557188d5692e5fe732a6ba1d28f74282", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 12598, "upload_time": "2016-07-18T15:22:22", "url": "https://files.pythonhosted.org/packages/a8/63/7275defbc26592c6bc167821dc51209fab724cc25d1e51e2ce69ba90986a/goodreads-0.3.1.tar.gz" } ], "0.3.2": [ { "comment_text": "", "digests": { "md5": "f7d9d2aafb34b3f088620f71b6d4c06e", "sha256": "3a0b311a0b1a6b35bbff09b9e67e80a76ecb77720b2e81a682ac5e018ad35445" }, "downloads": -1, "filename": "goodreads-0.3.2.tar.gz", "has_sig": false, "md5_digest": "f7d9d2aafb34b3f088620f71b6d4c06e", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 12619, "upload_time": "2016-08-18T19:27:55", "url": "https://files.pythonhosted.org/packages/ef/6e/5aef0dd1819ed7b89be1a05f731a9727b8f6eba3d20bd4005104e82178c4/goodreads-0.3.2.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "f7d9d2aafb34b3f088620f71b6d4c06e", "sha256": "3a0b311a0b1a6b35bbff09b9e67e80a76ecb77720b2e81a682ac5e018ad35445" }, "downloads": -1, "filename": "goodreads-0.3.2.tar.gz", "has_sig": false, "md5_digest": "f7d9d2aafb34b3f088620f71b6d4c06e", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 12619, "upload_time": "2016-08-18T19:27:55", "url": "https://files.pythonhosted.org/packages/ef/6e/5aef0dd1819ed7b89be1a05f731a9727b8f6eba3d20bd4005104e82178c4/goodreads-0.3.2.tar.gz" } ] }