Skip to content

Latest commit

 

History

History

datagovgr-datamodels

Datamodels created for handling the data from the https://data.gov.gr API.

The models are automatically generated from the unofficial API documentation, using the datamodel-code-generator.

For more information regarding the related project, see https://github.com/KAUTH/govgr-opendata-api-schema.

Supported datamodels

Note: At this moment, the package focuses on the datamodels of the responses.

Quick Installation

To install datagovgr-datamodels:

  • For pydantic models:
$ pip install datagovgr-datamodels[pydantic]

Example Usage

Pydantic models

  • To test querying the API and using the pydantic data models, provide a valid token and run:
    $ python3 examples/pydantic_v1_models.py

  • Example directly using pydantic v1 models:

from datagovgr_datamodels.pydantic_v1 import VaccinationData


data = {
    'area': 'ΑΝΑΤΟΛΙΚΗΣ ΑΤΤΙΚΗΣ',
    'areaid': 901,
    'dailydose1': 45,
    'dailydose2': 0,
    'dailydose3': 0,
    'daydiff': 0,
    'daytotal': 45,
    'referencedate': '2021-01-01T00:00:00',
    'totaldistinctpersons': 276,
    'totaldose1': 276,
    'totaldose2': 0,
    'totaldose3': 0,
    'totalvaccinations': 276
}

vaccination = VaccinationData.parse_obj(data)
print(
    f"Total vaccinations in '{vaccination.area}' "
    f"for {vaccination.referencedate.date()}: "
    f"{vaccination.totalvaccinations}."
)
  • Example directly using pydantic v2 models:
from datagovgr_datamodels.pydantic_v2 import VaccinationData


data = {
    'area': 'ΑΝΑΤΟΛΙΚΗΣ ΑΤΤΙΚΗΣ',
    'areaid': 901,
    'dailydose1': 45,
    'dailydose2': 0,
    'dailydose3': 0,
    'daydiff': 0,
    'daytotal': 45,
    'referencedate': '2021-01-01T00:00:00',
    'totaldistinctpersons': 276,
    'totaldose1': 276,
    'totaldose2': 0,
    'totaldose3': 0,
    'totalvaccinations': 276
}

vaccination = VaccinationData.model_validate(data)
print(
    f"Total vaccinations in '{vaccination.area}' "
    f"for {vaccination.referencedate.date()}: "
    f"{vaccination.totalvaccinations}."
)

Changelog

Changes to the datamodels are accompanied by a version update, documented in https://github.com/KAUTH/govgr-opendata-api-schema/blob/main/datamodels/python/CHANGELOG.md.

License

MIT License