Metis infra API client in Python
Project description
Metis API client
This library allows for programmatic interactions with the Metis infrastructure.
Installation
pip install metis_client
Usage
There are two client flavors: asyncronous asyncio
client
and simplified synchronous client.
Asynchronous client
An asynchronous client is MetisAPIAsync
. Example of usage:
from metis_client import MetisAPIAsync, MetisTokenAuth
async def main():
async with MetisAPIAsync(API_URL, auth=MetisTokenAuth("VERY_SECRET_TOKEN")) as client:
print(await client.v0.auth.whoami())
data = await client.v0.datasources.create(content)
results = await client.v0.calculations.create_get_results(data["id"])
print(resuls)
See examples
directory for more examples.
Synchronous client
A synchronous client is MetisAPI
. Example of usage:
from metis_client import MetisAPI, MetisTokenAuth
client = MetisAPI(API_URL, auth=MetisTokenAuth("VERY_SECRET_TOKEN"), timeout=5)
data = client.v0.datasources.create(content)
results = client.v0.calculations.create_get_results(data["id"], timeout=False)
print(results)
NB in development one can replace a VERY_SECRET_TOKEN
string with the development user email, e.g.
admin@test.com
(refer to users_emails BFF table).
Contributing
Please give a minute to the contribution guide. Note, that our changelog is maintained fully automatically via GitHub actions.
License
Author Sergey Korolev, Tilde Materials Informatics
Copyright 2023 BASF SE
BSD 3-Clause
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
Built Distribution
Hashes for metis_client-0.7.0-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | acaa22cf2949274b761d275714a8946db021c241faa92aa2ecf0061733c19d6b |
|
MD5 | da664a7bb51d43a510e64721c5ec63f8 |
|
BLAKE2b-256 | d7e9363cc7082af25e45394abf0a2167eb0973cdb165af5278c2db2bb6d00a11 |