A pythonic interface for APS publications
Project description
APS Journals
A pythonic interface for browsing APS
The apsjournals
library is a collection of tools used for exploring American
Physical Society publications via python.
Motivation
Admittedly, the APS website is well-built. Why apsjournals
then?
- The APS website does not offer an official API. This library offers a set of usable abstractions to help explore some of the available data.
- It is not possible to download an entire Issue as a single PDF in the current website.
Future versions of
apsjournals
will offer such behavior. - Why not? Interacting with APS publications via Python is fun.
Loading Articles for a Journal Issue
The apsjournals
library offers several ways to load articles. The easiest of which
is by picking a Journal, then specifying a volume and issue number. The library will then
load the entire issue, including all articles. For example:
>>> from apsjournals import PRL
>>> PRL
Journal('Physical Review Letters')
>>> PRL.issue(121, 6)
Issue('Physical Review Letters', 121, 6)
>>> PRL.issue(121, 6).articles[:3]
[Article('Magnetic Levitation Stabilized by Streaming Fluid Flows'),
Article('First Six Dimensional Phase Space Measurement of an Accelerator Beam'),
Article('Ubiquitous Spin-Orbit Coupling in a Screw Dislocation with High Spin Coherency')]
Download Journal Articles
In addition to surveying which articles are in an issue, apsjournals
is also capable of downloading
articles, either individually or as an entire issue. In the latter case, a cover page and table of contents
will also be added to the pdf (including appropriately linked bookmarks).
Authentication
The first step to downloading articles is authentication. You must be a valid APS member. this library
abides by all APS Terms and Conditions, and consequently relies on you for credentials to access
APS material. Authentication can be performed by using the authenticate
function:
>>> import apsjournals
>>> apsjournals.authenticate('username', 'password')
This will set a session cookie required for pdf downloads.
Downloading an Article
After authenticating, it is then possible to download articles from an issue individually or as a whole.
To download an individual article, use the pdf
method of the Article
instance.
Specifically:
>>> journal = apsjournals.PRL
>>> issue = journal.issue(121, 6)
>>> article = issue.articles[3]
>>> article.pdf('path/to/file.pdf')
This will download the article as a pdf to the given location.
Download an Entire Issue
In order to download all the articles at once, simply use the pdf
method of the Issue
instance! For
example:
>>> issue.pdf('path/to/file.pdf')
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
File details
Details for the file apsjournals-0.2.0.tar.gz
.
File metadata
- Download URL: apsjournals-0.2.0.tar.gz
- Upload date:
- Size: 22.8 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/1.12.1 pkginfo/1.5.0.1 requests/2.21.0 setuptools/40.6.3 requests-toolbelt/0.8.0 tqdm/4.29.1 CPython/3.6.8
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 87166ea354cde2dffc9e83a5e08edbb27c0d834fa83978fe23f5fc8709117ecd |
|
MD5 | e7d5f2597467eaf940914b1bab37b802 |
|
BLAKE2b-256 | 48c789179fa3b0dafd3211ba4b96b98295ca811cd2a2488476dfa412d84944da |
File details
Details for the file apsjournals-0.2.0-py3-none-any.whl
.
File metadata
- Download URL: apsjournals-0.2.0-py3-none-any.whl
- Upload date:
- Size: 25.3 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/1.12.1 pkginfo/1.5.0.1 requests/2.21.0 setuptools/40.6.3 requests-toolbelt/0.8.0 tqdm/4.29.1 CPython/3.6.8
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | b080d215dfd73fd5238d70aa6226e9c3403c107027598af490f0c5445580f2d3 |
|
MD5 | 4cc0c07917b13a82d717739510d9645e |
|
BLAKE2b-256 | 1f8f8dc7bf2589634944aef8f4907d0cabb1b7d6566cf60d3b0b773432ae5509 |