René's URL Explorer Experiment


Title: Refactor/upgrade pydantic to v2 by georgeRobertson2 · Pull Request #107 · NHSDigital/data-validation-engine · GitHub

Open Graph Title: Refactor/upgrade pydantic to v2 by georgeRobertson2 · Pull Request #107 · NHSDigital/data-validation-engine

X Title: Refactor/upgrade pydantic to v2 by georgeRobertson2 · Pull Request #107 · NHSDigital/data-validation-engine

Description: Pydantic Changes: BaseModel: fields to model_fields dict() to model_dump() pydantic.main.ModelMetaclass removed and replaced with BaseModel Field: regex in pydantic.Field changed to pattern Pydantic Config: Removed Config subclass in Pydantic models and replaced with model_config e.g. model_config = {...} OR ConfigDict() allow_population_by_field_name in Confg renamed to populate_by_name fields in Config (now model_config) depreciated anystr_strip_whitespace in Config renamed to str_strip_whitespace Pydantic Validators: pre arg in @validator now mode. E.g. pre=True -> mode="before" allow_reuse arg in @validator no longer required, recommended to delete and no issue always=True arg in @validator and @root_validator depreciated and you now define within the Field with validate_default arg @root_validator changed to @model_validator kwarg skip_on_failure depreciated and the logic of skip_on_failure=True is now default behaviour added info kwarg to each field validator as that is how you now access the metadata of the model removed values as @field_validator now just has cls, value and ValidationInfo. Reference to other fields will be obtained through ValidationInfo.data @validate_arguments replaced with @validate_call and kwargs replaced with ConfigDict Pydantic Types: get_validators replaced with get_pydantic_core_schema The way you now call the validation functions has changed. You return a core_schema object which either returns a CoreSchema object or a ChainSchema consisting of CoreSchema objects. You can additionally pass in a type handler which makes checks like if value is None: return value irrelevant as the handler performs the check on the datatype based on whether the model allows optional or not. types.ConstrainedStr replaced with types.StringConstraints regex attr in ConstrainedStr replaced with pattern ConstrainedDecimal retired and replaced with condecimal type Optional for types when defined with no default will not allow nulls. So, in cases where it we seemed to be allowing nulls, I have placed a = None default curtail_length kwarg for ConstrainedStr has been depreciated Specifc DVE changes: Auditing: changed the schema generation the BaseAuditor so it can work with FieldInfo object changed the polars schema generation in DDBAuditor to use get_polars_type_from_annotation rather than using PYTHON_TYPE_TO_POLARS_TYPE map as the FieldInfo object needs to be evaluated into a Polars type changed ddb_create_table_sql in DDBAuditor to use get_duckdb_typ_from_annotation as FieldInfo object needs to be evaluated into a Polars type Removed is_complex() as no longer available due to model_fields returning FieldInfo objects. Replaced with a new custom is_field_complex() function Domain Types (custom types): _SimpleRegexValidator base type switched to types.StringConstraints per ConstrainedStr being depreciated NHSNumber: removed parent type as no longer required _warn_for_possible_invalid_number method has had loc argument removed as it can no longer be supplied with the way pydantic v2 validations are written validate method has value to allow str or int type in the arguments as that was the expectation in the tests validate method has had field argument removed as it can no longer be supplied with the way pydantic v2 validations are written added a new method called get_pydantic_core_schema to facilitate new method of creating custom domain type validations. This now configures the validations required to validate the inbound value function wrapper: _validator_kwargs has a number of arguments that have been depreciated in Pydantic v2 (pre, each_item, always, whole, allow_reuse) FieldSpecification: Added a check for Annotated types that now frequently pass due to Pyd types now mapping to Annotated types rather than Pydantic type objects Fixes post 23/05/26: Fixed file transformation error on Scenario: Validate complex nested XML data (duckdb) This was due to an error with checking whether a type was complicated wrote a new is_type_complex wrote a strip optional now check the type rather than the FieldInfo object when generating the template_row(s) in xml reading Change the "missing" check logic in the FeedbackMessage.from_pydantic_error to explicitly check for missing values as missing validation errors in Pydantic only trigger when a kwarg isn't provided

Open Graph Description: Pydantic Changes: BaseModel: fields to model_fields dict() to model_dump() pydantic.main.ModelMetaclass removed and replaced with BaseModel Field: regex in pydantic.Field changed to pattern ...

X Description: Pydantic Changes: BaseModel: fields to model_fields dict() to model_dump() pydantic.main.ModelMetaclass removed and replaced with BaseModel Field: regex in pydantic.Field changed to pattern ...

Opengraph URL: https://github.com/NHSDigital/data-validation-engine/pull/107

X: @github

direct link

Domain: github.com

route-pattern/:user_id/:repository/pull/:id/files(.:format)
route-controllerpull_requests
route-actionfiles
fetch-noncev2:a7d6c561-6e12-5e86-6226-bda02dde64b6
current-catalog-service-hashae870bc5e265a340912cde392f23dad3671a0a881730ffdadd82f2f57d81641b
request-idE420:19C73D:2753709:3589333:6A53A865
html-safe-nonce60a563ee21fa3deca324ea38ef302270b355b9ce649606039320b88c69984b90
visitor-payloadeyJyZWZlcnJlciI6IiIsInJlcXVlc3RfaWQiOiJFNDIwOjE5QzczRDoyNzUzNzA5OjM1ODkzMzM6NkE1M0E4NjUiLCJ2aXNpdG9yX2lkIjoiODE0MTQ0NTgyMzc0MzYzMzUwOSIsInJlZ2lvbl9lZGdlIjoiaWFkIiwicmVnaW9uX3JlbmRlciI6ImlhZCJ9
visitor-hmac8c7864c4b3403a8b80d105260d392bf073c7f30c52a669b62d2cba23ee7ebfa0
hovercard-subject-tagpull_request:3749038444
github-keyboard-shortcutsrepository,pull-request-list,pull-request-conversation,pull-request-files-changed,copilot
google-site-verificationApib7-x98H0j5cPqHWwSMm6dNU4GmODRoqxLiDzdx9I
octolytics-urlhttps://collector.github.com/github/collect
analytics-location///pull_requests/show/files
fb:app_id1401488693436528
apple-itunes-appapp-id=1477376905, app-argument=https://github.com/NHSDigital/data-validation-engine/pull/107/files
twitter:imagehttps://avatars.githubusercontent.com/u/41301972?s=400&v=4
twitter:cardsummary_large_image
og:imagehttps://avatars.githubusercontent.com/u/41301972?s=400&v=4
og:image:altPydantic Changes: BaseModel: fields to model_fields dict() to model_dump() pydantic.main.ModelMetaclass removed and replaced with BaseModel Field: regex in pydantic.Field changed to pattern ...
og:site_nameGitHub
og:typeobject
hostnamegithub.com
expected-hostnamegithub.com
Noneb9a586c06a05a7a86fc7e3f4dbd03e42f6869085879aa184aa6369456dbd50fb
turbo-cache-controlno-preview
diff-viewunified
go-importgithub.com/NHSDigital/data-validation-engine git https://github.com/NHSDigital/data-validation-engine.git
octolytics-dimension-user_id6683590
octolytics-dimension-user_loginNHSDigital
octolytics-dimension-repository_id1071433568
octolytics-dimension-repository_nwoNHSDigital/data-validation-engine
octolytics-dimension-repository_publictrue
octolytics-dimension-repository_is_forkfalse
octolytics-dimension-repository_network_root_id1071433568
octolytics-dimension-repository_network_root_nwoNHSDigital/data-validation-engine
turbo-body-classeslogged-out env-production page-responsive full-width
disable-turbotrue
browser-stats-urlhttps://api.github.com/_private/browser/stats
browser-errors-urlhttps://api.github.com/_private/browser/errors
release07a982c1d40157c619b364352b704c3ce66bb332
ui-targetcanary-1
theme-color#1e2327
color-schemelight dark

Links:

Skip to contenthttps://github.com/NHSDigital/data-validation-engine/pull/107/files#start-of-content
https://github.com/
Sign in https://github.com/login?return_to=https%3A%2F%2Fgithub.com%2FNHSDigital%2Fdata-validation-engine%2Fpull%2F107%2Ffiles
GitHub CopilotWrite better code with AIhttps://github.com/features/copilot
GitHub Copilot appDirect agents from issue to mergehttps://github.com/features/ai/github-app
MCP RegistryNewIntegrate external toolshttps://github.com/mcp
ActionsAutomate any workflowhttps://github.com/features/actions
CodespacesInstant dev environmentshttps://github.com/features/codespaces
IssuesPlan and track workhttps://github.com/features/issues
Code ReviewManage code changeshttps://github.com/features/code-review
GitHub Advanced SecurityFind and fix vulnerabilitieshttps://github.com/security/advanced-security
Code securitySecure your code as you buildhttps://github.com/security/advanced-security/code-security
Secret protectionStop leaks before they starthttps://github.com/security/advanced-security/secret-protection
Why GitHubhttps://github.com/why-github
Documentationhttps://docs.github.com
Bloghttps://github.blog
Changeloghttps://github.blog/changelog
Marketplacehttps://github.com/marketplace
View all featureshttps://github.com/features
Enterpriseshttps://github.com/enterprise
Small and medium teamshttps://github.com/team
Startupshttps://github.com/enterprise/startups
Nonprofitshttps://github.com/solutions/industry/nonprofits
App Modernizationhttps://github.com/solutions/use-case/app-modernization
DevSecOpshttps://github.com/solutions/use-case/devsecops
DevOpshttps://github.com/solutions/use-case/devops
CI/CDhttps://github.com/solutions/use-case/ci-cd
View all use caseshttps://github.com/solutions/use-case
Healthcarehttps://github.com/solutions/industry/healthcare
Financial serviceshttps://github.com/solutions/industry/financial-services
Manufacturinghttps://github.com/solutions/industry/manufacturing
Governmenthttps://github.com/solutions/industry/government
View all industrieshttps://github.com/solutions/industry
View all solutionshttps://github.com/solutions
AIhttps://github.com/resources/articles?topic=ai
Software Developmenthttps://github.com/resources/articles?topic=software-development
DevOpshttps://github.com/resources/articles?topic=devops
Securityhttps://github.com/resources/articles?topic=security
View all topicshttps://github.com/resources/articles
Customer storieshttps://github.com/customer-stories
Events & webinarshttps://github.com/resources/events
Ebooks & reportshttps://github.com/resources/whitepapers
Business insightshttps://github.com/solutions/executive-insights
GitHub Skillshttps://skills.github.com
Documentationhttps://docs.github.com
Customer supporthttps://support.github.com
Community forumhttps://github.com/orgs/community/discussions
Trust centerhttps://github.com/trust-center
Partnershttps://github.com/partners
View all resourceshttps://github.com/resources
GitHub SponsorsFund open source developershttps://github.com/open-source/sponsors
Security Labhttps://securitylab.github.com
Maintainer Communityhttps://maintainers.github.com
Acceleratorhttps://github.com/open-source/accelerator
GitHub Starshttps://stars.github.com
Archive Programhttps://archiveprogram.github.com
Topicshttps://github.com/topics
Trendinghttps://github.com/trending
Collectionshttps://github.com/collections
Enterprise platformAI-powered developer platformhttps://github.com/enterprise
GitHub Advanced SecurityEnterprise-grade security featureshttps://github.com/security/advanced-security
Copilot for BusinessEnterprise-grade AI featureshttps://github.com/features/copilot/copilot-business
Premium SupportEnterprise-grade 24/7 supporthttps://github.com/enterprise/premium-support
Pricinghttps://github.com/pricing
Search syntax tipshttps://docs.github.com/search-github/github-code-search/understanding-github-code-search-syntax
documentationhttps://docs.github.com/search-github/github-code-search/understanding-github-code-search-syntax
Sign in https://github.com/login?return_to=https%3A%2F%2Fgithub.com%2FNHSDigital%2Fdata-validation-engine%2Fpull%2F107%2Ffiles
Sign up https://github.com/signup?ref_cta=Sign+up&ref_loc=header+logged+out&ref_page=%2F%3Cuser-name%3E%2F%3Crepo-name%3E%2Fpull_requests%2Fshow%2Ffiles&source=header-repo&source_repo=NHSDigital%2Fdata-validation-engine
Reloadhttps://github.com/NHSDigital/data-validation-engine/pull/107/files
Reloadhttps://github.com/NHSDigital/data-validation-engine/pull/107/files
Reloadhttps://github.com/NHSDigital/data-validation-engine/pull/107/files
Please reload this pagehttps://github.com/NHSDigital/data-validation-engine/pull/107/files
NHSDigital https://github.com/NHSDigital
data-validation-enginehttps://github.com/NHSDigital/data-validation-engine
Notifications https://github.com/login?return_to=%2FNHSDigital%2Fdata-validation-engine
Fork 4 https://github.com/login?return_to=%2FNHSDigital%2Fdata-validation-engine
Star 5 https://github.com/login?return_to=%2FNHSDigital%2Fdata-validation-engine
Code https://github.com/NHSDigital/data-validation-engine
Issues 0 https://github.com/NHSDigital/data-validation-engine/issues
Pull requests 4 https://github.com/NHSDigital/data-validation-engine/pulls
Actions https://github.com/NHSDigital/data-validation-engine/actions
Projects https://github.com/NHSDigital/data-validation-engine/projects
Security and quality 0 https://github.com/NHSDigital/data-validation-engine/security
Insights https://github.com/NHSDigital/data-validation-engine/pulse
Code https://github.com/NHSDigital/data-validation-engine
Issues https://github.com/NHSDigital/data-validation-engine/issues
Pull requests https://github.com/NHSDigital/data-validation-engine/pulls
Actions https://github.com/NHSDigital/data-validation-engine/actions
Projects https://github.com/NHSDigital/data-validation-engine/projects
Security and quality https://github.com/NHSDigital/data-validation-engine/security
Insights https://github.com/NHSDigital/data-validation-engine/pulse
Sign up for GitHub https://github.com/signup?return_to=%2FNHSDigital%2Fdata-validation-engine%2Fissues%2Fnew%2Fchoose
terms of servicehttps://docs.github.com/terms
privacy statementhttps://docs.github.com/privacy
Sign inhttps://github.com/login?return_to=%2FNHSDigital%2Fdata-validation-engine%2Fissues%2Fnew%2Fchoose
georgeRobertsonhttps://github.com/georgeRobertson
NHSDigital:release_v09https://github.com/NHSDigital/data-validation-engine/tree/release_v09
georgeRobertson2:refactor/upgrade_pydantic_to_v2https://github.com/georgeRobertson2/data-validation-engine/tree/refactor/upgrade_pydantic_to_v2
Conversation 1 https://github.com/NHSDigital/data-validation-engine/pull/107
Commits 15 https://github.com/NHSDigital/data-validation-engine/pull/107/commits
Checks 4 https://github.com/NHSDigital/data-validation-engine/pull/107/checks
Files changed https://github.com/NHSDigital/data-validation-engine/pull/107/files
Please reload this pagehttps://github.com/NHSDigital/data-validation-engine/pull/107/files
Refactor/upgrade pydantic to v2 https://github.com/NHSDigital/data-validation-engine/pull/107/files#top
Show all changes 15 commits https://github.com/NHSDigital/data-validation-engine/pull/107/files
10d5dc4 build: allow python 3.12 install with DVE georgeRobertson2 Apr 25, 2026 https://github.com/NHSDigital/data-validation-engine/pull/107/commits/10d5dc4c6befb4264b52c7e83f43fefe01d0508a
731bdbe style: upgrade pylint and dependencies and fix linting following upgrade georgeRobertson2 Apr 25, 2026 https://github.com/NHSDigital/data-validation-engine/pull/107/commits/731bdbec922ff66f798e717f08d8ae14a4c2a356
91f3efb build: upgrade pydantic from 1.10.16 -> 1.10.19 georgeRobertson2 Apr 26, 2026 https://github.com/NHSDigital/data-validation-engine/pull/107/commits/91f3efb2de3365cbe8f48f918fb5e96536a7cc0d
a698de2 refactor: remove previously missed typing fix no longer needed georgeRobertson2 Apr 26, 2026 https://github.com/NHSDigital/data-validation-engine/pull/107/commits/a698de29d93a290c357e3d3ff1426932fedcfcb5
44d73c7 build: lock all dependency versions georgeRobertson2 Apr 26, 2026 https://github.com/NHSDigital/data-validation-engine/pull/107/commits/44d73c79e87520e5aee8b21829afb4215196da6b
afe4320 build: upgrade moto to a supported python 3.12 version georgeRobertson2 Apr 26, 2026 https://github.com/NHSDigital/data-validation-engine/pull/107/commits/afe4320e9749dc25c106c473cc80e92039b86ba8
0bf3bd0 build: upgrade isort to version supported by python 3.12 georgeRobertson2 Apr 26, 2026 https://github.com/NHSDigital/data-validation-engine/pull/107/commits/0bf3bd077cb36cf18d73847949d1fb7d608b0858
0f3af96 build: upgrade mypy to version supporting python 3.12 georgeRobertson2 Apr 26, 2026 https://github.com/NHSDigital/data-validation-engine/pull/107/commits/0f3af960a0d3a69b5bb5c20d53442836dd93bc1a
e6eaa18 build: update xlsx2csv to supported python 3.12 version and removed f… georgeRobertson2 Apr 26, 2026 https://github.com/NHSDigital/data-validation-engine/pull/107/commits/e6eaa18e30f1dbe3464ca5bef567742d48b3f62a
3b5cba5 Merge branch 'main' of https://github.com/NHSDigital/data-validation-… georgeRobertson2 May 9, 2026 https://github.com/NHSDigital/data-validation-engine/pull/107/commits/3b5cba5150072b45a2c84749138a3ea6ccf45524
095a274 Merge branch 'release_v08' of https://github.com/NHSDigital/data-vali… georgeRobertson2 May 11, 2026 https://github.com/NHSDigital/data-validation-engine/pull/107/commits/095a27410aabef5c850fc0818143e3921949bef0
8663807 build: uplift pydantic to v2 georgeRobertson2 May 26, 2026 https://github.com/NHSDigital/data-validation-engine/pull/107/commits/866380717f49b448e0417428d7c458c354e1bae0
94026ae style: formatting, linting fixes and additional testing on audit record georgeRobertson2 May 27, 2026 https://github.com/NHSDigital/data-validation-engine/pull/107/commits/94026ae6fc7c60b9d1228f3020267bfd1ad9ef5a
8ee75ea build: update lock georgeRobertson2 May 27, 2026 https://github.com/NHSDigital/data-validation-engine/pull/107/commits/8ee75ea8e7dc259a16ab54c71cec8a7d8caaef07
c6db91b style: linting fixes georgeRobertson2 May 27, 2026 https://github.com/NHSDigital/data-validation-engine/pull/107/commits/c6db91b90b92596a5db7c66181c31c28ab90ca98
Clear filters https://github.com/NHSDigital/data-validation-engine/pull/107/files
Please reload this pagehttps://github.com/NHSDigital/data-validation-engine/pull/107/files
Please reload this pagehttps://github.com/NHSDigital/data-validation-engine/pull/107/files
poetry.lock https://github.com/NHSDigital/data-validation-engine/pull/107/files#diff-f53a023eedfa3fbf2925ec7dc76eecdc954ea94b7e47065393dbad519613dc89
pyproject.toml https://github.com/NHSDigital/data-validation-engine/pull/107/files#diff-50c86b7ed8ac2cf95bd48334961bf0530cdc77b5a56f852c5c61b89d735fd711
auditing.py https://github.com/NHSDigital/data-validation-engine/pull/107/files#diff-e439fa38bc4344d6ec26e302ebc43d1d1b1169e40ea18ce661a2622ad96e0a62
auditing.py https://github.com/NHSDigital/data-validation-engine/pull/107/files#diff-5aa16c4edb2806771b28c307e23e111d23bb03826f7fbfd32e47958c448a4366
contract.py https://github.com/NHSDigital/data-validation-engine/pull/107/files#diff-0977b22e5cde9ca871c0b467bfd32853aa4833c96eeacfdafa51bad7e7318c80
duckdb_helpers.py https://github.com/NHSDigital/data-validation-engine/pull/107/files#diff-59e88ef19a46cb4c1be29c6fc6ba772f36aea7f1cfea15831032f4bebd1fd0b2
csv.py https://github.com/NHSDigital/data-validation-engine/pull/107/files#diff-ddafed2ec1e4408a77a6a05b812e87d55caa3cd679e11a16726228b7fafb4b8a
json.py https://github.com/NHSDigital/data-validation-engine/pull/107/files#diff-2ac15521e41c7fde9aa0fb4e77ff27582293bd73ccea7ec5bcf74c71d21d142c
xml.py https://github.com/NHSDigital/data-validation-engine/pull/107/files#diff-232ec948bd57a34a1919db2a083193e4cd814a5646b222dbdfb2c4dcdfda708a
auditing.py https://github.com/NHSDigital/data-validation-engine/pull/107/files#diff-d8f18161c0d00c6f24b0559ab04b2458b50dd41476cee8ef88a27115172a195a
backend.py https://github.com/NHSDigital/data-validation-engine/pull/107/files#diff-90c9b50fd5ee1afa680389fc5ee7595a3a87ff5a73210bb1b71c2428ac361187
spark_helpers.py https://github.com/NHSDigital/data-validation-engine/pull/107/files#diff-22d9bcc445dd5ba5c657d835ad84f4232a39c2a08c0fb0f38f2efb53deb9851c
utilities.py https://github.com/NHSDigital/data-validation-engine/pull/107/files#diff-3178259ca391f66e067d69ac3038ebf5effbe4651bef66ab7fd974c05a81be43
contract.py https://github.com/NHSDigital/data-validation-engine/pull/107/files#diff-ae78c5b4838d2c4b2848edbd304a81ffcf1be6de9b1dfe87c5b3dd51c9fc0d28
reporting.py https://github.com/NHSDigital/data-validation-engine/pull/107/files#diff-14f06248ee80f3638e577f9f79d77b345c9f9d9a9b11bbd7ff71c7e8ed78c8de
rules.py https://github.com/NHSDigital/data-validation-engine/pull/107/files#diff-6e2cb0979eaea91147245b55e7c3c8e7772caf9f68118074015581efef9857b2
csv.py https://github.com/NHSDigital/data-validation-engine/pull/107/files#diff-72196554816b6b1d40224a7304d043cccab32b020c18171bac253219c1fc1b89
utilities.py https://github.com/NHSDigital/data-validation-engine/pull/107/files#diff-5cb4fa2e43862a9f6217368b4e1906e8ded2f8ce54961c504afdc5d2ecaefd25
xml.py https://github.com/NHSDigital/data-validation-engine/pull/107/files#diff-f8f0c6c4705fb80a333b26435028fd130688fecb5c998d6ecde8ea261a546a12
utilities.py https://github.com/NHSDigital/data-validation-engine/pull/107/files#diff-22932f29eaab83e9bbfce442a08e267a0a4299c39249c1b99545305a418ed4f4
__init__.py https://github.com/NHSDigital/data-validation-engine/pull/107/files#diff-22ea1cbb964b5940f5e988740c9a8d085e0ef09a47e5a1fb3e4916132b44691b
steps.py https://github.com/NHSDigital/data-validation-engine/pull/107/files#diff-e05a6bb07b9600c608596166e4bdee8323571ece07c1662009053ad89278ef21
engine.py https://github.com/NHSDigital/data-validation-engine/pull/107/files#diff-fe0c2bfc7af0b670c78c282a8ab707841cc19fde13c4d0d9380c6c5608be42c3
loggers.py https://github.com/NHSDigital/data-validation-engine/pull/107/files#diff-9845df22378b5dc5f5a2e171eafc8fe4b177b1cd1b9d902c4c86b4a5479beee9
message.py https://github.com/NHSDigital/data-validation-engine/pull/107/files#diff-26c99db8edc6c1ad4ce6caef22c65665c5b93da40ac6c77c76900b6154da624f
models.py https://github.com/NHSDigital/data-validation-engine/pull/107/files#diff-28f3c50a693ab48daa2d49ba44c732b1497af2090b2c5249ed3fb5eca93b2088
validation.py https://github.com/NHSDigital/data-validation-engine/pull/107/files#diff-78c76e125d9640b1524faa06f9729e88ad7939e908454d78f4c224b334eb931b
domain_types.py https://github.com/NHSDigital/data-validation-engine/pull/107/files#diff-2f7d96dcb40c049eb1b512345f8637bae833317ac0301a5046098f9185000d4d
function_library.py https://github.com/NHSDigital/data-validation-engine/pull/107/files#diff-866b130e2ef532ed293307fd9d8a627a0cb0fe9b102627b1ebfaec088fa60452
function_wrapper.py https://github.com/NHSDigital/data-validation-engine/pull/107/files#diff-6d9157a202432bd667317b9bfa6d179c2ece0e0db205fbb814a57455084cd50f
model_generator.py https://github.com/NHSDigital/data-validation-engine/pull/107/files#diff-9d488c136a5f113647a66f73e18299eb480c6943244bf0d5d53fc4f768beaf92
models.py https://github.com/NHSDigital/data-validation-engine/pull/107/files#diff-18ec833519798ddd45a91b89153eb337a7827587cafe4a932fd31a037a35ecf7
file.py https://github.com/NHSDigital/data-validation-engine/pull/107/files#diff-a18710c4722d1bc6fecdf4dfaa6818940e86f6e292b5c54b69a60e58d7d6446d
pipeline.py https://github.com/NHSDigital/data-validation-engine/pull/107/files#diff-658c9c3520fca3a246dc379053c05618f18b4322ad557d179f8de0f617d53730
utils.py https://github.com/NHSDigital/data-validation-engine/pull/107/files#diff-a98d63482eb10af3f8b03e2109da072eeeb33dfdb38500cd712be02ca8f6a74b
steps_post_pipeline.py https://github.com/NHSDigital/data-validation-engine/pull/107/files#diff-bb44cdf56dd78724f5123bd93358ff980be88fc127e6e3078c7b8aef03eab5a6
fixtures.py https://github.com/NHSDigital/data-validation-engine/pull/107/files#diff-5dbc88d6e5c3615caf10e32a9d6fc6ff683f5b5814948928cb84c3ab91c038b6
test_audit_ddb.py https://github.com/NHSDigital/data-validation-engine/pull/107/files#diff-de6441b49d548f4cd8e84dc17f2291bd54558b0e6a3ec902f43360a30f28f0d9
test_data_contract.py https://github.com/NHSDigital/data-validation-engine/pull/107/files#diff-70c5199f1e07b9ed4bc51ac7c7b84371a8dad1f1a1f7f3d7e775215c30c36d0b
test_duckdb_helpers.py https://github.com/NHSDigital/data-validation-engine/pull/107/files#diff-907970f96201ff17c2393ece3d8b78ef53125444edfa00985fba747d3ebcf986
test_rules.py https://github.com/NHSDigital/data-validation-engine/pull/107/files#diff-aa5fef93cc7f6a983355a20f55bbd8c1c72321c31ee77ca4af521481362027dc
test_audit_spark.py https://github.com/NHSDigital/data-validation-engine/pull/107/files#diff-66dc5789df97acd07dcd51b398b285631a9b2da9251625f57ee1bbe8e2212051
test_rules.py https://github.com/NHSDigital/data-validation-engine/pull/107/files#diff-f303d4f4713e3e6d907882b735a8ff1172bd8303bc9080e844c350d494f84392
test_spark_helpers.py https://github.com/NHSDigital/data-validation-engine/pull/107/files#diff-1208ccd92920eccb66258336d4aabdff62239dc17f7a0d39ff810f62d99b5f7c
test_csv.py https://github.com/NHSDigital/data-validation-engine/pull/107/files#diff-e2856ee98ea85d355328f30ca0a03345d0bc7471559dff2060337a4d96b9c3f1
test_ddb_csv.py https://github.com/NHSDigital/data-validation-engine/pull/107/files#diff-e994328aa3910290cfe004b4a79ccc1742a6333cd1150dbb8a834275e06f607e
test_ddb_json.py https://github.com/NHSDigital/data-validation-engine/pull/107/files#diff-e6a42ddc315f8f3b7b59f8df85894afb1cef4b1c539578640891ae6d4269520c
test_spark_json.py https://github.com/NHSDigital/data-validation-engine/pull/107/files#diff-cc01c8c05554574c68b0a1a53afcea225c9a1349a9f576957d0a9e6db7236f7d
test_utilities.py https://github.com/NHSDigital/data-validation-engine/pull/107/files#diff-9142564edadd23978020b48f16dc48a5795863442e731449f20bd61c12d3ea3c
test_message.py https://github.com/NHSDigital/data-validation-engine/pull/107/files#diff-f4aa3628dc7f65e1df5643bd947c387da4faef787b5fd55691b85a701d2053ca
test_models.py https://github.com/NHSDigital/data-validation-engine/pull/107/files#diff-d7f7ed2ba6e6095b0ca09ffb41469e1adc006c9e0613492280c3df04a2e5379a
test_domain_types.py https://github.com/NHSDigital/data-validation-engine/pull/107/files#diff-a13c3c7836de07af34a44480585f54eeac588b2eba6833d801fb75bc636eda83
test_spark_pipeline.py https://github.com/NHSDigital/data-validation-engine/pull/107/files#diff-7b236b38b089ebdcfb378a5d93f7f6f1cd26fc560f1208832cb29dd6985901ef
poetry.lockhttps://github.com/NHSDigital/data-validation-engine/pull/107/files#diff-f53a023eedfa3fbf2925ec7dc76eecdc954ea94b7e47065393dbad519613dc89
View file https://github.com/georgeRobertson2/data-validation-engine/blob/c6db91b90b92596a5db7c66181c31c28ab90ca98/poetry.lock
Open in desktop https://desktop.github.com
Please reload this pagehttps://github.com/NHSDigital/data-validation-engine/pull/107/files
pyproject.tomlhttps://github.com/NHSDigital/data-validation-engine/pull/107/files#diff-50c86b7ed8ac2cf95bd48334961bf0530cdc77b5a56f852c5c61b89d735fd711
View file https://github.com/georgeRobertson2/data-validation-engine/blob/c6db91b90b92596a5db7c66181c31c28ab90ca98/pyproject.toml
Open in desktop https://desktop.github.com
https://github.co/hiddenchars
https://github.com/NHSDigital/data-validation-engine/pull/107/{{ revealButtonHref }}
https://github.com/NHSDigital/data-validation-engine/pull/107/files#diff-50c86b7ed8ac2cf95bd48334961bf0530cdc77b5a56f852c5c61b89d735fd711
https://github.com/NHSDigital/data-validation-engine/pull/107/files#diff-50c86b7ed8ac2cf95bd48334961bf0530cdc77b5a56f852c5c61b89d735fd711
https://github.com/NHSDigital/data-validation-engine/pull/107/files#diff-50c86b7ed8ac2cf95bd48334961bf0530cdc77b5a56f852c5c61b89d735fd711
https://github.com/NHSDigital/data-validation-engine/pull/107/files#diff-50c86b7ed8ac2cf95bd48334961bf0530cdc77b5a56f852c5c61b89d735fd711
src/dve/core_engine/backends/base/auditing.pyhttps://github.com/NHSDigital/data-validation-engine/pull/107/files#diff-e439fa38bc4344d6ec26e302ebc43d1d1b1169e40ea18ce661a2622ad96e0a62
View file https://github.com/georgeRobertson2/data-validation-engine/blob/c6db91b90b92596a5db7c66181c31c28ab90ca98/src/dve/core_engine/backends/base/auditing.py
Open in desktop https://desktop.github.com
https://github.co/hiddenchars
https://github.com/NHSDigital/data-validation-engine/pull/107/{{ revealButtonHref }}
https://github.com/NHSDigital/data-validation-engine/pull/107/files#diff-e439fa38bc4344d6ec26e302ebc43d1d1b1169e40ea18ce661a2622ad96e0a62
https://github.com/NHSDigital/data-validation-engine/pull/107/files#diff-e439fa38bc4344d6ec26e302ebc43d1d1b1169e40ea18ce661a2622ad96e0a62
https://github.com/NHSDigital/data-validation-engine/pull/107/files#diff-e439fa38bc4344d6ec26e302ebc43d1d1b1169e40ea18ce661a2622ad96e0a62
https://github.com/NHSDigital/data-validation-engine/pull/107/files#diff-e439fa38bc4344d6ec26e302ebc43d1d1b1169e40ea18ce661a2622ad96e0a62
https://github.com/NHSDigital/data-validation-engine/pull/107/files#diff-e439fa38bc4344d6ec26e302ebc43d1d1b1169e40ea18ce661a2622ad96e0a62
https://github.com/NHSDigital/data-validation-engine/pull/107/files#diff-e439fa38bc4344d6ec26e302ebc43d1d1b1169e40ea18ce661a2622ad96e0a62
https://github.com/NHSDigital/data-validation-engine/pull/107/files#diff-e439fa38bc4344d6ec26e302ebc43d1d1b1169e40ea18ce661a2622ad96e0a62
https://github.com/NHSDigital/data-validation-engine/pull/107/files#diff-e439fa38bc4344d6ec26e302ebc43d1d1b1169e40ea18ce661a2622ad96e0a62
https://github.com/NHSDigital/data-validation-engine/pull/107/files#diff-e439fa38bc4344d6ec26e302ebc43d1d1b1169e40ea18ce661a2622ad96e0a62
https://github.com/NHSDigital/data-validation-engine/pull/107/files#diff-e439fa38bc4344d6ec26e302ebc43d1d1b1169e40ea18ce661a2622ad96e0a62
src/dve/core_engine/backends/implementations/duckdb/auditing.pyhttps://github.com/NHSDigital/data-validation-engine/pull/107/files#diff-5aa16c4edb2806771b28c307e23e111d23bb03826f7fbfd32e47958c448a4366
View file https://github.com/georgeRobertson2/data-validation-engine/blob/c6db91b90b92596a5db7c66181c31c28ab90ca98/src/dve/core_engine/backends/implementations/duckdb/auditing.py
Open in desktop https://desktop.github.com
https://github.co/hiddenchars
https://github.com/NHSDigital/data-validation-engine/pull/107/{{ revealButtonHref }}
https://github.com/NHSDigital/data-validation-engine/pull/107/files#diff-5aa16c4edb2806771b28c307e23e111d23bb03826f7fbfd32e47958c448a4366
https://github.com/NHSDigital/data-validation-engine/pull/107/files#diff-5aa16c4edb2806771b28c307e23e111d23bb03826f7fbfd32e47958c448a4366
https://github.com/NHSDigital/data-validation-engine/pull/107/files#diff-5aa16c4edb2806771b28c307e23e111d23bb03826f7fbfd32e47958c448a4366
https://github.com/NHSDigital/data-validation-engine/pull/107/files#diff-5aa16c4edb2806771b28c307e23e111d23bb03826f7fbfd32e47958c448a4366
https://github.com/NHSDigital/data-validation-engine/pull/107/files#diff-5aa16c4edb2806771b28c307e23e111d23bb03826f7fbfd32e47958c448a4366
https://github.com/NHSDigital/data-validation-engine/pull/107/files#diff-5aa16c4edb2806771b28c307e23e111d23bb03826f7fbfd32e47958c448a4366
src/dve/core_engine/backends/implementations/duckdb/contract.pyhttps://github.com/NHSDigital/data-validation-engine/pull/107/files#diff-0977b22e5cde9ca871c0b467bfd32853aa4833c96eeacfdafa51bad7e7318c80
View file https://github.com/georgeRobertson2/data-validation-engine/blob/c6db91b90b92596a5db7c66181c31c28ab90ca98/src/dve/core_engine/backends/implementations/duckdb/contract.py
Open in desktop https://desktop.github.com
https://github.co/hiddenchars
https://github.com/NHSDigital/data-validation-engine/pull/107/{{ revealButtonHref }}
https://github.com/NHSDigital/data-validation-engine/pull/107/files#diff-0977b22e5cde9ca871c0b467bfd32853aa4833c96eeacfdafa51bad7e7318c80
https://github.com/NHSDigital/data-validation-engine/pull/107/files#diff-0977b22e5cde9ca871c0b467bfd32853aa4833c96eeacfdafa51bad7e7318c80
https://github.com/NHSDigital/data-validation-engine/pull/107/files#diff-0977b22e5cde9ca871c0b467bfd32853aa4833c96eeacfdafa51bad7e7318c80
https://github.com/NHSDigital/data-validation-engine/pull/107/files#diff-0977b22e5cde9ca871c0b467bfd32853aa4833c96eeacfdafa51bad7e7318c80
https://github.com/NHSDigital/data-validation-engine/pull/107/files#diff-0977b22e5cde9ca871c0b467bfd32853aa4833c96eeacfdafa51bad7e7318c80
https://github.com/NHSDigital/data-validation-engine/pull/107/files#diff-0977b22e5cde9ca871c0b467bfd32853aa4833c96eeacfdafa51bad7e7318c80
src/dve/core_engine/backends/implementations/duckdb/duckdb_helpers.pyhttps://github.com/NHSDigital/data-validation-engine/pull/107/files#diff-59e88ef19a46cb4c1be29c6fc6ba772f36aea7f1cfea15831032f4bebd1fd0b2
View file https://github.com/georgeRobertson2/data-validation-engine/blob/c6db91b90b92596a5db7c66181c31c28ab90ca98/src/dve/core_engine/backends/implementations/duckdb/duckdb_helpers.py
Open in desktop https://desktop.github.com
https://github.co/hiddenchars
https://github.com/NHSDigital/data-validation-engine/pull/107/{{ revealButtonHref }}
https://github.com/NHSDigital/data-validation-engine/pull/107/files#diff-59e88ef19a46cb4c1be29c6fc6ba772f36aea7f1cfea15831032f4bebd1fd0b2
https://github.com/NHSDigital/data-validation-engine/pull/107/files#diff-59e88ef19a46cb4c1be29c6fc6ba772f36aea7f1cfea15831032f4bebd1fd0b2
https://github.com/NHSDigital/data-validation-engine/pull/107/files#diff-59e88ef19a46cb4c1be29c6fc6ba772f36aea7f1cfea15831032f4bebd1fd0b2
https://github.com/NHSDigital/data-validation-engine/pull/107/files#diff-59e88ef19a46cb4c1be29c6fc6ba772f36aea7f1cfea15831032f4bebd1fd0b2
https://github.com/NHSDigital/data-validation-engine/pull/107/files#diff-59e88ef19a46cb4c1be29c6fc6ba772f36aea7f1cfea15831032f4bebd1fd0b2
src/dve/core_engine/backends/implementations/duckdb/readers/csv.pyhttps://github.com/NHSDigital/data-validation-engine/pull/107/files#diff-ddafed2ec1e4408a77a6a05b812e87d55caa3cd679e11a16726228b7fafb4b8a
View file https://github.com/georgeRobertson2/data-validation-engine/blob/c6db91b90b92596a5db7c66181c31c28ab90ca98/src/dve/core_engine/backends/implementations/duckdb/readers/csv.py
Open in desktop https://desktop.github.com
https://github.co/hiddenchars
https://github.com/NHSDigital/data-validation-engine/pull/107/{{ revealButtonHref }}
https://github.com/NHSDigital/data-validation-engine/pull/107/files#diff-ddafed2ec1e4408a77a6a05b812e87d55caa3cd679e11a16726228b7fafb4b8a
https://github.com/NHSDigital/data-validation-engine/pull/107/files#diff-ddafed2ec1e4408a77a6a05b812e87d55caa3cd679e11a16726228b7fafb4b8a
https://github.com/NHSDigital/data-validation-engine/pull/107/files#diff-ddafed2ec1e4408a77a6a05b812e87d55caa3cd679e11a16726228b7fafb4b8a
https://github.com/NHSDigital/data-validation-engine/pull/107/files#diff-ddafed2ec1e4408a77a6a05b812e87d55caa3cd679e11a16726228b7fafb4b8a
src/dve/core_engine/backends/implementations/duckdb/readers/json.pyhttps://github.com/NHSDigital/data-validation-engine/pull/107/files#diff-2ac15521e41c7fde9aa0fb4e77ff27582293bd73ccea7ec5bcf74c71d21d142c
View file https://github.com/georgeRobertson2/data-validation-engine/blob/c6db91b90b92596a5db7c66181c31c28ab90ca98/src/dve/core_engine/backends/implementations/duckdb/readers/json.py
Open in desktop https://desktop.github.com
https://github.co/hiddenchars
https://github.com/NHSDigital/data-validation-engine/pull/107/{{ revealButtonHref }}
https://github.com/NHSDigital/data-validation-engine/pull/107/files#diff-2ac15521e41c7fde9aa0fb4e77ff27582293bd73ccea7ec5bcf74c71d21d142c
https://github.com/NHSDigital/data-validation-engine/pull/107/files#diff-2ac15521e41c7fde9aa0fb4e77ff27582293bd73ccea7ec5bcf74c71d21d142c
src/dve/core_engine/backends/implementations/duckdb/readers/xml.pyhttps://github.com/NHSDigital/data-validation-engine/pull/107/files#diff-232ec948bd57a34a1919db2a083193e4cd814a5646b222dbdfb2c4dcdfda708a
View file https://github.com/georgeRobertson2/data-validation-engine/blob/c6db91b90b92596a5db7c66181c31c28ab90ca98/src/dve/core_engine/backends/implementations/duckdb/readers/xml.py
Open in desktop https://desktop.github.com
https://github.co/hiddenchars
https://github.com/NHSDigital/data-validation-engine/pull/107/{{ revealButtonHref }}
https://github.com/NHSDigital/data-validation-engine/pull/107/files#diff-232ec948bd57a34a1919db2a083193e4cd814a5646b222dbdfb2c4dcdfda708a
https://github.com/NHSDigital/data-validation-engine/pull/107/files#diff-232ec948bd57a34a1919db2a083193e4cd814a5646b222dbdfb2c4dcdfda708a
src/dve/core_engine/backends/implementations/spark/auditing.pyhttps://github.com/NHSDigital/data-validation-engine/pull/107/files#diff-d8f18161c0d00c6f24b0559ab04b2458b50dd41476cee8ef88a27115172a195a
View file https://github.com/georgeRobertson2/data-validation-engine/blob/c6db91b90b92596a5db7c66181c31c28ab90ca98/src/dve/core_engine/backends/implementations/spark/auditing.py
Open in desktop https://desktop.github.com
https://github.co/hiddenchars
https://github.com/NHSDigital/data-validation-engine/pull/107/{{ revealButtonHref }}
https://github.com/NHSDigital/data-validation-engine/pull/107/files#diff-d8f18161c0d00c6f24b0559ab04b2458b50dd41476cee8ef88a27115172a195a
https://github.com/NHSDigital/data-validation-engine/pull/107/files#diff-d8f18161c0d00c6f24b0559ab04b2458b50dd41476cee8ef88a27115172a195a
src/dve/core_engine/backends/implementations/spark/backend.pyhttps://github.com/NHSDigital/data-validation-engine/pull/107/files#diff-90c9b50fd5ee1afa680389fc5ee7595a3a87ff5a73210bb1b71c2428ac361187
View file https://github.com/georgeRobertson2/data-validation-engine/blob/c6db91b90b92596a5db7c66181c31c28ab90ca98/src/dve/core_engine/backends/implementations/spark/backend.py
Open in desktop https://desktop.github.com
https://github.co/hiddenchars
https://github.com/NHSDigital/data-validation-engine/pull/107/{{ revealButtonHref }}
https://github.com/NHSDigital/data-validation-engine/pull/107/files#diff-90c9b50fd5ee1afa680389fc5ee7595a3a87ff5a73210bb1b71c2428ac361187
src/dve/core_engine/backends/implementations/spark/spark_helpers.pyhttps://github.com/NHSDigital/data-validation-engine/pull/107/files#diff-22d9bcc445dd5ba5c657d835ad84f4232a39c2a08c0fb0f38f2efb53deb9851c
View file https://github.com/georgeRobertson2/data-validation-engine/blob/c6db91b90b92596a5db7c66181c31c28ab90ca98/src/dve/core_engine/backends/implementations/spark/spark_helpers.py
Open in desktop https://desktop.github.com
https://github.co/hiddenchars
https://github.com/NHSDigital/data-validation-engine/pull/107/{{ revealButtonHref }}
https://github.com/NHSDigital/data-validation-engine/pull/107/files#diff-22d9bcc445dd5ba5c657d835ad84f4232a39c2a08c0fb0f38f2efb53deb9851c
https://github.com/NHSDigital/data-validation-engine/pull/107/files#diff-22d9bcc445dd5ba5c657d835ad84f4232a39c2a08c0fb0f38f2efb53deb9851c
https://github.com/NHSDigital/data-validation-engine/pull/107/files#diff-22d9bcc445dd5ba5c657d835ad84f4232a39c2a08c0fb0f38f2efb53deb9851c
https://github.com/NHSDigital/data-validation-engine/pull/107/checks?check_run_id=78108768974
https://github.com/NHSDigital/data-validation-engine/pull/107/files#diff-22d9bcc445dd5ba5c657d835ad84f4232a39c2a08c0fb0f38f2efb53deb9851c
https://github.com/NHSDigital/data-validation-engine/pull/107/files#diff-22d9bcc445dd5ba5c657d835ad84f4232a39c2a08c0fb0f38f2efb53deb9851c
https://github.com/NHSDigital/data-validation-engine/pull/107/files#diff-22d9bcc445dd5ba5c657d835ad84f4232a39c2a08c0fb0f38f2efb53deb9851c
https://github.com/NHSDigital/data-validation-engine/pull/107/files#diff-22d9bcc445dd5ba5c657d835ad84f4232a39c2a08c0fb0f38f2efb53deb9851c
https://github.com/NHSDigital/data-validation-engine/pull/107/files#diff-22d9bcc445dd5ba5c657d835ad84f4232a39c2a08c0fb0f38f2efb53deb9851c
https://github.com/NHSDigital/data-validation-engine/pull/107/files#diff-22d9bcc445dd5ba5c657d835ad84f4232a39c2a08c0fb0f38f2efb53deb9851c
https://github.com/NHSDigital/data-validation-engine/pull/107/files#diff-22d9bcc445dd5ba5c657d835ad84f4232a39c2a08c0fb0f38f2efb53deb9851c
https://github.com/NHSDigital/data-validation-engine/pull/107/files#diff-22d9bcc445dd5ba5c657d835ad84f4232a39c2a08c0fb0f38f2efb53deb9851c
https://github.com/NHSDigital/data-validation-engine/pull/107/files#diff-22d9bcc445dd5ba5c657d835ad84f4232a39c2a08c0fb0f38f2efb53deb9851c
src/dve/core_engine/backends/implementations/spark/utilities.pyhttps://github.com/NHSDigital/data-validation-engine/pull/107/files#diff-3178259ca391f66e067d69ac3038ebf5effbe4651bef66ab7fd974c05a81be43
View file https://github.com/georgeRobertson2/data-validation-engine/blob/c6db91b90b92596a5db7c66181c31c28ab90ca98/src/dve/core_engine/backends/implementations/spark/utilities.py
Open in desktop https://desktop.github.com
https://github.co/hiddenchars
https://github.com/NHSDigital/data-validation-engine/pull/107/{{ revealButtonHref }}
https://github.com/NHSDigital/data-validation-engine/pull/107/files#diff-3178259ca391f66e067d69ac3038ebf5effbe4651bef66ab7fd974c05a81be43
https://github.com/NHSDigital/data-validation-engine/pull/107/files#diff-3178259ca391f66e067d69ac3038ebf5effbe4651bef66ab7fd974c05a81be43
Please reload this pagehttps://github.com/NHSDigital/data-validation-engine/pull/107/files
Please reload this pagehttps://github.com/NHSDigital/data-validation-engine/pull/107/files
https://github.com
Termshttps://docs.github.com/site-policy/github-terms/github-terms-of-service
Privacyhttps://docs.github.com/site-policy/privacy-policies/github-privacy-statement
Securityhttps://github.com/security
Statushttps://www.githubstatus.com/
Communityhttps://github.community/
Docshttps://docs.github.com/
Contacthttps://support.github.com?tags=dotcom-footer

Viewport: width=device-width


URLs of crawlers that visited me.