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.
Metadata
Release files for phable 0.1.29
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| phable-0.1.29.tar.gz | 94.8 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| phable-0.1.29-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 134.9 kB
Release files / phable-0.1.29.tar.gz
| Download URL | phable-0.1.29.tar.gz |
|---|---|
| Size | 94.8 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
92b1380b2ac4462b7cda977aa416fc47b29413e11b8d002cf6da161a991d3573
|
|
BLAKE2b-256 checksum How to use checksums |
cfab3c67984016b6704c8bff6eb783c79fdd58dd6eb764f383a900c5160b6a84
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
uv/0.9.5
|
Release files / phable-0.1.29-py3-none-any.whl
| Download URL | phable-0.1.29-py3-none-any.whl |
|---|---|
| Size | 40.2 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
9492a75bf1434af6632eb37e53e8752449b99fa541436d54dc472950d6032465
|
|
BLAKE2b-256 checksum How to use checksums |
a766ad81d1fc31e6a925cdcc60546bcc79e6c761b75aaf46d63f170a7aeea89c
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
uv/0.9.5
|