{ "info": { "author": "Tatiana Saturno", "author_email": "tatianassaturno@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|\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 `__ and `Sefa Kilic `__\nfor\nproviding 'goodreads' package at PyPI.\n\n.. |Build Status| image:: https://travis-ci.org/tatianass/goodreads2.svg?branch=master\n :target: https://travis-ci.org/tatianass/goodreads2\n.. |Coverage Status| image:: https://coveralls.io/repos/github/tatianass/goodreads2/badge.svg?branch=master\n :target: https://coveralls.io/github/tatianass/goodreads2?branch=master\n.. |Documentation Status| image:: https://readthedocs.org/projects/goodreads2/badge/?version=latest\n :target: http://goodreads2.readthedocs.io/en/latest/?badge=latest\n :alt: Documentation Status\n\n\n", "description_content_type": null, "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/tatianass/goodreads2", "keywords": "goodreads API", "license": "MIT", "maintainer": "", "maintainer_email": "", "name": "goodreads2", "package_url": "https://pypi.org/project/goodreads2/", "platform": "", "project_url": "https://pypi.org/project/goodreads2/", "project_urls": { "Homepage": "https://github.com/tatianass/goodreads2" }, "release_url": "https://pypi.org/project/goodreads2/0.3.4/", "requires_dist": [ "nose", "rauth", "requests", "xmltodict" ], "requires_python": "", "summary": "Python wrapper for Goodreads API", "version": "0.3.4" }, "last_serial": 2995468, "releases": { "0.3.3": [ { "comment_text": "", "digests": { "md5": "4297e811d131e366e7f6dc7fac49f9ab", "sha256": "af853c7b73c32ac0bc0786288b4a8e0100a11393722539c7ed583d1907333e9e" }, "downloads": -1, "filename": "goodreads2-0.3.3-py3-none-any.whl", "has_sig": false, "md5_digest": "4297e811d131e366e7f6dc7fac49f9ab", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 17248, "upload_time": "2017-07-02T13:09:28", "url": "https://files.pythonhosted.org/packages/05/bc/7f95eb812d47e3095a61cb697e535ea1eb2d82dc5cb77e0515cc28d574e7/goodreads2-0.3.3-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "f93f7b4c1c2e3839a361d857bb0acea9", "sha256": "7e82e112d49364fb194a018b2fdc24146b67a87f59f41fc3e7fcfde11aa8f896" }, "downloads": -1, "filename": "goodreads2-0.3.3.zip", "has_sig": false, "md5_digest": "f93f7b4c1c2e3839a361d857bb0acea9", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 19243, "upload_time": "2017-07-02T13:09:30", "url": "https://files.pythonhosted.org/packages/07/11/01613cdb894ec5652dc96ab5e6bbc079c4b516dbf706ee554fb126ce9270/goodreads2-0.3.3.zip" } ], "0.3.4": [ { "comment_text": "", "digests": { "md5": "c3e22544fcef2c2aa50558c596871a49", "sha256": "381fbb92c824a367d50cedf0677ab75d50eadbdaf0af5fbb804854a54f67e060" }, "downloads": -1, "filename": "goodreads2-0.3.4-py3-none-any.whl", "has_sig": false, "md5_digest": "c3e22544fcef2c2aa50558c596871a49", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 18318, "upload_time": "2017-07-02T21:59:24", "url": "https://files.pythonhosted.org/packages/b1/21/2717d15ae022ce074d9f0411c33e8a4c09a14d26cc7ef874006b479b50af/goodreads2-0.3.4-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "03d437d0db8eb9ff011e0fb2a970ac34", "sha256": "9517ba12630f0edfce7aa202f6dd194cff48bc6207738247dce11f47264b9e64" }, "downloads": -1, "filename": "goodreads2-0.3.4.zip", "has_sig": false, "md5_digest": "03d437d0db8eb9ff011e0fb2a970ac34", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 19646, "upload_time": "2017-07-02T21:59:25", "url": "https://files.pythonhosted.org/packages/56/26/c3ef6a7bb9c6cc6cbcd86dcaa643b07d8b0d0da09c368607d113cbc217b5/goodreads2-0.3.4.zip" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "c3e22544fcef2c2aa50558c596871a49", "sha256": "381fbb92c824a367d50cedf0677ab75d50eadbdaf0af5fbb804854a54f67e060" }, "downloads": -1, "filename": "goodreads2-0.3.4-py3-none-any.whl", "has_sig": false, "md5_digest": "c3e22544fcef2c2aa50558c596871a49", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 18318, "upload_time": "2017-07-02T21:59:24", "url": "https://files.pythonhosted.org/packages/b1/21/2717d15ae022ce074d9f0411c33e8a4c09a14d26cc7ef874006b479b50af/goodreads2-0.3.4-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "03d437d0db8eb9ff011e0fb2a970ac34", "sha256": "9517ba12630f0edfce7aa202f6dd194cff48bc6207738247dce11f47264b9e64" }, "downloads": -1, "filename": "goodreads2-0.3.4.zip", "has_sig": false, "md5_digest": "03d437d0db8eb9ff011e0fb2a970ac34", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 19646, "upload_time": "2017-07-02T21:59:25", "url": "https://files.pythonhosted.org/packages/56/26/c3ef6a7bb9c6cc6cbcd86dcaa643b07d8b0d0da09c368607d113cbc217b5/goodreads2-0.3.4.zip" } ] }