The Modular Autonomous Discovery for Science (MADSci) Python Client and CLI.
Project description
MADSci Clients
Provides a collection of clients for interacting with the different components of a MADSci interface.
Installation
See the main README for installation options. This package is available as:
- PyPI:
pip install madsci.client - Docker: Included in
ghcr.io/ad-sdl/madsci - Dependency: Required by most other MADSci packages
Node Clients
Node clients allow you to interface with MADSci Nodes to:
- Send actions and get action results
- Get information about the node
- Get the current state and status of the node
- Send administrative commands (safety stop, pause, resume, etc)
As MADSci is designed to support multiple communications protocols, we provide a client for each. In addition, an AbstractNodeClient base class is provided, which can be inherited from to implement your own node clients for different interfaces.
REST Client
Communicate with MADSci Nodes via REST API:
from madsci.client.node.rest_node_client import RestNodeClient
from madsci.common.types.action_types import ActionRequest
client = RestNodeClient(url="http://example:2000")
action_request = ActionRequest(
action_name="my_action",
args={"param": "value"},
)
status = client.get_status()
result = client.send_action(action_request)
Examples: See example_lab/notebooks/node_notebook.ipynb for detailed usage.
Event Client
Allows a user or system to interface with a MADSci EventManager, or log events locally if one isn't available/configured. Can be used to both log new events and query logged events.
For detailed documentation on usage, see the EventManager Documentation.
Experiment Application
The ExperimentApplication class is a helper class designed to act as scaffolding for a user's own python experiment. It provides helpful tooling around tracking and responding to changes in Experiment status, marshalling the clients needed to leverage different parts of a MADSci-enabled lab, and implementing your own custom experimental logic.
Experiment Client
Allows the user or an automated system/agent to inerface with a MADSci ExperimentManager to capture Experiment Designs and track status and metadata related to specific Experimental Runs and whole Experimental Campaigns.
For detailed documentation on usage, see the ExperimentManager Documentation
Data Client
Allows the user or an automated system/agent to interface with a MADSci DataManager to upload, query, and fetch DataPoints. Currently supports ValueDataPoints (which can include any JSON-serializable data) and FileDataPoints (which directly stores the files).
For detailed documentation on usage, see the DataManager Documentation.
Resource Client
Allows the user or an automated system/agent to interface with a MADSci ResourceManager to initialize, manage, track, query, update, and remove physical resources (including samples, consumables, containers, labware, etc.).
For detailed documentation on usage, see the ResourceManager Documentation.
Workcell Client
Allows the user or an automated system/agent to interface with a MADSci WorkcellManager. Includes support for submitting, querying, and controlling Workflows, sending admin commands to the Workcell, and interacting with Workcell Locations.
For detailed documentation on usage, see the WorkcellManager Documentation.
Project details
Release history Release notifications | RSS feed
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
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file madsci_client-0.4.5.tar.gz.
File metadata
- Download URL: madsci_client-0.4.5.tar.gz
- Upload date:
- Size: 31.8 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: pdm/2.25.6 CPython/3.9.23 Linux/6.11.0-1018-azure
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
7bd93c0e3e46e4ab9ba9b50acff9e012dc189a3c16344186fe5a12fa5b4e8842
|
|
| MD5 |
bc5ad5f15bf997dfef6f3cd404db7f97
|
|
| BLAKE2b-256 |
300bbc21b7a2f7643292b46eec97fdf6c5b44de17657bad7e949e4dd0b8e709b
|
File details
Details for the file madsci_client-0.4.5-py3-none-any.whl.
File metadata
- Download URL: madsci_client-0.4.5-py3-none-any.whl
- Upload date:
- Size: 34.3 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: pdm/2.25.6 CPython/3.9.23 Linux/6.11.0-1018-azure
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
40772c712ed20fbc3569577db9943fe96fac1df3d987ece494c3648d94020f2f
|
|
| MD5 |
4803a879c1626b9f20044b075bf6ec80
|
|
| BLAKE2b-256 |
2151eebaae5bd0c2d5ff8ab22d697c7a4d73ede43fc43e2e557c8a19518055c8
|