A Python package to generate authentication details to communicate with Modo servers
Credentials that are created and shared by Modo. These will be different for each environment (int, prod, local etc...).
api_identifier- API key from Modoapi_secret- API secret from Modo
These values will be used when instantiating the library.
python - See docs
pip install modo2auth requests
pipenv install modo2authHere'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
# 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 = "/v3/checkout/list"
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)Returns an instance of the Sign class. Intended for use with the requests package.
api_identifier(string) - API key from Modoapi_secret(string) - API secret from Modoapi_uri(string) - Api Uri intending to call to (ex:"/v3/checkout/list")
- Fork this repo via Github
- Create your feature branch (
git checkout -b feature/my-new-feature) - Ensure unit tests are passing (none at the moment...)
- Commit your changes (
git commit -am 'Add some feature') - Push to the branch (
git push origin feature/my-new-feature) - Create new Pull Request via Github
In the root of the project:
# enter the virtual environment
pipenv shell
# ...develop away :)Prerequisites:
- User account on https://pypi.org/
- User with Access to https://pypi.org/project/modo2auth/1.0.0/
# install these globally
pip3 install setuptools twine wheelBuild and release:
- Edit version in
setup.py - Build release package:
python3 setup.py sdist bdist_wheel - Upload:
twine upload dist/* - Tag with new version
git tag v1.1.0(According to Semantec Versioning guidelines) - Push tags
git push --tags