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.28a1.tar.gz (94.7 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.28a1-py3-none-any.whl (40.7 kB view details)

Uploaded Python 3

File details

Details for the file phable-0.1.28a1.tar.gz.

File metadata

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

File hashes

Hashes for phable-0.1.28a1.tar.gz
Algorithm Hash digest
SHA256 abc80bcbb2ffad500ae27bc07d9c78ec480e89161dfcad42483ad7a91a932191
MD5 ddc393e0f3b235d7e4500c618810024d
BLAKE2b-256 d8fe4e604678c2b13ecb4bf1b5bbd69c682b8f4df817f0f77f8fedd4e0f62a0b

See more details on using hashes here.

File details

Details for the file phable-0.1.28a1-py3-none-any.whl.

File metadata

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

File hashes

Hashes for phable-0.1.28a1-py3-none-any.whl
Algorithm Hash digest
SHA256 310c199eab19355aed50238b6135001b970873d88204b78c5231fd6d55b874bb
MD5 b74d0eb19e7ac4b97a39b6c2f5b24a2a
BLAKE2b-256 1ec139ae4b863cb7b205ed4ad0fa6637d4536f773b7d1e381c85870c48e6f0dc

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