Scholar's tools for arXiv¶
The sxolar
package is a collection of tools for working with arXiv data.
It includes low-level and high-level interfaces for querying arXiv metadata,
summarizing query results into digest formats, and optional control
based on a configuration file.
The tools are written in Python and are designed to be used in any python application.
A command line interface is also provided for easy access to the tools from a shell.
The core tools are designed to be used in place of the Arxiv API <https://arxiv.org/help/api/index>
,
with a simpler interface and more features, including
- Searching and filtering papers
- Creating personalized search summaries
- Persisting useful searches for automated search digests
Ultimately, the goal of this project is to provide a set of tools that can be used to build a personalized search engine for academic papers, with the ability to search, download, and explore the network of citations between papers.
Installation¶
To install sXolar, run the command:
pip install sxolar
This will install the sXolar package and all of its dependencies.
Getting Started¶
The high-level api provides a simple object-oriented interface for constructing and executing queries. Here is an example of how to use the high-level api:
from sxolar import Author
query = Author('John Doe') | Author('Jane Doe')
query.search()
Note that some builtin python operations have been overloaded to provide a more
intuitive interface for constructing queries. For example, the |
operator is
overloaded to represent a logical OR operation between two query objects. For more
information on the high-level api, see the API Docs.
Quick Examples¶
Here are some quick examples of how to use the sXolar package.
Search for papers by a specific author:
from sxolar import Author
query = Author('John Doe')
query.search()
Search for papers by multiple authors (logical OR):
from sxolar import Author
query = Author('John Doe') | Author('Jane Doe')
query.search()
Search for papers by a specific title:
from sxolar import Title
query = Title("Quantum Mechanics")
query.search()
Search for papers with a specific title, but not by a specific author:
from sxolar import Title, Author
query = Title('Quantum Mechanics') - Author('John Doe')
query.search()
Search for papers with a specific title, but not by a specific set of authors:
from sxolar import Title, Author
query = Title('Quantum Mechanics') - (Author('John Doe') | Author('Jane Doe')).wrap()
query.search()
Acknowledgements¶
Thank you to arXiv for use of its open access interoperability.