Skip to main content

Fully typed, async client library for Technical Master Data Service (TMDS)

Project description

tmdsclient.py

License: MIT Python Versions (officially) supported Pypi status badge Unittests status badge Coverage status badge Linting status badge Black status badge

This repository contains the package tmdsclient. It is an async, fully typed Python client for the Technical Master Data Service (TMDS).

Its features are handwritten and extended as we need them. So it is not autogenerated from the TMDS OpenAPI.

Installation

Install it from PyPI:

pip install tmdsclient

Usage

from yarl import URL
from tmdsclient import BasicAuthTmdsClient, BasicAuthTmdsConfig

tmds_config = BasicAuthTmdsConfig(
    server_url=URL("https://my-tmds.xtk-test.org/"),
    usr="my-usr",
    pwd="my-pwd",
)
client = BasicAuthTmdsClient(tmds_config)
netzvertrage = await client.get_netzvertraege_for_melo("DE1234567890123456789012345678901")

Even though we did not fully replicate the TMDS data model (mainly BO4E.net + some wrapper classes), we tried to make the client as flexible as possible. You can use any unmapped field returned by TMDS by using the model_extra property of pydantic.

Development

For development of this library, follow the instructions in our Python Template Repository. tl;dr: tox -e dev will set up a development environment for you.

Release (CI/CD)

To release a new version of this library, create a new release in GitHub. Make sure its tag starts with v and the version number, e.g. v1.2.3. Releases are not restricted to the main branch, but we prefer them to happen there.

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

tmdsclient-0.7.1.tar.gz (24.8 kB view details)

Uploaded Source

Built Distribution

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

tmdsclient-0.7.1-py3-none-any.whl (26.1 kB view details)

Uploaded Python 3

File details

Details for the file tmdsclient-0.7.1.tar.gz.

File metadata

  • Download URL: tmdsclient-0.7.1.tar.gz
  • Upload date:
  • Size: 24.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for tmdsclient-0.7.1.tar.gz
Algorithm Hash digest
SHA256 2a0c79f3eef24ae849f2ec14276431cb8917d07e17e29b44bb9abd32160e8f77
MD5 0a345799e2b1e5cf91eefefb34d6a75d
BLAKE2b-256 07a7d31337401b8d11e7394c838c6fe9f090d566a215ceb86e2b46b9c49aa673

See more details on using hashes here.

Provenance

The following attestation bundles were made for tmdsclient-0.7.1.tar.gz:

Publisher: python-publish.yml on Hochfrequenz/tmdsclient.py

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file tmdsclient-0.7.1-py3-none-any.whl.

File metadata

  • Download URL: tmdsclient-0.7.1-py3-none-any.whl
  • Upload date:
  • Size: 26.1 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for tmdsclient-0.7.1-py3-none-any.whl
Algorithm Hash digest
SHA256 5c97170c9fa07c98fcdb641d7a6be5f417a0b322f90b011a1f09523fa7546ba2
MD5 5970970ecfe255da760234b6409ec30f
BLAKE2b-256 ad26e41c18de4f3ea67437d133b0a8aeb17f80d5fced7d2788085028a53c25fd

See more details on using hashes here.

Provenance

The following attestation bundles were made for tmdsclient-0.7.1-py3-none-any.whl:

Publisher: python-publish.yml on Hochfrequenz/tmdsclient.py

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

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