Lvm Pwi4 Actor
Project description
lvmpwi
Lvm Planewave PWI Clu Wrapper
Features
- CLU based wrapper for Planewave PWI.
- Uses a container for deployment and testing.
- Uses podman¹ for building the container.
¹ Setting an alias to use docker might work.
alias podman="sudo docker"
Todo
- Container not using the host network
Note
As of version 0.0.9 the container is renamed from ubuntu_lvmt_pwi to lvmpwi
Quickstart
Beginning with version 0.0.9 the container doesnt have to be build, a container is download automatically from github.
git clone https://github.com/sdss/lvmpwi.git
cd lvmtan
poetry run container_start --simulator --name=lvm.sci.pwi&
Prerequisites
Some linux distributions do not have python >= 3.7 as the standard python3 version.
Centos 8.X
# as root
yum install python38-devel
# as user
python3.8 -m pip install --user --upgrade pip
pip3.8 install poetry
export PATH=~/.local/bin/:$PATH
OpenSuSe 15.2/15.3
# as root
zypper ar https://download.opensuse.org/repositories/devel:/languages:/python:/Factory/openSUSE_Leap_15.2/ devel_python
zypper install python39-devel
# as user
python3.9 -m pip install --user --upgrade pip
pip3.9 install poetry
export PATH=~/.local/bin/:$PATH
Quick start
Download
git clone https://github.com/sdss/lvmpwi.git
cd lvmpwi
Build (optional)
# update local py env
poetry update
poetry install
# build sdist & wheel (optional)
poetry build
# build pwi container
poetry run container_build
# rebuild pwi container from scratch
poetry run container_build --no-cache
Run container
poetry run container_start
# with pwi4 port 8220 exposed
poetry run container_start --debug
poetry run container_stop
# run container with vnc - uses a free port between 5900 - 5909
poetry run container_start --without-ui
# run container with killing current instance
poetry run container_start --kill
# run container using the local lvmpwi instead of the git version included into the container
poetry run container_start --debug
# start multiple pwi container with simulation screen size for vnc sessions
poetry run container_start --simulator --name=lvm.sci.pwi&
poetry run container_start --simulator --geom=800x600 --without-ui --name=lvm.skye.pwi&
poetry run container_start --simulator --geom=800x600 --without-ui --name=lvm.skyw.pwi&
poetry run container_start --simulator --geom=800x600 --without-ui --name=lvm.spec.pwi&
# run autotuner from container
# Note: the standard autotuner needs opengl, which is not available with tigervnc/tightvnc, only with turbovnc and native display.
poetry run container_autotuner
Run tests
# run tests
poetry run pytest
# ... include slow tests with enabled log to stdout
poetry run pytest -p no:logging -s -v --runslow
Run native pwi client interface
# run python with path to native pwi interface¹
export PYTHONPATH=python/lvmpwi/pwi/:$PYTHONPATH
poetry run python
# see also lvmpwi/python/lvmpwi/pwi/pwi4_client_demo.py²
# the documentation of the api is inside the code.
import time
from pwi4_client import PWI4
pwi4 = PWI4()
s = pwi4.status()
if not s.mount.is_connected:
print ("Connecting to mount...")
s = pwi4.mount_connect()
print ("Mount connected:", s.mount.is_connected)
¹ pwi4_client.py ² pwi4_client_demo.py
Publish
# publish to pypi
poetry publish --username=USER --password=PASS
# build rpm package
poetry run python setup.py bdist_rpm
# build deb package - needs python3-stdeb
poetry run python setup.py --command-packages=stdeb.command bdist_deb
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
sdss_lvmpwi-0.0.41.tar.gz
(51.1 kB
view hashes)
Built Distribution
Close
Hashes for sdss_lvmpwi-0.0.41-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 446f4a1172559c5ade3f7c97509786a46a9fb3a4aca8333140ad8c3860b65804 |
|
MD5 | c5c76f4294eb9b6643d97a7e6c0aaed5 |
|
BLAKE2b-256 | 1afcfc361b1da5b2f33a82ebd2c4f42f1583ddf1eda7478de7fd6c4cabbc91d3 |