• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

FAIRmat-NFDI / pynxtools / 26625826607
84%

Build:
DEFAULT BRANCH: master
Ran 29 May 2026 08:08AM UTC
Jobs 1
Files 89
Run time 1min
Badge
Embed ▾
README BADGES
x

If you need to use a raster PNG badge, change the '.svg' to '.png' in the link

Markdown

Textile

RDoc

HTML

Rst

29 May 2026 08:04AM UTC coverage: 83.891% (+1.3%) from 82.604%
26625826607

push

github

web-flow
Pure `NXdata` detection logic (#792)

* extract pure NXdata detection into nexus/nxdata.py

Move pure NXdata detection logic out of annotator/nxdata.py into a new
nexus/nxdata.py module with no logging dependency, so both the annotator
and the validator can reuse it.

- nexus/nxdata.py: NXdataInfo dataclass; classify_field (v3→v2→v1
  attribute detection); find_default_nxentry/find_default_nxdata
  (default-chain walk); inspect_nxdata (returns structured NXdataInfo
  implementing all three plottable conventions); axis/signal helpers
  re-exported for backward compat.

- annotator/nxdata.py: chk_nxdata_axis / chk_nxdata_axis_v2 become
  thin logging wrappers around classify_field; pure helpers removed
  (re-exported from nexus/nxdata.py).

- nexus/nexus.py: get_default_plottable now delegates to
  find_default_nxdata + inspect_nxdata; removes the ad-hoc loop.

- validation.py: _handle_nxdata uses inspect_nxdata for structured
  signal/axes/aux_signals/AXISNAME_indices validation; v1 heuristic
  excluded (guard on @signal attr preserved to avoid false positives).

- tests/nexus/test_nxdata.py: 24 unit tests covering classify_field,
  find_default_nxdata, find_default_nxentry, and inspect_nxdata across
  all three detection conventions.

* use NXdata cache in annotator, move default plottable functionality

* remove and deprecate old unused functionality

* rebase issues

* remove unneeded backwards compatibility

* minor fix for validation output after PR review

---------

Co-authored-by: lukaspie <lukaspie@github.com>

450 of 479 new or added lines in 4 files covered. (93.95%)

2 existing lines in 1 file now uncovered.

7452 of 8883 relevant lines covered (83.89%)

0.84 hits per line

Uncovered Changes

Lines Coverage ∆ File
17
90.34
src/pynxtools/nexus/nxdata.py
8
94.24
-2.68% src/pynxtools/annotator/annotator.py
4
89.12
0.04% src/pynxtools/dataconverter/validation.py

Coverage Regressions

Lines Coverage ∆ File
2
89.12
0.04% src/pynxtools/dataconverter/validation.py
Jobs
ID Job ID Ran Files Coverage
1 26625826607.1 29 May 2026 08:08AM UTC 89
83.89
GitHub Action Run
Source Files on build 26625826607
  • Tree
  • List 89
  • Changed 3
  • Source Changed 3
  • Coverage Changed 3
Coverage ∆ File Lines Relevant Covered Missed Hits/Line
  • Back to Repo
  • Github Actions Build #26625826607
  • fb512b87 on github
  • Prev Build on master (#26507469086)
  • Next Build on master (#26628092514)
  • Delete
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2026 Coveralls, Inc