This repository contains some simple examples of how you can use pydantic and pandera for data model validation.
Start with activating the virtual environment and installing needed packages from the pyproject.toml and poetry.lock
sunnivin@NGI-R910LQ9W:~/demo-make-model-validation-sexy-again(main)$ poetry shell
(demo-model-validation)sunnivin@NGI-R910LQ9W:~/demo-make-model-validation-sexy-again$ poetry install
You can now play with the data models in the demo_model_validation-folder
(demo-model-validation)sunnivin@NGI-R910LQ9W:~/demo-make-model-validation-sexy-again$ python demo_model_validation/turbine_model.py
My turbine model: soil_layers=[SoilLayer(depth=0.0, number_of_elements=2), SoilLayer(depth=2.0, number_of_elements=3)] load_step_num=20
This repo contains an example set-up for using pre-commit hooks with your python environment.
The file .pre-commit-config.yaml controls the type of pre-commit you are currently using. There exists several ways to do automatic formatting with Python. This is just an example.
Original documentation for pre-commit.
Make sure that you have activated your virtual environment first (see usage)
(demo-model-validation)sunnivin@NGI-R910LQ9W:~/NGI/demo-make-model-validation-sexy-again(main)$ pre-commit install
To later bypass the hook use the --no-verify option
(demo-model-validation)sunnivin@NGI-R910LQ9W:~/NGI/demo-make-model-validation-sexy-again(main)$ git commit -m "wip: my quick fix" --no-verify
You can do a manual pre-commit run on all files with the command
(demo-model-validation)sunnivin@NGI-R910LQ9W:~/demo-make-model-validation-sexy-again(main)$ pre-commit run --all-files
or you can run only mypy
(demo-model-validation)sunnivin@NGI-R910LQ9W:~/demo-make-model-validation-sexy-again(main)$ pre-commit run mypy --all
mypy.....................................................................Passed