goodreads

:snake: Python wrapper for Goodreads API :books:

https://github.com/sefakilic/goodreads

Science Score: 10.0%

This score indicates how likely this project is to be science-related based on various indicators:

  • CITATION.cff file
  • codemeta.json file
  • .zenodo.json file
  • DOI references
  • Academic publication links
  • Committers with academic emails
    1 of 5 committers (20.0%) from academic institutions
  • Institutional organization owner
  • JOSS paper metadata
  • Scientific vocabulary similarity
    Low similarity (14.8%) to scientific vocabulary

Keywords

python
Last synced: 6 months ago · JSON representation

Repository

:snake: Python wrapper for Goodreads API :books:

Basic Info
  • Host: GitHub
  • Owner: sefakilic
  • Language: Python
  • Default Branch: master
  • Homepage:
  • Size: 85 KB
Statistics
  • Stars: 264
  • Watchers: 26
  • Forks: 99
  • Open Issues: 19
  • Releases: 0
Archived
Topics
python
Created about 11 years ago · Last pushed over 8 years ago
Metadata Files
Readme

README.rst

goodreads
=========

This project is no longer maintained.

|Build Status| |Coverage Status| |Documentation Status| |Downloads|
|Latest Version| |Supported Python versions| |License|

.. image:: http://s.gr-assets.com/assets/icons/goodreads_icon_50x50-823139ec9dc84278d3863007486ae0ac.png
   :width: 100

This package provides a Python interface for the `Goodreads
API `__. Using it, you can do pretty much
anything that Goodreads allows to do with their own data.

Dependencies
------------

This package depends on the following packages:

-  xmltodict
-  requests
-  rauth

They can be installed using ``pip``.

::

    sudo pip install -r requirements.txt

If you want to contribute to this package, you will need the ``nose``
package as well.

Installation
------------

To install, run the following command from the top-level package
directory.

::

    sudo python setup.py install

Getting Started
---------------

The first thing is to request an API key from Goodreads
`here `__. Once you have it, you can
create a client instance to query Goodreads.

.. code:: python

    from goodreads import client
    gc = client.GoodreadsClient(, )

To access some of the methods, you need `OAuth `__
for authorization.

.. code:: python

    gc.authenticate(, )

Note that ``access_token`` and ``access_token_secret`` are different
from developer key and secret. For the development step, you can call
the same function with no parameters to get authorization. It will open
a URL pointing a Goodreads page for OAuth permission. For your
application, you can direct the user to that particular URL, ask him/her
to authorize your app and save the returning ``access_token`` and
``access_token_secret`` in your database.

Examples
--------

This package provides a Python interface for most Goodreads API methods.
Here are a few examples demonstrating how to access data on Goodreads.

Books
~~~~~

Let's access the first book added to Goodreads! It is the book with id
1.

.. code:: python

    book = gc.book(1)

Once you have the ``GoodreadsBook`` instance for the book, you can
access data for the queried book.

.. code:: python

    >>> book.title
    u'Harry Potter and the Half-Blood Prince (Harry Potter, #6)'
    >>> authors = book.authors
    >>> authors[0].name
    u'J.K. Rowling'
    >>> book.average_rating
    u'4.49'

Authors
~~~~~~~

You can get information about an author as well.

.. code:: python

    >>> author = gc.author(2617)
    >>> author.name
    u'Jonathan Safran Foer'
    >>> author.works_count
    u'13'
    >>> author.books
    [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]

Users
~~~~~

User data can be retrieved by user id or username.

.. code:: python

    >>> user = gc.user(1)
    >>> user.name
    u'Otis Chandler'
    >>> user.user_name
    u'otis'
    >>> user.small_image_url
    u'http://d.gr-assets.com/users/1189644957p2/1.jpg'

Groups
~~~~~~

Let's find a group discussing Python and get more information about it.

.. code:: python

    >>> g = gc.find_groups("Python")
    >>> g = groups[0]
    >>> g['title']
    u'The Computer Scientists'
    >>> group = gc.group(g['id'])
    >>> group.description
    u'Only for Committed Self Learners and Computer Scientists Who are Starving for
    Information, and Want to Advance their Skills Through: Reading, Practicing and
    Discussion Computer Science and Programming Books.'

Events
~~~~~~

Goodreads API also allows to list events happening in an area.

.. code:: python

    >>> events = gc.list_events(21229)
    >>> event = events[0]
    >>> event.title
    u'Books and Cocktails'
    >>> event.address
    u'120 N. Front St.'
    >>> event.city
    u'Wrightsville'

Documentation
-------------

Read more about this package
`here `__.

Contribution
------------

If you find an API method that is not supported by this package, feel
free to create a Github issue. Also, you are more than welcome to submit
a pull request for a bug fix or additional feature.

License
-------

`MIT License `__

Acknowledgment
--------------

Thanks to `Paul Shannon `__ for
providing 'goodreads' package at PyPI.

.. |Build Status| image:: http://img.shields.io/travis/sefakilic/goodreads.svg
   :target: https://travis-ci.org/sefakilic/goodreads
.. |Coverage Status| image:: http://img.shields.io/coveralls/sefakilic/goodreads.svg
   :target: https://coveralls.io/r/sefakilic/goodreads
.. |Documentation Status| image:: https://readthedocs.org/projects/goodreads/badge/?version=latest
   :target: https://readthedocs.org/projects/goodreads/?badge=latest
.. |Downloads| image:: https://img.shields.io/pypi/dm/goodreads.svg
   :target: https://pypi.python.org/pypi/goodreads/
.. |Latest Version| image:: https://img.shields.io/pypi/v/goodreads.svg
   :target: https://pypi.python.org/pypi/goodreads/
.. |Supported Python versions| image:: https://img.shields.io/pypi/pyversions/goodreads.svg
   :target: https://pypi.python.org/pypi/goodreads/
.. |License| image:: https://img.shields.io/pypi/l/goodreads.svg
   :target: https://pypi.python.org/pypi/goodreads/

Owner

  • Name: Sefa Kilic
  • Login: sefakilic
  • Kind: user
  • Location: Seattle, WA

GitHub Events

Total
  • Watch event: 2
Last Year
  • Watch event: 2

Committers

Last synced: over 2 years ago

All Time
  • Total Commits: 103
  • Total Committers: 5
  • Avg Commits per committer: 20.6
  • Development Distribution Score (DDS): 0.398
Past Year
  • Commits: 0
  • Committers: 0
  • Avg Commits per committer: 0.0
  • Development Distribution Score (DDS): 0.0
Top Committers
Name Email Commits
Sefa Kilic s****c@g****m 62
Sefa Kilic s****1@u****u 36
Brian Cipriano b****o@g****m 2
Matthieu Crapet m****t@g****m 2
Răzvan Ionescu r****u@g****m 1
Committer Domains (Top 20 + Academic)

Issues and Pull Requests

Last synced: 7 months ago

All Time
  • Total issues: 34
  • Total pull requests: 10
  • Average time to close issues: 2 months
  • Average time to close pull requests: over 1 year
  • Total issue authors: 27
  • Total pull request authors: 9
  • Average comments per issue: 1.53
  • Average comments per pull request: 0.5
  • Merged pull requests: 3
  • Bot issues: 0
  • Bot pull requests: 0
Past Year
  • Issues: 0
  • Pull requests: 0
  • Average time to close issues: N/A
  • Average time to close pull requests: N/A
  • Issue authors: 0
  • Pull request authors: 0
  • Average comments per issue: 0
  • Average comments per pull request: 0
  • Merged pull requests: 0
  • Bot issues: 0
  • Bot pull requests: 0
Top Authors
Issue Authors
  • sefakilic (4)
  • arashout (3)
  • tatianass (2)
  • ghost (2)
  • imxdn (1)
  • aravindanvenkataraju (1)
  • dhitals (1)
  • Oliver2213 (1)
  • jpauljayme (1)
  • abhi18av (1)
  • afk-mario (1)
  • gchrlsyslib (1)
  • ErickAgrazal (1)
  • avinassh (1)
  • gabrer (1)
Pull Request Authors
  • tatianass (2)
  • mmartin (1)
  • saratlingamarla (1)
  • lepisma (1)
  • mcrapet (1)
  • bcipriano (1)
  • rkhwaja (1)
  • varzan (1)
  • bonnie (1)
Top Labels
Issue Labels
enhancement (4) bug (2) new feature (1) question (1) documentation (1)
Pull Request Labels

Packages

  • Total packages: 1
  • Total downloads:
    • pypi 10,518 last-month
  • Total docker downloads: 191,396,802
  • Total dependent packages: 1
  • Total dependent repositories: 61
  • Total versions: 11
  • Total maintainers: 2
pypi.org: goodreads

Python wrapper for Goodreads API

  • Versions: 11
  • Dependent Packages: 1
  • Dependent Repositories: 61
  • Downloads: 10,518 Last month
  • Docker Downloads: 191,396,802
Rankings
Docker downloads count: 0.4%
Dependent repos count: 1.9%
Average: 3.8%
Stargazers count: 4.0%
Forks count: 4.6%
Dependent packages count: 4.7%
Downloads: 7.2%
Maintainers (2)
Last synced: 6 months ago

Dependencies

requirements.txt pypi
  • rauth *
  • requests *
  • xmltodict *
setup.py pypi
  • nose *
  • rauth *
  • requests *
  • xmltodict *