
[2.0.0] - 2026-03-05 Added Universal YAML template (data/template_example.yml). Example CSV data file (data/data_example.csv) demonstrating the full column set. Comprehensive test suite with coverage reporting via Codecov. CI pipeline with Ruff linting, pytest + coverage, and Codecov upload (.github/workflows/ci.yml). MkDocs documentation site with auto-generated API reference via mkdocstrings. Tutorials rewritten to reflect the actual two-pass workflow (databus_example.py). OpenSSF Best Practices badge tracking. Changed Major refactor of the validation/upload architecture (BU-334, BU-349): each validator now also handles insertion when a populated databus dict is supplied, eliminating the separate neotomaUploader module and reducing code duplication. Refactored pull_params into smaller, testable helper functions in utils.py, removing the dependency on pandas. Contact handling consolidated: all contact types (PI, collector, processor, analyst) now go through valid_contact, with chronology modeler assignment handled within valid_chronologies. This significantly reduces repeated code. Data upload now tracks inserted IDs so that data uncertainties can be linked correctly. Chronology handling improved to properly manage calendar years, default chronologies, and sample age linkage. Geopolitical unit insertion updated to handle entities like Scotland under the UK. Improved logging with logging_dict and per-file .valid.log output. Adopted Ruff as the sole linter and formatter, replacing previous tooling. Switched to uv for dependency management and script execution. Fixed Chron controls now handle calendar years properly. U-Th series insertion works correctly when the number of geochron indices differs from sample indices. Fixed dataset–publication and dataset–database linking during upload. Fixed collector insertion for NODE community datasets. Fixed variable validation to handle null values without comparing null against null. Numerous typos across chroncontrols.py, sample.py, Chronology.py, and others.
If you use this software, please cite it as below.
| selected citations These citations are derived from selected sources. This is an alternative to the "Influence" indicator, which also reflects the overall/total impact of an article in the research community at large, based on the underlying citation network (diachronically). | 0 | |
| popularity This indicator reflects the "current" impact/attention (the "hype") of an article in the research community at large, based on the underlying citation network. | Average | |
| influence This indicator reflects the overall/total impact of an article in the research community at large, based on the underlying citation network (diachronically). | Average | |
| impulse This indicator reflects the initial momentum of an article directly after its publication, based on the underlying citation network. | Average |
