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
apsjournalswill 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
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
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
|