Skip to main content

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, 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.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

phable-0.1.26.tar.gz (91.1 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

phable-0.1.26-py3-none-any.whl (38.4 kB view details)

Uploaded Python 3

File details

Details for the file phable-0.1.26.tar.gz.

File metadata

  • Download URL: phable-0.1.26.tar.gz
  • Upload date:
  • Size: 91.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.9.5

File hashes

Hashes for phable-0.1.26.tar.gz
Algorithm Hash digest
SHA256 f2852ab10003b1ba554fa09cddedf5cd4b3aaecc33d1c50b452471e39c326afe
MD5 90cb5407845d6e6a0f368c9abc823e7f
BLAKE2b-256 7133fa3e0af73317eed3a4126eb6a6b1523a4587978d277b1dad19235827091d

See more details on using hashes here.

File details

Details for the file phable-0.1.26-py3-none-any.whl.

File metadata

  • Download URL: phable-0.1.26-py3-none-any.whl
  • Upload date:
  • Size: 38.4 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.9.5

File hashes

Hashes for phable-0.1.26-py3-none-any.whl
Algorithm Hash digest
SHA256 d95482dac0bda3b2c89594caa2345fb6f347f5ef2fb99526a3d8b49e9ec11f9b
MD5 6f1965bf604f918c4d5b3e6d46431811
BLAKE2b-256 de46cccfa629a938c452075a8f8daf297d929a5c08a8a7c14ae0481b194e226a

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page