A modern Python toolkit for working with Project Haystack tagged data, Xeto specs, and Haxall
Project description
About
Phable is a modern Python toolkit for working with Project Haystack tagged data, Xeto specs, and Haxall. It provides a simple, Pythonic interface for building automation systems, charging station management systems, and other energy management applications that use Project Haystack semantic data models.
Open source and free - Phable is permissively licensed under the MIT license.
Core Capabilities
Data Types & Serialization
- Full support for Project Haystack kinds (data types)
- Serialize between Python objects and Zinc or JSON formats
- Native Python representations for working with semantic data
Project Haystack Client
- Read
site,equip, andpointentities - Read current values of real-time data points
- Supervisory control of real-time data points
- Read and write history data for data points
Haxall Client
- All Project Haystack client features
- Add, update, and remove operations (commit API)
- Evaluate Axon expressions directly from Python
Xeto
- Type checking and validation of Haystack records against Xeto specifications via Haxall's CLI
Installation
Phable requires Python 3.11 or higher. Install from PyPI:
$ pip install phable
Time zone support: Phable uses the zoneinfo module for IANA time zone support. On systems without time zone data, you'll need to install tzdata:
$ pip install tzdata
Optional dependencies: For DataFrame support, install with your preferred library:
$ pip install "phable[pandas,pyarrow]" # For pandas support
$ pip install "phable[polars]" # For polars support
Breaking Changes
The early focus of this project is to find the best practices for using modern Python with a Haystack server. This may lead to breaking changes in newer Phable versions. After there has been sufficient experience with Phable, we plan to release a stable version 1.0.0.
Learn More
Phable's official website located here has additional documentation and examples for Phable's API.
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
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file phable-0.1.27.tar.gz.
File metadata
- Download URL: phable-0.1.27.tar.gz
- Upload date:
- Size: 92.3 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.9.5
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
92f6d8c9585dce0d7442526da795ee6e6c619d40335d5c3d521569f4314bbe8d
|
|
| MD5 |
062f6c4869c34569e62958848b6542f6
|
|
| BLAKE2b-256 |
70c10ed3ec021244721284790c67f7bc76fdaaf390b5d3e94c44fccc9f244eb4
|
File details
Details for the file phable-0.1.27-py3-none-any.whl.
File metadata
- Download URL: phable-0.1.27-py3-none-any.whl
- Upload date:
- Size: 41.6 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.9.5
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
590fb79ee78b62fd7547b9dea2a92baae50826b7089e38e3fcfde674c4407c15
|
|
| MD5 |
b26f10602b701dcc14fd3e151c5edd07
|
|
| BLAKE2b-256 |
f4c12ba6441c779d567cf44c23c59a89c1d8a68eb7512e641e5338700cc85410
|