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

pyiron / pyiron_workflow_atomistics / 25889013510
90%

Build:
DEFAULT BRANCH: main
Ran 14 May 2026 10:23PM UTC
Jobs 1
Files 32
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

14 May 2026 10:21PM UTC coverage: 41.69% (-0.1%) from 41.81%
25889013510

push

github

web-flow
fix: editable install in clean envs + run→calculate rename in two engine tests (#38)

* fix(tests): rename engine.run → engine.calculate in test_ase_md / test_ase_branches

Carries forward the v0.0.6 `engine.run` → `engine.calculate` rename that
was missed in these two test files. Without this, all 18 tests in the
two files fail with ImportError at collection time. Mechanical bare-token
rename: `from ... import ..., run` → `... calculate`, and
`run.node_function(...)` → `calculate.node_function(...)`.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>

* fix(packaging): make package import cheap so editable install works in clean envs

Setuptools' [tool.setuptools.dynamic.version] reads __version__ by
importing the package at build time. The package's __init__.py previously
eager-loaded the `testing` subpackage, which transitively imports ase /
pandas / pyiron_workflow — none of which are present in the build
isolation env. The cascade made `pip install -e .` fail in any clean env
without the dance of pre-installing every runtime dep and passing
--no-build-isolation.

Switch to PEP 562 lazy submodule loading: `pyiron_workflow_atomistics.testing`
still works as a public attribute via the module-level __getattr__ hook,
but no eager import happens at package-level import time. `import
pyiron_workflow_atomistics` now only loads `_version`, so reading __version__
during the build no longer pulls in ase.

Verified end-to-end:
  - Fresh pixi env with ONLY setuptools + versioneer + pip + python-build
  - `python -m build --wheel` succeeds.
  - `pip install -e .` succeeds with normal build isolation, resolving all
    runtime deps via PyPI without any workaround flags.
  - Full unit suite: 188 passed, 1 skipped (was 175 passed before the
    sibling test_ase_md/test_ase_branches rename fix).

Public attribute access patterns both still work:
  from pyiron_workflow_atomistics import testing                    # ✓
  import pyiron_workflow_atom... (continued)

878 of 2106 relevant lines covered (41.69%)

0.42 hits per line

Coverage Regressions

Lines Coverage ∆ File
6
40.0
-60.0% __init__.py
Jobs
ID Job ID Ran Files Coverage
1 25889013510.1 14 May 2026 10:23PM UTC 32
41.69
GitHub Action Run
Source Files on build 25889013510
  • Tree
  • List 32
  • Changed 1
  • Source Changed 0
  • Coverage Changed 1
Coverage ∆ File Lines Relevant Covered Missed Hits/Line
  • Back to Repo
  • Github Actions Build #25889013510
  • 77326c1a on github
  • Prev Build on main (#25766632702)
  • Next Build on main (#25889031828)
  • 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