Skip to content

0.2.10 - #94

Merged
atrabattoni merged 7 commits into
mainfrom
release/0.2.10
Oct 16, 2026
Merged

atrabattoni merged 7 commits into
mainfrom
release/0.2.10

Conversation

@atrabattoni

Copy link
Copy Markdown
Contributor

Added

  • xdas.stalta, the short-term over long-term average characteristic function, feeding the existing Trigger so that detection no longer needs a model. Both windows are given in the units of the dimension. method="recursive" (default) and "classic" reproduce ObsPy's recursive_sta_lta and classic_sta_lta sample for sample, "delayed" ends the long window where the short one starts, and "centered" centres both windows for offline use. The atom is stateful and streams at a cost independent of the window lengths: chunked processing returns what a single call on the whole record returns, flush() releasing the tail "centered" holds back (@amaggi, @atrabattoni).
  • Aragon Photonics HDAS support. The new aragon engine reads HDAS 3.0 HDAS_StrainRate HDF5 files, returning samples as stored. The time axis keeps the device stamps (to their float64 resolution) and declares the header sampling interval with the smallest tolerance they allow; ctype={"time": "sampled"} steps at the header interval and "dense" keeps every stamp. The distance axis comes from the header. HDF5 and tile virtualization (@atrabattoni).
  • Add a "fosina" alias of the "prodml" engine, and list in the user guide the instruments known to write ProdML (@atrabattoni).
  • Engine.opens_collections tells whether a custom engine implements open_datacollection; xdas.open skips the collection scan for engines that do not (@atrabattoni).

Changed

  • Windows and macOS are now tested and working well. CI runs the full suite on windows-latest and macos-latest alongside Linux (@atrabattoni).
  • Opening many files is faster: coordinates now concatenate in linear rather than quadratic time, the ObsPy engine no longer reads HDF5 and netCDF files whole to refuse them during format auto-detection, and engines that cannot open collections are no longer scanned for one (@atrabattoni).
  • A data collection mixing schemas prints as a tree. Only a collection whose levels are all named, and named alike across branches, keeps its flat table; otherwise each such branch collapses into its dimensions and size, with its levels and leaf count hooked below. Leaves are now counted as arrays and tables (@atrabattoni).
  • simplify on a coordinate with a declared sampling interval spends the budget it is given: a tolerance wider than the declared one thins past it and is declared on the result, so jittery clocks fold down to their real gaps; tolerance=0 stays lossless (@atrabattoni).
  • The xinterp requirement is raised to 0.2.1 (@atrabattoni).

Fixed

@atrabattoni
atrabattoni merged commit 519eaae into main Oct 16, 2026
9 checks passed
@atrabattoni
atrabattoni deleted the release/0.2.10 branch October 16, 2026 12:18
@codecov

codecov Bot commented Oct 16, 2026

Copy link
Copy Markdown

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 100.00%. Comparing base (4310397) to head (7c2d274).
⚠️ Report is 8 commits behind head on main.

Additional details and impacted files
@@            Coverage Diff            @@
##              main       #94   +/-   ##
=========================================
  Coverage   100.00%   100.00%           
=========================================
  Files           49        49           
  Lines         9427      9427           
  Branches      1699      1699           
=========================================
  Hits          9427      9427           

☔ View full report in Codecov by Harness.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant