Skip to main content

Python wrapper for extracting content from Scirate.

Project description

scirate
------------

:snake: Python wrapper for extracting information from Scirate :microscope:

|Build Status| |Coverage Status|

.. image:: https://i.imgur.com/QONau8z.png?1
:width: 100
:height: 100

This package provides a Python interface for the `Scirate website <https://scirate.com>`__.

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

This package depends on the following packages:

- bs4
- lxml
- requests

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
------------
The preferred way to install the ``scirate`` package is via ``pip``

::

sudo pip install scirate


Alternatively to install, you may also run the following command from the top-level package
directory.

::

sudo python setup.py install

Examples
--------

This package provides a Python interface for interfacing with the Scirate
website. Here are a few examples demonstrating how to access data on
Scirate.

Clients
~~~~~
In order to interface with the content on Scirate, we start off my
creating a client. This client will be responsible for requesting
information from Scirate and will serve as the intermediary for
requesting and obtaining data.

.. code:: python

from scirate.client import ScirateClient

client = ScirateClient()


Papers
~~~~~

Let us access a paper on Scirate via the arXiv identifier. Say we want to
access information via Scirate on the following `listing 1509.01147 <https://arxiv.org/abs/1509.01147>`__.

We can grab some of the basic information, such as the authors, title, abstract, arXiv category,
etc.

.. code:: python

>>> from scirate.paper import SciratePaper
>>> paper = client.paper("1509.01147")
>>> "The Information Paradox for Black Holes"
>>> paper.authors
>>> ['S. W. Hawking']
>>> paper.abstract[0:50]
>>> "I propose that the information loss paradox can be"
>>> paper.category
>>> "hep-th"

We can also grab some of the more Scirate-specific metrics. Such as the number of
scites for a given article, who scited the article, etc.

.. code:: python

>>> paper.scites
>>> 6
>>> paper.scitors
>>> ['Andrew Childs', 'Jonny', 'Mehdi Ahmadi', 'Noon van der Silk', 'Ryan L. Mann', 'Tom Wong']

Consult the documentation for further examples of information that can be obtained
from a paper.

Authors
~~~~~~~

You can get information about an author as well.

.. code:: python

>>> from scirate.author import ScirateAuthor
>>> author = client.author("Terrance", "Tao", "math.CO")
>>> author
>>> "Terrance Tao"
>>> author.papers[0]
>>> "An inverse theorem for an inequality of Kneser"
>>> author.arxiv_ids[0]
>>> "1711.04337"

Using the arXiv identifier along with what we did in the Papers
section, we can obtain further information about that paper if
we wish

.. code:: python

>>> paper = client.paper(author.arxiv_ids[0])
>>> paper.scites
>>> 0

Note that the mathematician Terrance Tao published on multiple arXiv
categories. We can look up his papers under the math.NT category as
well.

.. code:: python

>>> author = client.author("Terrance", "Tao", "math.NT")
>>> author.papers[0]
>>> "Long gaps in sieved sets"
>>> author.category
>>> math.NT

Categories
~~~~~

One may also wish to look at papers under various arXiv identifier
listings on Scirate. For instance, one may wish to find all of the
papers posted under the 'quant-ph' category posted on September 7, 2017.

.. code:: python

>>> from scirate.category import ScirateCategory
>>> category = client.category("quant-ph", "09-07-2017")
>>> category.papers[0:2]
>>> ['Quantum Advantage from Conjugated Clifford Circuits', 'Extended Nonlocal Games from Quantum-Classical Games']

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

Read more about this package
`here <http://scirate.readthedocs.org/en/latest/>`__.


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 <http://opensource.org/licenses/mit-license.php>`__

.. |Build Status| image:: http://img.shields.io/travis/vprusso/scirate.svg
:target: https://travis-ci.org/vprusso/scirate
.. |Coverage Status| image:: http://img.shields.io/coveralls/vprusso/scirate.svg
:target: https://coveralls.io/r/vprusso/scirate

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

scirate-0.0.2.tar.gz (8.1 kB view hashes)

Uploaded Source

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page