There is a newer version of the record available.

Published March 5, 2026 | Version v.2.0.0
Software Open

Neotoma Paleoecology Database DataBUS

Description

[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.

Notes

If you use this software, please cite it as below.

Files

NeotomaDB/DataBUS-v.2.0.0.zip

Files (1.1 MB)

Name Size Download all
md5:3fba2f65ffcf853ed5751e7644663075
1.1 MB Preview Download

Additional details

Related works

Software