#1066 Introducing Phable: A Simple, Modern Python Toolkit for Basic Client Connectivity

Rick Jennings Fri 2 Jun 2023

Hi,

I would like to announce an open-source project I have been working on called Phable. The word Phable is meant to be another way of expressing the idea of “Project Haystack ABLE”.

Phable is a simple, modern Python toolkit for basic client connectivity to a Project Haystack server. This project intends to make it easy to fetch and structure data from a Haystack server within a Jupyter Notebook using Python and has other possible use cases.

There are several noteworthy design philosophies behind Phable:

  • Use Python 3.11 or higher to take advantage of recent improvements to Python, including type hints, datetimes, and more
  • Avoid other software dependencies – currently Phable has no other dependencies than Python version 3.11 or higher
  • Python classes are used to define each of the Haystack kinds, except for Bool, Str, List, and Dict which we may consider adding support for in the future
  • The __str__ method on Haystack kinds defined in Phable are used to define how the objects are displayed to a user (e.g., within a Pandas DataFrame that is displayed)
  • Add properties to the Grid Haystack kind class to provide support to map to other libraries such as Pandas or Polars
  • Use the Client class and its methods to manage the client interface to the Haystack server

I invite you to check out Phable and to try out the basic Phable usage examples.

I would love your feedback on how we may improve this library to make it easier and more fun to use Python client code with a Haystack server.

Kind regards,

Rick

Note: Some of the provided links to the Phable repository on GitHub within this post may in the future change and no longer work as originally intended. In such a case, please check out the main Phable page on GitHub to learn the latest.

Mike Jarmy Fri 9 Jun 2023

This looks really interesting Rick. Being able to view Haystack data from pandas and/or Jupyter is very cool -- there are a lot of possibles for doing charting and analytics that way.

Rick Jennings Sat 1 Jul 2023

Hi Mike,

Agreed, thanks!

We would like to also share with all that Phable version 0.1.9 has been released and you may find its change log here.

I would like to thank Vojtěch Musílek at the Energy Twin for his contributions.

Next, we are considering to make these improvements:

  • Add async support
  • Improve single and batch hisWrite op

Please feel free to get involved or let us know how you think we may improve Phable.

Kind regards,

Rick

Gord Erickson Thu 21 Mar

Hi Rick -nice work on Phable!

Is there an example available for the hisWrite functionality?

Rick Jennings Fri 22 Mar

Hi Gord, thanks for the feedback!

Here is a branch I am working on for the Phable v0.1.14 release that includes an example for a HisWrite to a single point here.

This link is temporary and will expire in the future.

Also, I am planning to do a v0.1.14 release which has a better developer experience for the HisWrite op and other features soon.

Please feel free to post any issues that you encounter on the phable project on GitHub.

Login or Signup to reply.