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 (requires Python 3.11+):
uv pip install pydiggs
# or: pip install pydiggs
Basic usage with Python:
from pydiggs import detect_diggs_version, validator
# Profile auto-detected from the instance namespace (unknown → 3.0.0)
validation = validator("path/to/your/diggs_file.xml")
print(detect_diggs_version("path/to/your/diggs_file.xml")) # "2.5.a", "2.6", or "3.0.0"
# Or pin a profile explicitly (Python API only)
validation = validator("path/to/your/diggs_file.xml", diggs_version="2.6")
# 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"
See usage for diggs_version / schema_path
overrides, log output options, and known limits
(dictionary check 12 as WARNING, bundled Schematron subset, and more).
For more detailed information and advanced usage, please see the documentation.
Metadata
Release files for pydiggs 1.0.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| pydiggs-1.0.0.tar.gz | 2.2 MB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| pydiggs-1.0.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 3.4 MB
Release files / pydiggs-1.0.0.tar.gz
| Download URL | pydiggs-1.0.0.tar.gz |
|---|---|
| Size | 2.2 MB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
f26b5439cb1ff680ed7725743e0955974d135750193bcd69d10468520e5af8d7
|
|
BLAKE2b-256 checksum How to use checksums |
890d4b26c73eca4d636377498c5432600884cd755659933366a47dc656aaaf35
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Aug 7, 2026.
Transparency logRelease files / pydiggs-1.0.0-py3-none-any.whl
| Download URL | pydiggs-1.0.0-py3-none-any.whl |
|---|---|
| Size | 1.2 MB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
413a95803b4b6d4e02d31099785298a3a0eebb534e802e4ae563d42becfb176c
|
|
BLAKE2b-256 checksum How to use checksums |
d8c812d0389b103be27c5e03c5be63fa4cc23fb41075682e937905c1789aed43
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Aug 7, 2026.
Transparency log