This release is a pre-release and may not be stable for production use.
pyDIGGS
A Python package for Data Interchange for Geotechnical and Geoenvironmental Specialists (DIGGS).
- Licensed under the Apache License 2.0
- Documentation: https://xinp-hub.github.io/pydiggs
- GitHub: https://github.com/xinp-hub/pydiggs
- PyPI: https://pypi.org/project/pydiggs
Project Lead
* Xin Peng (<xin_peng@outlook.com>)
* Asitha Senanayake (<asitha.senanayake@utexas.edu>)
Features
- Validate DIGGS instance files against:
- DIGGS XSD Schema (2.5.a, 2.6, 3.0.0) with namespace auto-detect (default profile 3.0.0 when the namespace is unknown)
- DIGGS Standard dictionaries / codeSpace semantics (offline bundle from diggsml.org/def)
- Schematron business rules (bundled DIGGS lxml-adapted rules by default)
- Lightweight context checks (structure / SRS / xlink / dataBlock arity)
- Flexible validation output:
- Write validation errors to log files
- Print validation errors directly to console
- Command-line interface (CLI) for easy integration
Web Application
Not a Python user? Looking for leveraging the power of pyDIGGS in a modern web application? Check out:
Quick Start
Install pydiggs:
uv pip install pydiggs
# or: pip install pydiggs
Basic usage with Python:
from pydiggs import detect_diggs_version, validator
# Create a validator instance (profile auto-detected from the file namespace)
validation = validator("path/to/your/diggs_file.xml")
print(detect_diggs_version("path/to/your/diggs_file.xml"))
# Schema validation
validation.schema_check()
# Dictionary validation (DIGGSml semantic checks; offline dictionaries)
validation.dictionary_check()
# Schematron validation (bundled DIGGS rules by default)
validation.schematron_check()
# Context checks
validation.context_check()
# Or supply a custom Schematron file
validation = validator("path/to/your/diggs_file.xml", schematron_path="path/to/schematron.sch")
validation.schematron_check()
Basic usage with CLI:
# Schema validation (auto-detects DIGGS 2.5.a / 2.6 / 3.0.0)
pydiggs schema_check "path/to/your/diggs_file.xml"
# Dictionary validation
pydiggs dictionary_check "path/to/your/diggs_file.xml"
# Schematron validation (bundled rules)
pydiggs schematron_check "path/to/your/diggs_file.xml"
# Context validation
pydiggs context_check "path/to/your/diggs_file.xml"
# Custom Schematron
pydiggs schematron_check "path/to/your/diggs_file.xml" --schematron_path "path/to/schematron.sch"
For more detailed information and advanced usage, please see the documentation.
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file pydiggs-1.0.0a1.tar.gz.
File metadata
- Download URL: pydiggs-1.0.0a1.tar.gz
- Upload date:
- Size: 2.2 MB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via:
twine/7.0.0 CPython/3.13.14
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
1a0de82624eb711f9056aaafefe28555df4ebbbe66382770ba09181c5181bf5b
|
|
| MD5 |
2c27889ce0063d080c85d43161f3585d
|
|
| BLAKE2b-256 |
feca441d42bfe074ad4e2f2a1844e3c163529230790cd43c12dc526698e45cd4
|
Provenance
The following attestation bundles were made for pydiggs-1.0.0a1.tar.gz:
Publisher:
publish.yml on xinp-hub/pydiggs
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
pydiggs-1.0.0a1.tar.gz -
Subject digest:
1a0de82624eb711f9056aaafefe28555df4ebbbe66382770ba09181c5181bf5b - Sigstore transparency entry: 2369635239
- Sigstore integration time:
-
Permalink:
xinp-hub/pydiggs@1093ebcdb1e47b4848737e2129aa7aa89cdf2193 -
Branch / Tag:
refs/tags/v1.0.0a1 - Owner: https://github.com/xinp-hub
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@1093ebcdb1e47b4848737e2129aa7aa89cdf2193 -
Trigger Event:
push
-
Statement type:
File details
Details for the file pydiggs-1.0.0a1-py3-none-any.whl.
File metadata
- Download URL: pydiggs-1.0.0a1-py3-none-any.whl
- Upload date:
- Size: 1.2 MB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via:
twine/7.0.0 CPython/3.13.14
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
4ad1084afd0fa8e78e220ee33f45d7d7d214d8a974164cf95f03ed2318f31621
|
|
| MD5 |
89e3ecf2e82feef32ec758a8189b9a92
|
|
| BLAKE2b-256 |
e3ab5125b0ee9e89c73c4b1ff5765e3fc416da44617d577ae69267bb7c58bdcb
|
Provenance
The following attestation bundles were made for pydiggs-1.0.0a1-py3-none-any.whl:
Publisher:
publish.yml on xinp-hub/pydiggs
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
pydiggs-1.0.0a1-py3-none-any.whl -
Subject digest:
4ad1084afd0fa8e78e220ee33f45d7d7d214d8a974164cf95f03ed2318f31621 - Sigstore transparency entry: 2369635303
- Sigstore integration time:
-
Permalink:
xinp-hub/pydiggs@1093ebcdb1e47b4848737e2129aa7aa89cdf2193 -
Branch / Tag:
refs/tags/v1.0.0a1 - Owner: https://github.com/xinp-hub
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@1093ebcdb1e47b4848737e2129aa7aa89cdf2193 -
Trigger Event:
push
-
Statement type: