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

FAIRmat-NFDI / pynxtools / 25662515105
82%

Build:
DEFAULT BRANCH: master
Ran 11 May 2026 09:45AM UTC
Jobs 1
Files 76
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

11 May 2026 09:41AM UTC coverage: 81.56% (+0.02%) from 81.536%
25662515105

push

github

web-flow
Memory optimization NOMAD nexus parser (#750)

* incomplete skeleton, untested, unfinished, next steps, implement statistics, for chunked need to compute by hand, take care for complex values

* Welford's algorithm skeleton

* skeleton for refactoring field_statistics data structure

* fix bug in _get_value

* first test version

* typing

* bugfixing

* done with a draft of the feature, conflict of interest remains, stable welford needs incremental updates which wont end up getting vectorized, the only issue that this comes at all up is because we wish to take the mean value (and show population standard deviation), we should consider to keep it with min and max and just pick the first value, it will avoid using Welford and alike and with ought to speed up the parsing significantly, the mean value of a coordinate axis value triplet 1, 0, 0 with 0.333 and stdev is anyway of limited value, I understood @rettigl such that uses summary stats for navigation, might need discussion for a better compromise, mind that also np.mean and np.std even on cotiguous array are not without imprecisions, in edge cases eventually even weaker than Welford, I am supportive though that for something that is just a value to show in the GUI in NOMAD we should not invoke an eventually very costly algorithm, I kept both the incremental (non vectorized) as well as the numpy batch implementation to support the discussion, my preference is to remove mean and stdev altogether, if people are interested in this, they should compute it in pynxtools-plugin, when they have that dataset anyway at some point in main memory, we should not abuse the parser for these computations, as currently with contiguous storage layout they create memory consumption spikes.

* fix assignment bug

* alternative approach, drop std and go with naive summation by default (#761)

* alternative approach, drop std and go with naive summation by default

* keep std deactivated

---------

Co-authored-by: mkueh... (continued)

162 of 191 new or added lines in 4 files covered. (84.82%)

2 existing lines in 1 file now uncovered.

6108 of 7489 relevant lines covered (81.56%)

0.82 hits per line

Uncovered Changes

Lines Coverage ∆ File
26
79.95
-1.81% src/pynxtools/nomad/parsers/parser.py
3
95.31
tests/nomad/test_parsing_opt.py

Coverage Regressions

Lines Coverage ∆ File
2
79.95
-1.81% src/pynxtools/nomad/parsers/parser.py
Jobs
ID Job ID Ran Files Coverage
1 25662515105.1 11 May 2026 09:45AM UTC 76
81.56
GitHub Action Run
Source Files on build 25662515105
  • Tree
  • List 76
  • Changed 3
  • Source Changed 3
  • Coverage Changed 3
Coverage ∆ File Lines Relevant Covered Missed Hits/Line
  • Back to Repo
  • Github Actions Build #25662515105
  • efd3d323 on github
  • Prev Build on master (#25659359359)
  • Next Build on master (#25679712838)
  • 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