Skip to main content

a small command-line tool to get scientific papers from their references

Project description

getpaper

Code style: black

description

getpaper is a small command-line tool writen in python to get scientific papers from their references. It uses the journals' search engine, automatically send to them a well formatted request, and scraps the answer (using BeautifulSoup) to get the paper url. If a paper is found, it opens its url on a new tab in the web browser. If there is an error, it opens the paper search page.

installation

https://pypi.org/project/paper-retriever/

$ pip install paper-retriever

example

# general synthax :
$ getpaper PRA 46 2668
$ getpaper Nature 519 211
$ getpaper arxiv 1706 07781

# get paper using DOI :
$ getpaper doi 10.1103/physrevx.8.031054

to get the list of implemented journal :

getpaper journals # returns list of journals

available journals : PRL, PRX, RMP, PRA, PRB, PRC, PRD, PRE, PR, Science, NatPhys, Nature, arxiv, NJP, JPBold, JPB, OE, OL, AO, Optica, SPP, SciPostPhys

limitations

So far, on top of broadband journals such as Nature or Science and the open-access arXiv repository, only a subset of physics journals is implemented.

Note that the papers are fetched from journals' search engine using web scrapping and some quick retro-engineering. If the search engine request protocol and/or the result page changes, the code won't work anymore. If this happens for an implemented journal, do not hesitate to let me know by opening an issue :)

If you wish to contribute, by writing the code in a more elegant way or implementing new journals, do not hesitate to contact me.

notes

The script is written for python >3.12. It requires the installation of additionnal packages:

  • requests: "Python HTTP for Humans." Used to send requests to the journal's search engine and retrieve information.

  • beautifulsoup4: "Beautiful Soup sits atop an HTML or XML parser, providing Pythonic idioms for iterating, searching, and modifying the parse tree." Used to parse the HTTP response.

For a simple install of this packages, I recommend using pip (https://pypi.python.org/pypi/pip/).

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

paper_retriever-0.1.1.tar.gz (17.3 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

paper_retriever-0.1.1-py3-none-any.whl (18.6 kB view details)

Uploaded Python 3

File details

Details for the file paper_retriever-0.1.1.tar.gz.

File metadata

  • Download URL: paper_retriever-0.1.1.tar.gz
  • Upload date:
  • Size: 17.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/2.0.1 CPython/3.12.3 Linux/6.11.0-17-generic

File hashes

Hashes for paper_retriever-0.1.1.tar.gz
Algorithm Hash digest
SHA256 016f3c64b25ac531a9434e25e1557edadf0dee29b1a3ec8a0151fb12c9483efc
MD5 5feeb5d850e3dab235ec54702a6f2fe5
BLAKE2b-256 d07978c6d72201e717b4b47f982b22a014e750415853599e7f8672d9d62ae0ed

See more details on using hashes here.

File details

Details for the file paper_retriever-0.1.1-py3-none-any.whl.

File metadata

  • Download URL: paper_retriever-0.1.1-py3-none-any.whl
  • Upload date:
  • Size: 18.6 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/2.0.1 CPython/3.12.3 Linux/6.11.0-17-generic

File hashes

Hashes for paper_retriever-0.1.1-py3-none-any.whl
Algorithm Hash digest
SHA256 27cf45d977b076081948a70a524156974ff6d85a0dcd3c05738833e02e3d6f98
MD5 73f8202974d3424ee128f5f6cf802f02
BLAKE2b-256 054abbddd084f6928a9a33d8a44f52b00a77448dcf794f193087d831c268cda7

See more details on using hashes here.

Supported by

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