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

Metadata

Release files for sdss-lvmpwi 0.0.42

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for sdss-lvmpwi 0.0.42
File Size Uploaded
sdss_lvmpwi-0.0.42.tar.gz 49.1 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for sdss-lvmpwi 0.0.42
File Interpreter ABI Platform
sdss_lvmpwi-0.0.42-py3-none-any.whl Python 3 none any Details

Total release size: 75.3 kB

Release files / sdss_lvmpwi-0.0.42.tar.gz

Download URL sdss_lvmpwi-0.0.42.tar.gz
Size 49.1 kB
Tags Source
SHA-256 checksum
How to use checksums
09cf78c95525680bd57a85b5a6bfae6958a4dc8f9e04ed7dd1e3c6a2928050e2
BLAKE2b-256 checksum
How to use checksums
7f228c5d4356584ecd758fec0e5fd31e4ac4fec6024efa5d1b207732d6e82515
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.12.9

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Mar 18, 2025.

Transparency log

Release files / sdss_lvmpwi-0.0.42-py3-none-any.whl

Download URL sdss_lvmpwi-0.0.42-py3-none-any.whl
Size 26.2 kB
Tags Python 3
SHA-256 checksum
How to use checksums
8da650d9e9c988e29bc849129966572598841792b247e0071e68c5da978dda1b
BLAKE2b-256 checksum
How to use checksums
98e74078f6dd8a0b7921611bd333319708bd0aa21d2a5a3a6a7533b3eb6f32b7
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.12.9

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Mar 18, 2025.

Transparency log

Release history Release notifications | RSS feed

This release

0.0.42 This release

2 release files

0.0.41

2 release files

0.0.40

2 release files

0.0.39

2 release files

0.0.37

2 release files

0.0.35

2 release files

0.0.34

2 release files

0.0.33

2 release files

0.0.32

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page