Skip to main content

windlathe

windlathe provides experimental, pre-alpha utilities for defining and validating metadata for multidimensional scientific model grids.

The current release validates versioned JSON manifests and provides structured validation errors. The API and file format may change before version 1.0. Python 3.10 or newer is supported.

Manifest format

Schema version 1 describes ordered grid axes and fields stored on the complete grid. A minimal two-dimensional manifest looks like this:

{
  "schema_version": 1,
  "axes": [
    {
      "name": "parameter_a",
      "units": "1",
      "coordinates": [0, 1]
    },
    {
      "name": "parameter_b",
      "units": "1",
      "coordinates": [10, 20, 30]
    }
  ],
  "fields": [
    {
      "name": "field_1",
      "units": "1",
      "shape": [2, 3],
      "data_reference": "field_1.json"
    }
  ],
  "provenance": ["generated example"]
}

Axis and field names must be unique within their lists. Coordinates must be finite numbers, and each field shape must match the coordinate counts in axis order. The optional provenance value is an array of non-empty strings. Unknown keys are rejected so misspellings do not silently pass validation.

Load a manifest from a path or an open text or binary file:

from windlathe import load_manifest

manifest = load_manifest("manifest.json")
print(manifest.axes[0].coordinates)
print(manifest.fingerprint())

load_manifest returns an immutable Manifest containing typed Axis and Field objects. Invalid JSON raises ManifestDecodeError; valid JSON that does not match the schema raises ManifestValidationError. A validation error provides path and message attributes in addition to its readable string.

Development environment

Create the Conda environment and activate it:

conda env create -f environment.yml
conda activate windlathe

Run the tests with:

python -m unittest discover -s test -v

Metadata

Release files for windlathe 0.0.1

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for windlathe 0.0.1
File Size Uploaded Provenance
windlathe-0.0.1.tar.gz 7.9 kB With provenance Details

Built distribution (wheel)

Table of built distributions (wheels) for windlathe 0.0.1
File Interpreter ABI Platform
windlathe-0.0.1-py3-none-any.whl Python 3 none any Details

Total release size: 14.2 kB

Release files / windlathe-0.0.1.tar.gz

Download URL windlathe-0.0.1.tar.gz
Size 7.9 kB
Tags Source
SHA-256 checksum
How to use checksums
3c0b15339542f63d14e43487b02c7bd962f41a26607616c5ba1ce5dddec089ea
BLAKE2b-256 checksum
How to use checksums
44e37534b2feb732df9c19ffd33a9c3e160b88e17810a07a1707b2ceda72ed42
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 18, 2026.

Transparency log

Release files / windlathe-0.0.1-py3-none-any.whl

Download URL windlathe-0.0.1-py3-none-any.whl
Size 6.3 kB
Tags Python 3
SHA-256 checksum
How to use checksums
712de2d0c5f71e5ff2481dfee94c64175ee8d18a518c4e8c788aa92c3a4ff405
BLAKE2b-256 checksum
How to use checksums
83c39e7ed9eaf2243d08e64f05356f7267de9911504c48ce2d8735dd95fe32a7
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 18, 2026.

Transparency log

Security for windlathe 0.0.1

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.

Full provenance

All 2 files in this release have been uploaded with provenance metadata.

Select from 2 files

Attestation for windlathe-0.0.1.tar.gz

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 18, 2026.

Transparency log

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

Release history Release notifications | RSS feed

This release

0.0.1 This release

2 release files Full provenance

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page