pyinuse
is the official Python client for InUse API.
It provides the following main API methods:
- list
- create
- update
- partial_update
- retrieve
- destroy
For main end points such as:
- manufacturers
- machine_models
- machines
- producers
- sites
- lines
- machines
- properties
- multispans
- csvs
- posts
- triggers
- synoptics
- files
- agents
- groups
- favorites
- notifications
- alerts
- sandboxes
Please refer to InUse API documentation (Accessible from the Studio) for more details.
The actual API version is the internal API (not versioned) and is subject to changes. A versioned public API will be created in a later stage and used in this python client.
# Library used to type a password in a secured way.
import getpass
# Client library for the InUse API.
from pyinuse import InUse
# Library for logging
import logging
logging.basicConfig(format="%(asctime)s, %(name)s, %(levelname)s, %(message)s", level=logging.INFO)
manufacturer_code="mycompany" # replace with your manufacturer code
# login
inuse = InUse(base_url=f"https://studio.{manufacturer_code}.productinuse.com")
inuse.login(input("Username? "), getpass.getpass("Password? "))
# get my manufacturer
# each endpoint is accessible by its name as an attribute of InUse instance
manufacturer = inuse.manufacturers.list()[0]
# create a new machine_model
machine_model = inuse.machine_models.update_or_create(
params={"manufacturer": manufacturer["pk"], "code": "my-machine-model"},
data={
"manufacturer": manufacturer["pk"],
"code": "my-machine-model",
"name": "my machine model",
},
)
# logout once you're done
inuse.logout()