Skip to main content

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

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.

Release history Release notifications | RSS feed

This release

0.0.42 This release

2 files

0.0.41

2 files

0.0.40

2 files

0.0.39

2 files

0.0.38

2 files

0.0.37

2 files

0.0.36

2 files

0.0.35

2 files

0.0.34

2 files

0.0.33

2 files

0.0.32

2 files

0.0.31

2 files

0.0.30

2 files

0.0.29

2 files

0.0.28

2 files

Supported by

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