Skip to content

Conversation

@jan-janssen
Copy link
Member

@jan-janssen jan-janssen commented Jan 18, 2026

Summary by CodeRabbit

  • Chores
    • Updated SciPy to 1.17.0 across project and CI configuration.
    • Updated pyscal3 to 3.3.1 in project configuration.

✏️ Tip: You can customize this high-level summary in your review settings.

@coderabbitai
Copy link

coderabbitai bot commented Jan 18, 2026

📝 Walkthrough

Walkthrough

SciPy bumped from 1.16.3 to 1.17.0 in .ci_support/environment.yml, .ci_support/environment_mini.yml, and pyproject.toml; pyscal3 bumped from 3.3.0 to 3.3.1 in .ci_support/environment.yml and pyproject.toml. No code or public API changes.

Changes

Cohort / File(s) Summary
Main environment files
.ci_support/environment.yml, pyproject.toml
Updated scipy from 1.16.31.17.0 and pyscal3 from 3.3.03.3.1.
Minimal environment
.ci_support/environment_mini.yml
Updated scipy from 1.16.31.17.0.

Estimated code review effort

🎯 1 (Trivial) | ⏱️ ~2 minutes

Possibly related PRs

Suggested labels

dependencies, patch

Poem

🐰 A tiny hop, a version nudge,
SciPy and pyscal3 got a gentle judge.
Across three files I danced and spun,
Now builds trot forward—one by one. 🥕

🚥 Pre-merge checks | ✅ 3
✅ Passed checks (3 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title accurately reflects the primary change in the PR: updating scipy from 1.16.3 to 1.17.0 across all configuration files.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.


Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

Copy link

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 2

🤖 Fix all issues with AI agents
In @.ci_support/environment_mini.yml:
- Line 7: The Python version constraint mismatch: update the requires-python
field in pyproject.toml to align with SciPy 1.17.0 by changing requires-python =
">=3.10, <3.14" to requires-python = ">=3.11, <3.14" (or alternatively downgrade
SciPy in .ci_support/environment_mini.yml to a 1.16.x release if you must keep
Python 3.10 support); modify the requires-python entry in pyproject.toml
accordingly so it matches the SciPy version declared in
.ci_support/environment_mini.yml.

In `@pyproject.toml`:
- Line 29: The pyproject.toml currently lists "scipy==1.17.0" which requires
Python 3.11–3.14 and therefore conflicts with the project's requires-python =
">=3.10, <3.14"; update the requires-python constraint to match SciPy (e.g.,
">=3.11, <3.14") and adjust the package classifiers (Python :: 3.11, etc.) to
reflect the new supported Python versions; alternatively, if you must keep
supporting 3.10, replace "scipy==1.17.0" with a SciPy release that supports 3.10
and update the lock accordingly.

- coverage
- numpy =2.3.5
- scipy =1.16.3
- scipy =1.17.0
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ Potential issue | 🟠 Major

🧩 Analysis chain

🏁 Script executed:

# Check Python version requirement in pyproject.toml
rg -n "requires-python" . --type toml -A 1 -B 1

# Check the full environment files
cat .ci_support/environment_mini.yml

# Search for Python version references in CI
rg -n "python" .ci_support/ --type yaml | head -20

# Check for other environment files
ls -la .ci_support/

Repository: pyiron/structuretoolkit

Length of output: 837


🌐 Web query:

SciPy 1.17.0 Python version requirement

💡 Result:

SciPy 1.17.0 requires Python 3.11–3.14 (and NumPy >= 1.26.4). [1][2]

Sources:
[1] SciPy 1.17.0 release notes. [2] SciPy 1.17.0 zenodo release metadata.


🏁 Script executed:

# Check other environment files for Python/SciPy versions
cat .ci_support/environment.yml
cat .ci_support/environment-old.yml

# Search for CI workflow files that might define Python versions
find . -name "*.yml" -o -name "*.yaml" | grep -E "(github|ci|workflow)" | head -10
fd -e yml -e yaml | grep -E "(github|\.github|workflow)" | head -20

Repository: pyiron/structuretoolkit

Length of output: 1019


🏁 Script executed:

# Check CI workflows for Python versions
cat .github/workflows/pipeline.yml | head -80

# Search for Python version matrix in workflows
rg -n "python" .github/workflows/ -A 2 -B 2 | head -50

Repository: pyiron/structuretoolkit

Length of output: 5163


Resolve Python version constraint mismatch with SciPy 1.17.0.

SciPy 1.17.0 requires Python 3.11–3.14, but pyproject.toml (line 14) specifies requires-python = ">=3.10, <3.14". Since CI testing only covers Python 3.11+, update the constraint to match:

Change requires-python = ">=3.10, <3.14" to requires-python = ">=3.11, <3.14"

Alternatively, if Python 3.10 support is needed, retain SciPy 1.16.x.

🤖 Prompt for AI Agents
In @.ci_support/environment_mini.yml at line 7, The Python version constraint
mismatch: update the requires-python field in pyproject.toml to align with SciPy
1.17.0 by changing requires-python = ">=3.10, <3.14" to requires-python =
">=3.11, <3.14" (or alternatively downgrade SciPy in
.ci_support/environment_mini.yml to a 1.16.x release if you must keep Python
3.10 support); modify the requires-python entry in pyproject.toml accordingly so
it matches the SciPy version declared in .ci_support/environment_mini.yml.

"ase==3.27.0",
"numpy==2.3.5",
"scipy==1.16.3",
"scipy==1.17.0",
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ Potential issue | 🟠 Major

Python version constraint requires update.

SciPy 1.17.0 requires Python 3.11-3.14, which conflicts with Line 14's requires-python = ">=3.10, <3.14". Users on Python 3.10 will encounter installation failures when pip attempts to resolve this dependency.

Suggested fix: Update Python version requirement
-requires-python = ">=3.10, <3.14"
+requires-python = ">=3.11, <3.14"

Also update the classifiers accordingly:

-    "Programming Language :: Python :: 3.10",
     "Programming Language :: Python :: 3.11",
     "Programming Language :: Python :: 3.12",
     "Programming Language :: Python :: 3.13",
🤖 Prompt for AI Agents
In `@pyproject.toml` at line 29, The pyproject.toml currently lists
"scipy==1.17.0" which requires Python 3.11–3.14 and therefore conflicts with the
project's requires-python = ">=3.10, <3.14"; update the requires-python
constraint to match SciPy (e.g., ">=3.11, <3.14") and adjust the package
classifiers (Python :: 3.11, etc.) to reflect the new supported Python versions;
alternatively, if you must keep supporting 3.10, replace "scipy==1.17.0" with a
SciPy release that supports 3.10 and update the lock accordingly.

@jan-janssen
Copy link
Member Author

======================================================================
ERROR: test_C15 (test_compound.TestCompound.test_C15)
Tests based on Xie et al., JMR 2021 (DOI:10.1557/s43578-021-00237-y).
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/Users/runner/work/structuretoolkit/structuretoolkit/tests/test_compound.py", line 90, in test_C15
    csa = stk.analyse.get_centro_symmetry_descriptors(structure)[unique_ids]
          ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^
  File "/Users/runner/miniconda3/envs/test/lib/python3.13/site-packages/structuretoolkit/analyse/pyscal.py", line 77, in get_centro_symmetry_descriptors
    sys = ase_to_pyscal(structure)
  File "/Users/runner/miniconda3/envs/test/lib/python3.13/site-packages/structuretoolkit/common/pyscal.py", line 15, in ase_to_pyscal
    import pyscal3 as pc
  File "/Users/runner/miniconda3/envs/test/lib/python3.13/site-packages/pyscal3/__init__.py", line 1, in <module>
    from pyscal3.core import System
  File "/Users/runner/miniconda3/envs/test/lib/python3.13/site-packages/pyscal3/core.py", line 15, in <module>
    from scipy.special import sph_harm
ImportError: cannot import name 'sph_harm' from 'scipy.special' (/Users/runner/miniconda3/envs/test/lib/python3.13/site-packages/scipy/special/__init__.py)

----------------------------------------------------------------------

@jan-janssen
Copy link
Member Author

Waiting for pyscal/pyscal3#59

@codecov
Copy link

codecov bot commented Jan 28, 2026

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 82.91%. Comparing base (26ceabe) to head (18570b2).
⚠️ Report is 6 commits behind head on main.

Additional details and impacted files
@@           Coverage Diff           @@
##             main     #449   +/-   ##
=======================================
  Coverage   82.91%   82.91%           
=======================================
  Files          25       25           
  Lines        1820     1820           
=======================================
  Hits         1509     1509           
  Misses        311      311           

☔ View full report in Codecov by Sentry.
📢 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.

@jan-janssen jan-janssen merged commit 7850bd2 into main Jan 28, 2026
17 of 18 checks passed
@jan-janssen jan-janssen deleted the scipy branch January 28, 2026 13:31
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.

2 participants