Published March 5, 2026
| Version v.2.0.0
Software
Open
Neotoma Paleoecology Database DataBUS
Authors/Creators
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
databusdict is supplied, eliminating the separateneotomaUploadermodule and reducing code duplication. - Refactored
pull_paramsinto smaller, testable helper functions inutils.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 withinvalid_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_dictand per-file.valid.logoutput. - Adopted Ruff as the sole linter and formatter, replacing previous tooling.
- Switched to
uvfor 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
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
- Is supplement to
- Software: https://github.com/NeotomaDB/DataBUS/tree/v.2.0.0 (URL)
Software
- Repository URL
- https://github.com/NeotomaDB/DataBUS