Skip to main content

Lvm Pwi4 Actor

Project description

lvmpwi

Versions Documentation Status Travis (.org) codecov

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


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.42.tar.gz (49.1 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

sdss_lvmpwi-0.0.42-py3-none-any.whl (26.2 kB view details)

Uploaded Python 3

File details

Details for the file sdss_lvmpwi-0.0.42.tar.gz.

File metadata

  • Download URL: sdss_lvmpwi-0.0.42.tar.gz
  • Upload date:
  • Size: 49.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.12.9

File hashes

Hashes for sdss_lvmpwi-0.0.42.tar.gz
Algorithm Hash digest
SHA256 09cf78c95525680bd57a85b5a6bfae6958a4dc8f9e04ed7dd1e3c6a2928050e2
MD5 bed15687be8ee45f01746cfcd242448b
BLAKE2b-256 7f228c5d4356584ecd758fec0e5fd31e4ac4fec6024efa5d1b207732d6e82515

See more details on using hashes here.

Provenance

The following attestation bundles were made for sdss_lvmpwi-0.0.42.tar.gz:

Publisher: release.yml on sdss/lvmpwi

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file sdss_lvmpwi-0.0.42-py3-none-any.whl.

File metadata

  • Download URL: sdss_lvmpwi-0.0.42-py3-none-any.whl
  • Upload date:
  • Size: 26.2 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.12.9

File hashes

Hashes for sdss_lvmpwi-0.0.42-py3-none-any.whl
Algorithm Hash digest
SHA256 8da650d9e9c988e29bc849129966572598841792b247e0071e68c5da978dda1b
MD5 794ed996be1de38674a6a19b5cbe315a
BLAKE2b-256 98e74078f6dd8a0b7921611bd333319708bd0aa21d2a5a3a6a7533b3eb6f32b7

See more details on using hashes here.

Provenance

The following attestation bundles were made for sdss_lvmpwi-0.0.42-py3-none-any.whl:

Publisher: release.yml on sdss/lvmpwi

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page