Repository navigation
v0.0.9
TableSpec 0.0.9 — native document loading
Release Scope
Native Python acquisition and offline publication for UMF court/SEC companion
contract 1.0.0. TableSpec owns the executable runtime. No Bun process or added
HTTP/PDF library is required. The release wheel and sdist are independently
checksum-pinnable; plugin manifests advance to 0.0.9.
Audience and Channels
Document pack builders, cron/job operators and isolated Python data platforms.
GitHub release, Pages package index and product website carry the release.
Highlights
Fetch selected originals, export complete BagIt 1.0 SHA-256 handoffs, publish
metadata/originals through DuckDB or explicit Spark/Unity Catalog targets, and
schedule offline fixity audits. PREMIS 3 semantic JSON and PROV-O JSON-LD
accompany originals. Refresh preserves unchanged revisions.
Required Actions Summary
Use the operator guide. Verify release asset
hashes and independently downloaded UMF loader release metadata. Unknown reuse
rights require explicit local-use; SEC requires identifying contact. Prepare
base dependencies before wheel installation with --no-deps.
Changes and Fixes
Separate network-open fetch from isolated publish, validate canonical pack
closure before requests/writes, enforce serial requests and byte/time budgets,
and verify read-back. Stage immutable bytes before atomic publication; preserve
prior committed state on failed refresh. Refuse mismatched target constraints.
Compatibility and Breaking Changes
Existing sample-data commands remain separate. Existing companion blocks are
admitted by their canonical1.0 closure; Python does not execute TS files.
Python state layout differs from TS state. Changing exact pack metadata requires
fresh state; original-byte parity does not imply state interchangeability.
Migration or Rollback Guidance
Keep prior installations and states. Transfer the complete BagIt directory.
Retry failed publication on the same explicitly named target; independent object
and table stores do not provide a cross-store transaction. Top-level killed
state locks need operator recovery after proving no writer is active.
Known Issues and Support
Live Spark/serverless and UC filesystem semantics remain unqualified without
a named workspace/table/volume. Live SEC fixture selection/contact is pending.
No Snowflake, PREMIS XML, OCFL repository or WARC capture claim is made.
Filesystems without required locking and atomic rename refuse. Supply pack,
loader, publication hashes and closed receipt codes for support.
References
Release correction
0.0.9 fixes the required Spark factory application name, type-checks decoded
JSON objects and runtime adapter seams, and serializes Pages workflows to prevent
a stale concurrent website build replacing the newly released package index.
The source collector engine/agent remains0.0.8 under companion contract1.0.0.
Published0.0.8 artifacts remain immutable.
Published artifact SHA-256:
8258bf0c129dc872e9ba4bd5aedaadd1ea909b34cb4746cfc879acd931a08a0b tablespec-0.0.9-py3-none-any.whl
6157b827c4e94175756bac918d78d3ddd27931454b763d6c4aaa8c9b7a006a8c tablespec-0.0.9.tar.gz
The released wheel installs with --no-deps alongside umf-core 0.8.1. Offline DuckDB publication and full original-byte read-back passed for the three documented court fixtures. 33 focused tests and static checks pass; live Databricks and SEC qualification remain pending.