Skip to main content
Pre-release

This release is a pre-release and may not be stable for production use.

pyDIGGS

PyPI version Python Versions Downloads Downloads/Month Build Status Documentation Status Updates GitHub Issues License

A Python package for Data Interchange for Geotechnical and Geoenvironmental Specialists (DIGGS).

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

pydiggs-1.0.0a1.tar.gz (2.2 MB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

pydiggs-1.0.0a1-py3-none-any.whl (1.2 MB view details)

Uploaded Python 3

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

Hashes for pydiggs-1.0.0a1.tar.gz
Algorithm Hash digest
SHA256 1a0de82624eb711f9056aaafefe28555df4ebbbe66382770ba09181c5181bf5b
MD5 2c27889ce0063d080c85d43161f3585d
BLAKE2b-256 feca441d42bfe074ad4e2f2a1844e3c163529230790cd43c12dc526698e45cd4

See more details on using hashes here.

Provenance

The following attestation bundles were made for pydiggs-1.0.0a1.tar.gz:

Publisher: publish.yml on xinp-hub/pydiggs

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

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

Hashes for pydiggs-1.0.0a1-py3-none-any.whl
Algorithm Hash digest
SHA256 4ad1084afd0fa8e78e220ee33f45d7d7d214d8a974164cf95f03ed2318f31621
MD5 89e3ecf2e82feef32ec758a8189b9a92
BLAKE2b-256 e3ab5125b0ee9e89c73c4b1ff5765e3fc416da44617d577ae69267bb7c58bdcb

See more details on using hashes here.

Provenance

The following attestation bundles were made for pydiggs-1.0.0a1-py3-none-any.whl:

Publisher: publish.yml on xinp-hub/pydiggs

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Release history Release notifications | RSS feed

1.0.0

2 files

This release

1.0.0a1 This release

2 files

0.2.0

2 files

0.1.5

2 files

0.1.4

2 files

0.1.3

2 files

0.1.2

2 files

0.1.0

1 file

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page