Skip to main content

A lightweight client for an AHBicht powered Backend

Project description

AHBicht Functions Python Client

Unittests status badge Coverage status badge Linting status badge Black status badge

This repository contains a lightweight client for an AHBicht powered backend by Hochfrequenz. It does not duplicate the core AHBicht logic but provides a PackageResolver that accesses a database (via a REST API) that stores PackageKeyConditionExpressionMappings. The database is maintained by Hochfrequenz.

Internally this client uses and requires aiohttp.

How to use the Client

  • Install using pip:
pip install ahbichtfunctionsclient

Then call it

import asyncio

from ahbicht.mapping_results import PackageKeyConditionExpressionMapping
from ahbichtfunctionsclient import HochfrequenzPackageResolver
from maus.edifact import EdifactFormat, EdifactFormatVersion


async def retrieve_package_mwe():
    # for a documentation about the purpose of a package resolver, you should read the ahbicht docs
    package_resolver = HochfrequenzPackageResolver()
    # the following data are just hardcoded to provide you a minimal working example
    package_resolver.edifact_format = EdifactFormat.UTILMD
    package_resolver.edifact_format_version = EdifactFormatVersion.FV2204
    package_mapping = await package_resolver.get_condition_expression("10P")  # this does an HTTP GET request
    assert isinstance(package_mapping, PackageKeyConditionExpressionMapping)  # the result is ahbicht compatible


loop = asyncio.get_event_loop()
loop.run_until_complete(retrieve_package_mwe())

Production Readiness

This package has a 100% code coverage, is linted, statically type checked and PEP561 compatible. It relies on a Hochfrequenz API which is, as of today (2022-03-17), free to use. Hochfrequenz does not give any guarantees regarding the stability or uptime of the API. Also at one point it might require authorization.

How to use this Repository on Your Machine (for development)

Please follow the instructions in our Python Template Repository. tl;dr: tox.

Contribute

You are very welcome to contribute to this template repository by opening a pull request against the main branch.

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

ahbichtfunctionsclient-0.0.3.tar.gz (11.2 kB view hashes)

Uploaded Source

Built Distribution

ahbichtfunctionsclient-0.0.3-py3-none-any.whl (4.9 kB view hashes)

Uploaded Python 3

Supported by

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