Skip to main content

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, and point entities
  • 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)

Source distribution for phable 0.1.29
File Size Uploaded
phable-0.1.29.tar.gz 94.8 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for phable 0.1.29
File Interpreter ABI Platform
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
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