Programmatically access the Atlas RFP interface
Project description
atlas-rfp
Rationale
MIT's reimbursement system is aging. Having a high-performance, statically-typed interface to the RFP system enables higher-level financial scripts and programs to be created.
This script uses touchstone-auth
, another one of my Python packages that is
a Python user-agent capable of properly two-factor authenticating your scripts,
without requiring a browser.
Install
This package is on Pip, so you can just:
pip install atlas-rfp
Alternatively, you can get built wheels from the Releases tab on Github.
Quickstart
To perform Touchstone authentication, we need a client-side certificate.
Remember to not hard-code your credentials!
The example here loads credentials from a json file called credentials.json
:
{
"certfile": "some_client_credential.p12",
"password": "horse-battery-staple-correct"
}
Then, in your Python file, you can do the following:
import json
from touchstone_auth import TouchstoneSession
with open('credentials.json') as cred_file:
credentials = json.load(cred_file)
with TouchstoneSession(
base_url='https://atlas.mit.edu',
pkcs12_filename=credentials['certfile'],
pkcs12_pass=credentials['password'],
cookiejar_filename='cookies.pickle') as s:
response = s.get('https://atlas.mit.edu/atlas/Main.action')
For more examples on how to authenticate, see the touchstone-auth documentation.
Complete Examples
Developer install
If you'd like to hack locally on atlas-rfp
, after cloning this repository:
$ git clone https://github.com/meson800/atlas-rfp.git
$ cd git
you can create a local virtual environment, and install atlas-rfp
in "development mode"
$ python -m venv env
$ .\env\Scripts\activate (on Windows)
$ source env/bin/activate (on Mac/Linux)
$ pip install -e .
After this 'local install', you can use and import atlas-rfp
freely without
having to re-install after each update.
Changelog
See the CHANGELOG for detailed changes.
## [0.0.1] - 2023-01-20
### Added
- Added initial parsing of RFP search results and detail pages.
License
This is licensed by the MIT license. Use freely!
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
Hashes for atlas_rfp-0.0.2-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 187164ba3446d57f8b6033c00e0e2157cedafbb312efd359057121da3a1d05e1 |
|
MD5 | cdd08aedfbc493ef9885be0b91f9ce0d |
|
BLAKE2b-256 | b13d63145e3d58464908622e1f38fcec9b67d6d5f5f519448651dceec2dd9ef4 |