Zeta Mission Control python library
Project description
Zeta Mission Control
Simple library that helps connect to Zeta Technologies Mission Control app.
Usage
To make a connection use zmc.connect() as either a context manager or a
decorator:
As a context manager:
import zmc
with zmc.connect():
do_something() # will execute while connection is established.
As a decorator:
import zmc
@zmc.connect()
def do_something():
... # user implementation
do_something() # will execute while connection is established.
Any code run within the context manager or decorator will only start running once a connection is established. (see below on how to run code to ensure a connection is made)
Interacting with app
The library enables easily sending and receiving data from the app via
"components" found in zmc.components.
Sending data
Sending data is accomplished by calling specific functions on the components:
import zmc
graph = zmc.components.Graph("graphId")
with zmc.connect():
# Update graph on GUI to show these three points.
graph.plot(x=[0, 1, 2], y=[5, 6, 7])
Using values set in the GUI
To receive values that are set from the GUI, you can access the corresponding component attributes as you would any other attribute or variable. When a change is made on the GUI, the value will automatically be changed.
import zmc
slider = zmc.components.Slider("sliderId")
with zmc.connect():
while True:
if slider.value > 5:
break # Break once slider is changed above 5 on the GUI.
Running code
A python script using the zmc library should not be run directly from the
terminal. Instead, it should be run through the app (so that the app can
establish its own side of the connection). If you do run it directly, you will
get a timeout stating that the connection could not be established
To run for debugging purposes, use zmc.connect(debug=True) which will mock out
the connection and allow you to run the rest of your code as normal. Add verbose=True for more logging.
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 zmc-0.1.2b2.tar.gz.
File metadata
- Download URL: zmc-0.1.2b2.tar.gz
- Upload date:
- Size: 24.8 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.1.1 CPython/3.9.1
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
68aa9957402cfc1fb205594951f27968f1422814e0a8474a3583c216e9c0920d
|
|
| MD5 |
54cbf8f7e29d03cdf3a10dc6928982ae
|
|
| BLAKE2b-256 |
be093d80681513bf50e04002b9f2c90369ad6355e73364970cf0c90c97a464a3
|
File details
Details for the file zmc-0.1.2b2-py3-none-any.whl.
File metadata
- Download URL: zmc-0.1.2b2-py3-none-any.whl
- Upload date:
- Size: 37.7 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.1.1 CPython/3.9.1
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
4ded4e59b4fefcc9fbca8117271b8b25c1201f1c5cb32a4b4499f07c5863cec5
|
|
| MD5 |
3c322c64ceba2b3a9916ad6ff2e520c4
|
|
| BLAKE2b-256 |
bc893da4b56f266c70c22ee12e5f9cf6129205528bec41e6f781ebe666c28512
|