Skip to main content

modo2auth-py

A Python package to generate authentication details to communicate with Modo servers

Prerequesites

Credentials that are created and shared by Modo. These will be different for each environment (int, prod, local etc...).

  • api_identifier - API key from Modo
  • api_secret - API secret from Modo

These values will be used when intantiating the library.

python - See docs

Install

Via pip

pip install modo2auth requests

Via pipenv

pipenv install modo2auth

Example Usage

Here's an example using TBD to make requests. You can use your preferred method or library.

Note: if installed with pipenv, run shell commands via pipenv shell

GET Example

# 1. IMPORT
import requests
import modo2auth

# 2. INSTANTIATE
# get from Modo
creds = {
    "api_identifier": "...",
    "api_secret":  "..."
}
headers = {
    "Content-Type": "application/json"
}
api_host = "http://localhost:82"  # TODO: replace with stable testing env endpoint
api_uri = "/v2/vault/public_key"

# 3. SEND REQUEST
response = requests.get(
    api_host+api_uri,
    headers=headers,
    auth=modo2auth.Sign(creds['api_identifier'], creds['api_secret'], api_uri))

print(response.text)

POST Example

# 1. IMPORT
import requests
import modo2auth

# 2. INSTANTIATE
# get from Modo
creds = {
    "api_identifier": "...",
    "api_secret":  "..."
}
headers = {
    "Content-Type": "application/json"
}
api_host = "http://localhost:82"  # TODO: replace with stable testing env endpoint
api_uri = "/v2/reports"
data = '{"start_date": "2020-05-22T00:00:00Z","end_date": "2020-05-26T00:00:00Z"}'

# 3. SEND REQUEST
response = requests.post(
    api_host+api_uri,
    headers=headers,
    data=data,
    auth=modo2auth.Sign(creds['api_identifier'], creds['api_secret'], api_uri))

print(response.text)

API

Sign(api_identifier, api_secret, api_uri)

Returns an instance of the Sign class. Intended for use with the requests package.

  • api_identifier (string) - API key from Modo
  • api_secret (string) - API secret from Modo
  • api_uri (string) - Api Uri intending to call to (ex: "/v2/vault/public_key")

Contributing

  1. Fork this repo via Github
  2. Create your feature branch (git checkout -b feature/my-new-feature)
  3. Ensure unit tests are passing (none at the moment...)
  4. Commit your changes (git commit -am 'Add some feature')
  5. Push to the branch (git push origin feature/my-new-feature)
  6. Create new Pull Request via Github

Development

In the root of the project:

# enter the virtual environment
pipenv shell

# ...develop away :)

Publishing

Prerequisites:

  1. User account on https://pypi.org/
  2. User with Access to https://pypi.org/project/modo2auth/1.0.0/
# install these globally
pip3 install setuptools twine wheel

Build and release:

  1. Edit version in setup.py
  2. Build release package: python3 setup.py sdist bdist_wheel
  3. Upload: twine upload dist/*
  4. Tag with new version git tag v1.1.0 (According to Semantec Versioning guidelines)
  5. Push tags git push --tags

Release files for modo2auth 1.2.1

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for modo2auth 1.2.1
File Size Uploaded
modo2auth-1.2.1.tar.gz 3.6 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for modo2auth 1.2.1
File Interpreter ABI Platform
modo2auth-1.2.1-py3-none-any.whl Python 3 none any Details

Total release size:7.6 kB

Release files / modo2auth-1.2.1.tar.gz

Download URL modo2auth-1.2.1.tar.gz
Size 3.6 kB
Tags Source
SHA-256 checksum
How to use checksums
ca15cc0f781f44fb97ae59b9f5ec7dc403fa99520baad8b30f41ee3551acb481
BLAKE2b-256 checksum
How to use checksums
8b84c94e44f81bb5f7526a64eb6eb7021e67cc8ef58d90ebc885d181af1a233d
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/3.1.1 pkginfo/1.5.0.1 requests/2.20.0 setuptools/41.2.0 requests-toolbelt/0.9.1 tqdm/4.46.0 CPython/3.8.1

Release files / modo2auth-1.2.1-py3-none-any.whl

Download URL modo2auth-1.2.1-py3-none-any.whl
Size 4.0 kB
Tags Python 3
SHA-256 checksum
How to use checksums
267c49a51a7207658fc16ba8396af0650890946a126f3a2892297b7097549efe
BLAKE2b-256 checksum
How to use checksums
5b1e3c065445de74a095ff9fae4cafba270bb443e32a18d52e8a04aae427a606
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/3.1.1 pkginfo/1.5.0.1 requests/2.20.0 setuptools/41.2.0 requests-toolbelt/0.9.1 tqdm/4.46.0 CPython/3.8.1

Release history Release notifications | RSS feed

This release

1.2.1 This release

2 release files

1.2.0

2 release files

1.1.0

2 release files

1.0.1

2 release files

1.0.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page