{ "info": { "author": "James W. Kennington", "author_email": "jameswkennington@gmail.com", "bugtrack_url": null, "classifiers": [], "description": "# APS Journals\n_A pythonic interface for browsing APS_\n\nThe `apsjournals` library is a collection of tools used for exploring American \nPhysical Society publications via python. \n\nTest Result: [![CircleCI](https://circleci.com/gh/JWKennington/apsjournals/tree/master.svg?style=svg)](https://circleci.com/gh/JWKennington/apsjournals/tree/master)\n\n## Motivation\nAdmittedly, the APS website is well-built. Why `apsjournals` then? \n1. The APS website does not offer an official API. This library offers a set of usable abstractions \nto help explore some of the available data.\n1. It is not possible to download an entire Issue as a single PDF in the current website. \nFuture versions of `apsjournals` will offer such behavior.\n1. Why not? Interacting with APS publications via Python is fun.\n\n## Loading Articles for a Journal Issue\nThe `apsjournals` library offers several ways to load articles. The easiest of which\nis by picking a Journal, then specifying a volume and issue number. The library will then\nload the entire issue, including all articles. For example:\n```python\n>>> from apsjournals import PRL\n>>> PRL\nJournal('Physical Review Letters')\n\n>>> PRL.issue(121, 6)\nIssue('Physical Review Letters', 121, 6)\n\n>>> PRL.issue(121, 6).articles[:3]\n[Article('Magnetic Levitation Stabilized by Streaming Fluid Flows'),\n Article('First Six Dimensional Phase Space Measurement of an Accelerator Beam'),\n Article('Ubiquitous Spin-Orbit Coupling in a Screw Dislocation with High Spin Coherency')]\n```\n\n## Download Journal Articles\nIn addition to surveying which articles are in an issue, `apsjournals` is also capable of downloading \narticles, either individually or as an entire issue. In the latter case, a cover page and table of contents\nwill also be added to the pdf (including appropriately linked bookmarks).\n\n### Authentication\nThe first step to downloading articles is authentication. You _must_ be a valid APS member. this library\nabides by all APS Terms and Conditions, and consequently relies on you for credentials to access\nAPS material. Authentication can be performed by using the `authenticate` function:\n\n```python\n>>> import apsjournals\n>>> apsjournals.authenticate('username', 'password')\n```\n\nThis will set a session cookie required for pdf downloads. \n\n### Downloading an Article\nAfter authenticating, it is then possible to download articles from an issue individually or as a whole.\nTo download an individual article, use the `pdf` method of the `Article` instance.\nSpecifically:\n\n```python\n>>> journal = apsjournals.PRL\n>>> issue = journal.issue(121, 6)\n>>> article = issue.articles[3]\n>>> article.pdf('path/to/file.pdf')\n```\n\nThis will download the article as a pdf to the given location. \n\n### Download an Entire Issue\nIn order to download all the articles at once, simply use the `pdf` method of the `Issue` instance! For\nexample:\n\n```python\n>>> issue.pdf('path/to/file.pdf')\n```\n\n\n\n\n", "description_content_type": "text/markdown", "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "http://github.com/JWKennington/apsjournals", "keywords": "", "license": "MIT", "maintainer": "", "maintainer_email": "", "name": "apsjournals", "package_url": "https://pypi.org/project/apsjournals/", "platform": "", "project_url": "https://pypi.org/project/apsjournals/", "project_urls": { "Homepage": "http://github.com/JWKennington/apsjournals" }, "release_url": "https://pypi.org/project/apsjournals/0.2.0/", "requires_dist": null, "requires_python": "", "summary": "A pythonic interface for APS publications", "version": "0.2.0" }, "last_serial": 4798207, "releases": { "0.1.1": [ { "comment_text": "", "digests": { "md5": "dd99e6bb9e4de6c3a05b80798a124369", "sha256": "53f64597074afe6eb99a73028acbe8ba97cfea4208ba02550bea5770417bbedd" }, "downloads": -1, "filename": "apsjournals-0.1.1-py3-none-any.whl", "has_sig": false, "md5_digest": "dd99e6bb9e4de6c3a05b80798a124369", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 19228, "upload_time": "2019-01-21T23:29:55", "url": "https://files.pythonhosted.org/packages/87/a2/e06a7036580b01a59f4bd3af0cfd53ba57dfb17ddcf58d963c9aae42a51c/apsjournals-0.1.1-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "1c2131cf2fc3234eb83d8fbfe8cad89a", "sha256": "49c73960a9e7c223f98d0653aa59d9ef79aa7d54938b4fb8eabc8903b276a4bb" }, "downloads": -1, "filename": "apsjournals-0.1.1.tar.gz", "has_sig": false, "md5_digest": "1c2131cf2fc3234eb83d8fbfe8cad89a", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 15861, "upload_time": "2019-01-21T23:29:57", "url": "https://files.pythonhosted.org/packages/44/e5/9041982615080dea1aa86a9371eb0e2f20f9bff957d8ad1d10efabe00315/apsjournals-0.1.1.tar.gz" } ], "0.2.0": [ { "comment_text": "", "digests": { "md5": "4cc0c07917b13a82d717739510d9645e", "sha256": "b080d215dfd73fd5238d70aa6226e9c3403c107027598af490f0c5445580f2d3" }, "downloads": -1, "filename": "apsjournals-0.2.0-py3-none-any.whl", "has_sig": false, "md5_digest": "4cc0c07917b13a82d717739510d9645e", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 25271, "upload_time": "2019-02-09T02:18:03", "url": "https://files.pythonhosted.org/packages/1f/8f/8dc7bf2589634944aef8f4907d0cabb1b7d6566cf60d3b0b773432ae5509/apsjournals-0.2.0-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "e7d5f2597467eaf940914b1bab37b802", "sha256": "87166ea354cde2dffc9e83a5e08edbb27c0d834fa83978fe23f5fc8709117ecd" }, "downloads": -1, "filename": "apsjournals-0.2.0.tar.gz", "has_sig": false, "md5_digest": "e7d5f2597467eaf940914b1bab37b802", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 22824, "upload_time": "2019-02-09T02:18:05", "url": "https://files.pythonhosted.org/packages/48/c7/89179fa3b0dafd3211ba4b96b98295ca811cd2a2488476dfa412d84944da/apsjournals-0.2.0.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "4cc0c07917b13a82d717739510d9645e", "sha256": "b080d215dfd73fd5238d70aa6226e9c3403c107027598af490f0c5445580f2d3" }, "downloads": -1, "filename": "apsjournals-0.2.0-py3-none-any.whl", "has_sig": false, "md5_digest": "4cc0c07917b13a82d717739510d9645e", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 25271, "upload_time": "2019-02-09T02:18:03", "url": "https://files.pythonhosted.org/packages/1f/8f/8dc7bf2589634944aef8f4907d0cabb1b7d6566cf60d3b0b773432ae5509/apsjournals-0.2.0-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "e7d5f2597467eaf940914b1bab37b802", "sha256": "87166ea354cde2dffc9e83a5e08edbb27c0d834fa83978fe23f5fc8709117ecd" }, "downloads": -1, "filename": "apsjournals-0.2.0.tar.gz", "has_sig": false, "md5_digest": "e7d5f2597467eaf940914b1bab37b802", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 22824, "upload_time": "2019-02-09T02:18:05", "url": "https://files.pythonhosted.org/packages/48/c7/89179fa3b0dafd3211ba4b96b98295ca811cd2a2488476dfa412d84944da/apsjournals-0.2.0.tar.gz" } ] }