Skip to main content

Programmatically access the Atlas RFP interface

Project description

atlas-rfp

PyPI-downloads PyPI-version PyPI-license Supported python versions

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.1.8] - 2023-09-10
### Changed
- Added Pydantic field serializers for Money type

License

This is licensed by the MIT license. Use freely!

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

atlas-rfp-0.1.8.tar.gz (13.3 kB view hashes)

Uploaded Source

Built Distribution

atlas_rfp-0.1.8-py3-none-any.whl (12.0 kB view hashes)

Uploaded Python 3

Supported by

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