# Verzeichnisdienst Python Models
[![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](LICENSE)
![Python Versions (officially) supported](https://img.shields.io/pypi/pyversions/verzeichnisdienst.svg)
![Pypi status badge](https://img.shields.io/pypi/v/verzeichnisdienst)
![Unittests status badge](https://github.com/Hochfrequenz/malo-ident-python-models/workflows/Unittests/badge.svg)
![Coverage status badge](https://github.com/Hochfrequenz/malo-ident-python-models/workflows/Coverage/badge.svg)
![Linting status badge](https://github.com/Hochfrequenz/malo-ident-python-models/workflows/Linting/badge.svg)
![Black status badge](https://github.com/Hochfrequenz/malo-ident-python-models/workflows/Formatting/badge.svg)
This package provides mostly autogenerated [pydantic](https://docs.pydantic.dev/latest/)-based model classes for the Verzeichnisdienst API.
It does not provide you with an HTTP client.
## Installation
Install it from [PyPI](https://pypi.org/project/verzeichnisdienst)
```bash
pip install verzeichnisdienst
```
Then use it:
```python
from verzeichnisdienst.v1.models import ApiRecord
my_json = {
"providerId": "1234567890123",
"apiId": "example",
"majorVersion": 1,
"url": "https://www.example.org/api/resource/v1",
"additionalMetadata": None,
"lastUpdated": "2024-10-01T00:00:00+00:00",
"revision": 1,
"status": "Test",
}
my_strongly_typed_record = ApiRecord.model_validate(my_json)
```
or
```python
from verzeichnisdienst.v1.websocket import Contact
my_json_contact = {
"email": "verzeichnis@hochfrequenz.de",
"phone": "0049123457890"
}
my_strongly_typed_contact = Contact.model_validate(my_json_contact)
```
See the [tests](unittests/test_models.py) for more examples.
## Project Structure
This project is based on [`datamodel-code-generator`](https://github.com/koxudaxi/datamodel-code-generator/).
Most of the classes are autogenerated from the [`openapi.yml`](openapi/v1/openapi.yml) which can be found on [SwaggerHub](https://app.swaggerhub.com/apis-docs/edi_energy/Verzeichnisdienst_Web-API_2024_10_01/1.0.0).
After updating the `openapi.yml` file, use
```bash
tox -e codegen
```
to re-generate the model classes.
## Contribute
You are very welcome to contribute to this template repository by opening a pull request against the main branch.
Raw data
{
"_id": null,
"home_page": null,
"name": "verzeichnisdienst",
"maintainer": null,
"docs_url": null,
"requires_python": ">=3.9",
"maintainer_email": null,
"keywords": "BDEW, EDI@Energy, Verzeichnisdienst",
"author": null,
"author_email": "your name <info+github@hochfrequenz.de>",
"download_url": "https://files.pythonhosted.org/packages/2c/9a/0ceb2125602d3e6eaae669f58f5636cc77e3092b8299836db396807d84d3/verzeichnisdienst-0.1.0.tar.gz",
"platform": null,
"description": "# Verzeichnisdienst Python Models\n\n[![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](LICENSE)\n![Python Versions (officially) supported](https://img.shields.io/pypi/pyversions/verzeichnisdienst.svg)\n![Pypi status badge](https://img.shields.io/pypi/v/verzeichnisdienst)\n![Unittests status badge](https://github.com/Hochfrequenz/malo-ident-python-models/workflows/Unittests/badge.svg)\n![Coverage status badge](https://github.com/Hochfrequenz/malo-ident-python-models/workflows/Coverage/badge.svg)\n![Linting status badge](https://github.com/Hochfrequenz/malo-ident-python-models/workflows/Linting/badge.svg)\n![Black status badge](https://github.com/Hochfrequenz/malo-ident-python-models/workflows/Formatting/badge.svg)\n\nThis package provides mostly autogenerated [pydantic](https://docs.pydantic.dev/latest/)-based model classes for the Verzeichnisdienst API.\n\nIt does not provide you with an HTTP client.\n\n## Installation\n\nInstall it from [PyPI](https://pypi.org/project/verzeichnisdienst)\n\n```bash\npip install verzeichnisdienst\n```\n\nThen use it:\n\n```python\nfrom verzeichnisdienst.v1.models import ApiRecord\n\nmy_json = {\n \"providerId\": \"1234567890123\",\n \"apiId\": \"example\",\n \"majorVersion\": 1,\n \"url\": \"https://www.example.org/api/resource/v1\",\n \"additionalMetadata\": None,\n \"lastUpdated\": \"2024-10-01T00:00:00+00:00\",\n \"revision\": 1,\n \"status\": \"Test\",\n}\nmy_strongly_typed_record = ApiRecord.model_validate(my_json)\n```\n\nor\n\n```python\nfrom verzeichnisdienst.v1.websocket import Contact\n\nmy_json_contact = {\n \"email\": \"verzeichnis@hochfrequenz.de\",\n \"phone\": \"0049123457890\"\n}\nmy_strongly_typed_contact = Contact.model_validate(my_json_contact)\n```\n\nSee the [tests](unittests/test_models.py) for more examples.\n\n## Project Structure\n\nThis project is based on [`datamodel-code-generator`](https://github.com/koxudaxi/datamodel-code-generator/).\nMost of the classes are autogenerated from the [`openapi.yml`](openapi/v1/openapi.yml) which can be found on [SwaggerHub](https://app.swaggerhub.com/apis-docs/edi_energy/Verzeichnisdienst_Web-API_2024_10_01/1.0.0).\n\nAfter updating the `openapi.yml` file, use\n\n```bash\ntox -e codegen\n```\n\nto re-generate the model classes.\n\n## Contribute\n\nYou are very welcome to contribute to this template repository by opening a pull request against the main branch.\n",
"bugtrack_url": null,
"license": "MIT",
"summary": "Model classes for the Verzeichnisdienst API by EDI@Energy",
"version": "0.1.0",
"project_urls": {
"Changelog": "https://github.com/Hochfrequenz/verzeichnisdienst-python-models/releases",
"Homepage": "https://github.com/Hochfrequenz/verzeichnisdienst-python-models"
},
"split_keywords": [
"bdew",
" edi@energy",
" verzeichnisdienst"
],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "f1af16acaeca582fcce7c48d5149ca162b01e106a5c32d811dccbcea16c8dc1e",
"md5": "9976e138024c9b209d429a3f19849d9b",
"sha256": "455a88bc665565dab1d2229dfcee9a3dc35b0068fd320531cc7529e213704297"
},
"downloads": -1,
"filename": "verzeichnisdienst-0.1.0-py3-none-any.whl",
"has_sig": false,
"md5_digest": "9976e138024c9b209d429a3f19849d9b",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": ">=3.9",
"size": 7935,
"upload_time": "2024-11-18T11:12:02",
"upload_time_iso_8601": "2024-11-18T11:12:02.576897Z",
"url": "https://files.pythonhosted.org/packages/f1/af/16acaeca582fcce7c48d5149ca162b01e106a5c32d811dccbcea16c8dc1e/verzeichnisdienst-0.1.0-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "2c9a0ceb2125602d3e6eaae669f58f5636cc77e3092b8299836db396807d84d3",
"md5": "cf2a81591bae42eed1af543fc5288ed6",
"sha256": "fd3a663221f8a69d4b4bc3f967b2a79224a447b0f4e288965de3682442c82eaf"
},
"downloads": -1,
"filename": "verzeichnisdienst-0.1.0.tar.gz",
"has_sig": false,
"md5_digest": "cf2a81591bae42eed1af543fc5288ed6",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.9",
"size": 26408,
"upload_time": "2024-11-18T11:12:04",
"upload_time_iso_8601": "2024-11-18T11:12:04.069709Z",
"url": "https://files.pythonhosted.org/packages/2c/9a/0ceb2125602d3e6eaae669f58f5636cc77e3092b8299836db396807d84d3/verzeichnisdienst-0.1.0.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2024-11-18 11:12:04",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "Hochfrequenz",
"github_project": "verzeichnisdienst-python-models",
"travis_ci": false,
"coveralls": false,
"github_actions": true,
"requirements": [
{
"name": "annotated-types",
"specs": [
[
"==",
"0.7.0"
]
]
},
{
"name": "pydantic",
"specs": [
[
"==",
"2.9.2"
]
]
},
{
"name": "pydantic-core",
"specs": [
[
"==",
"2.23.4"
]
]
},
{
"name": "typing-extensions",
"specs": [
[
"==",
"4.12.2"
]
]
}
],
"tox": true,
"lcname": "verzeichnisdienst"
}