Skip to content

v0.1.0-alpha.4

Compare
Choose a tag to compare
@devraj devraj released this 01 Jul 09:59
· 108 commits to master since this release

📢 Preamble

This release solidifies the vision of this API client. Our current vision is to ship:

  • A Python idiomatic client with documentation and examples
  • A command line utility to interact with the Gallagher API and aid with automation
  • A Terminal Interface that provides a superb experience for power users including the use of LLMs to query using natural language (English supported for now)

This release provides a near complete version of the Python API and the related tools, creating a foundation and making is ready for release.

✨ New

💅 Improvements

  • Adds task endpoint for debugging the Gallagher REST endpoints, for example use task debug:get -- alarms to trigger a get request. This will use httpie to execute the request and append necessary headers and parameters
  • Dependencies have been updated across the various deliverables to ensure we keep up security protocols and enhancements provided by upstream packages
  • Documentation across the entire project, getting ready for the final release, moves to using bruce-szalwinski/mkdocs-typer by @bruce-szalwinski for producing cli documentation.
  • Drastic improvements in testsuite performance by transforming network requests into fixtures for examples we can fetch alarms and then perform multiple validation operations on the data:
@pytest.fixture
async def alarm_summary() -> AlarmSummaryResponse:
    """ Get a list of item types and iterates through it
    these are a summary response

    """
    response = await Alarms.list()
    return response

🛠️ Fixes

  • Handles API endpoints errors properly and raises exceptions rather than letting the API client fail #8
  • Renames various incorrectly named DTO classes, this is due to the rapidly evolving nature of the project and should stabilise past these initial alpha/beta releases.