Repository navigation
DataTiles revision 8: FAIR semantics, Store PWA, payments and versioning - #1
Merged
Merged
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
DataTiles revision 8: FAIR semantics, integrity, DRM, Store PWA, payments, and release versioning
Summary
This PR evolves DataTiles from the 0.10-era schema into a FAIR-by-design, provenance-rich, semantically interoperable scientific data publication platform while preserving MBTiles compatibility and the core distinction between scientific evidence and portrayal.
It adds CF-first semantic variable identity, scientific import utilities for NetCDF/GRIB2/Zarr, FAIR/provenance/licensing metadata, source-specific citation requirements, optional digital signatures, optional commercial DRM, a Flask/SQLAlchemy DataTiles Store PWA, role-based authentication, licence/safety acceptance, API-first catalog management, optional external identity providers and email registration, provider-neutral payments with a PayPal reference adapter, user purchase/download history, update notifications, and normative DataTiles release versioning.
Major changes
DataTiles schema and semantics
Scientific import utilities
utils/netcdf2datatiles.py.utils/grib2datatiles.py.utils/zarr2datatiles.py.FAIR, provenance, licensing and citation
docs/data_sources_and_citation.mdas the authoritative source-by-source citation register.Cryptographic integrity
Optional DRM / commercial distribution
DataTiles Store PWA
/store.store/docs/./api/v1for third-party clients.Payments and user library
Store governance
store/README.md.store/LICENSE.mdwith Apache-2.0.store/AGENTS.mdwith implementation and security constraints.store/docs/documentation for installation, configuration, authentication, SMTP, management, API, agreements, payments, versioning, security and troubleshooting.Compatibility
The design is additive and keeps the existing MBTiles compatibility model. Versioned DataTiles releases are immutable scientific objects; the Store maintains its own operational database and does not rewrite released DataTiles files during indexing, purchase tracking or user-management operations.
Safety and legal boundaries
Testing
The extension bundle includes regression coverage for semantic variables, import utilities, FAIR metadata, provenance, integrity signatures, DRM, Store catalog behavior, agreement enforcement, authentication/configuration, release versioning, payments, user library and update notifications.
Before merge, apply the extension to a clean current
maincheckout and run:python apply_semantic_extension.py /path/to/data-tiles python -m pip install -e '/path/to/data-tiles[demo,utils,integrity]' pytest -qFor the Store:
Migration notes
The bundle includes migrations through:
Existing revision-3 datasets can migrate while preserving legacy behavior; semantic registration can be curated progressively for migrated content.
Documentation
The PR updates the main specification, revision addenda, white paper, FAIR/provenance/licensing documentation, source citation register, import-utility documentation, Store documentation and tutorial lessons through the Store/payment/versioning workflow.