Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
37 changes: 37 additions & 0 deletions .github/workflows/ci_docs_build.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,37 @@
name: Verify docs build correctly

on:
pull_request:
branches:
- main
types: [opened, reopened, synchronize]

jobs:
build:
runs-on: ubuntu-24.04
steps:
- uses: actions/checkout@v5

- name: Install extra dependencies for a python install
run: |
sudo apt-get update
sudo apt -y install --no-install-recommends liblzma-dev libbz2-dev libreadline-dev

- name: Install asdf cli
uses: asdf-vm/actions/setup@b7bcd026f18772e44fe1026d729e1611cc435d47

- name: Install software through asdf
uses: asdf-vm/actions/install@b7bcd026f18772e44fe1026d729e1611cc435d47

- name: reshim asdf
run: asdf reshim

- name: ensure poetry using desired python version
run: poetry env use $(asdf which python)

- name: install docs requirements
run: |
poetry install --sync --no-interaction --with docs

- name: verify docs build correctly
run: poetry run zensical build --strict
6 changes: 3 additions & 3 deletions docs/user_guidance/business_rules.md
Original file line number Diff line number Diff line change
Expand Up @@ -50,7 +50,7 @@ For the simplest rules, you can write them in the filters section. For example,
"failure_type": "record",
"error_code": "MOVIE_TOO_LONG",
"failure_message": "Movie must be less than 4 hours long.",
"category": "Bad Value"
"category": "Bad value"
}
]
}
Expand Down Expand Up @@ -81,7 +81,7 @@ For the simplest rules, you can write them in the filters section. For example,
"failure_type": "submission",
"error_code": "MOVIE_TOO_LONG",
"failure_message": "Movie must be less than 4 hours long.",
"category": "Bad Value"
"category": "Bad value"
}
]
}
Expand Down Expand Up @@ -113,7 +113,7 @@ For the simplest rules, you can write them in the filters section. For example,
"is_informational": true,
"error_code": "MOVIE_TOO_LONG",
"failure_message": "Movie must be less than 4 hours long.",
"category": "Bad Value",
"category": "Bad value",
}
]
}
Expand Down
4 changes: 2 additions & 2 deletions docs/user_guidance/data_contract.md
Original file line number Diff line number Diff line change
Expand Up @@ -417,13 +417,13 @@ When a [Feedback Message](./feedback_messages.md) is produced during the contrac
"error_message": "File Rejected - movie_uuid is blank.",
"error_level": "submission"
},
"Bad Value": {
"Bad value": {
"error_code": "MOVIE_UUID_02",
"error_message": "Record Rejected - movie_uuid has an incorrect data format. movie_uuid={{ movie_uuid }}.",
}
},
"movie_name": {
"Bad Value": {
"Bad value": {
"error_code": "MOVIE_NAME_01",
"error_message": "Warning - movie_name has an incorrect data format. movie_name={{ movie_name }}.",
"is_informational": true
Expand Down
2 changes: 1 addition & 1 deletion docs/user_guidance/install.md
Original file line number Diff line number Diff line change
Expand Up @@ -79,7 +79,7 @@ You can install the DVE package through python package managers such as [pip](ht

Python dependencies are listed in the [`pyproject.toml`](https://github.com/NHSDigital/data-validation-engine/blob/main/pyproject.toml). Many of the dependencies are locked to quite restrictive versions due to complexity of this package. Core packages such as Pydantic, Pyspark and DuckDB are unlikely to receive flexible version constraints as changes in those packages could cause the DVE to malfunction. For less important dependencies, we have tried to make the contraints more flexible. Therefore, we would advise you to install the DVE into a seperate environment rather than trying to integrate it into an existing Python environment.

Once you have installed the DVE you are almost ready to use it. To be able to run the DVE, you will need to choose one of the supported pipeline runners (see Backend implementations here - [DuckDB](user_guidance/implementations/duckdb.md) *or* [Spark](user_guidance/implementations/spark.md)) and you will need to create your own dischema document to configure how the DVE should validate incoming data. You can read more about this in the [Getting Started](getting_started.md) page.
Once you have installed the DVE you are almost ready to use it. To be able to run the DVE, you will need to choose one of the supported pipeline runners (see Backend implementations here - [DuckDB](implementations/duckdb.md) *or* [Spark](implementations/spark.md)) and you will need to create your own dischema document to configure how the DVE should validate incoming data. You can read more about this in the [Getting Started](getting_started.md) page.


## DVE Version Compatability Matrix
Expand Down
45 changes: 23 additions & 22 deletions poetry.lock

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

3 changes: 2 additions & 1 deletion pyproject.toml
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,7 @@ classifiers = [
"Programming Language :: Python :: 3",
"Programming Language :: Python :: 3.10",
"Programming Language :: Python :: 3.11",
"Programming Language :: Python :: 3.12",
"Operating System :: OS Independent",
"Topic :: Software Development :: Libraries",
"Typing :: Typed",
Expand Down Expand Up @@ -106,7 +107,7 @@ mkdocs = "1.6.1"
mkdocstrings = { version = "1.0.3", extras = ["python"] }
griffelib = "2.0.1"
pymdown-extensions = "10.21.3"
zensical = "0.0.31"
zensical = "0.0.46"

[tool.ruff]
line-length = 100
Expand Down
Loading