PlaneWave Interface
Modern, type-safe, zero-dependency python library for controlling PlaneWave devices through the PWI4 HTTP interface.
Installation
uv add pwi
or
using your preferred environment / package manager of choice, e.g., poetry, conda or pip:
pip install pwi
poetry add pwi
conda install pwi
Usage
from pwi import (
BaseMountAlignmentMode,
PlaneWaveHTTPXClient,
PlaneWaveMountDeviceInterface,
PlaneWaveMountDeviceParameters,
)
# Create a new PlaneWave HTTPX client:
client = PlaneWaveHTTPXClient(host="localhost", port=8220)
# Define the parameters for the PlaneWave Mount device:
params: PlaneWaveMountDeviceParameters = PlaneWaveMountDeviceParameters(
name="PlaneWave L350 Alt-Az Mount",
description="PlaneWave Mount Interface (HTTP)",
alignment=BaseMountAlignmentMode.ALT_AZ,
latitude=33.87047,
longitude=-118.24708,
elevation=0.0,
did="0", # Device ID
vid="", # Vendor ID
pid="", # Product ID
)
# Create a new PlaneWave Mount device interface:
mount = PlaneWaveMountDeviceInterface(
id=0,
params=params,
client=client,
)
# Initialise the mount:
mount.initialise()
# Get the current status of the mount:
status = mount.get_status()
...
As the pwi instance is fully typed, you can use your IDE's autocompletion to see all the available methods and properties.
We have also provided further usage examples in the examples directory.
Milestones
- Type-safe modern 3.6+ Python
- Fully unit tested
- Simpler API (modelled around the ASCOM Alpaca API)
- Integration testing with HIL testing (hardware-in-the-loop)
- Zero-external dependencies (no numpy, astropy etc for portability)
- Example API usage
- Fully supported PlaneWave Mount operations
- Fully supported PlaneWave Focuser operations
- Fully supported PlaneWave Rotator operations
- Fully seasoned recipes for usage with numpy, astropy et al.
- ASCOM Alpaca APIs w/Fast API
Disclaimer
This project is not affiliated with PlaneWave Instruments or observable.space in any way. It is a community-driven project. All trademarks and logos are the property of their respective owners. The PWI4 software is the property of PlaneWave Instruments.
License
This project is licensed under the terms of the MIT license.
Metadata
Release files for pwi 0.14.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| pwi-0.14.0.tar.gz | 73.6 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| pwi-0.14.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 104.1 kB
Release files / pwi-0.14.0.tar.gz
| Download URL | pwi-0.14.0.tar.gz |
|---|---|
| Size | 73.6 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
3e5aa463ba9064c4485b2e5ef0fca9c3ff9cad98e0cd81c831dc580d11b6ae1d
|
|
BLAKE2b-256 checksum How to use checksums |
11b33fe87fdeed687ec6911ab54e7985cb031e5290f933641fc080db548da5d5
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.7
|
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 Nov 12, 2025.
Transparency logRelease files / pwi-0.14.0-py3-none-any.whl
| Download URL | pwi-0.14.0-py3-none-any.whl |
|---|---|
| Size | 30.5 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
81fc9dfe2235ab6f9e530831abc36bb274479fe6dae14f82a15f59e6664f81d9
|
|
BLAKE2b-256 checksum How to use checksums |
9bec9c173572e423e2a30d10be8af49ffe49cc65f9a5f7eb542d47c69e2efc34
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.7
|
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 Nov 12, 2025.
Transparency log