Skip to content

Bump pyscal3 from 3.3.2 to 4.1.0 - #551

Merged
github-actions[bot] merged 8 commits into
mainfrom
dependabot/pip/pyscal3-4.0.0
Oct 8, 2026
Merged

github-actions[bot] merged 8 commits into
mainfrom
dependabot/pip/pyscal3-4.0.0

Conversation

@dependabot

@dependabot dependabot Bot commented on behalf of github Sep 16, 2026 •

Copy link
Copy Markdown
Contributor

Bumps pyscal3 from 3.3.2 to 4.0.0.

Release notes

Sourced from pyscal3's releases.

4.0.0

What's Changed

Full Changelog: pyscal/pyscal3@v3.3.2...4.0.0

Changelog

Sourced from pyscal3's changelog.

4.0.0 (unreleased)

A new API

pyscal 4 is a rewrite around two ideas: ASE Atoms is the data structure, and every descriptor is a top-level function. The System / Atoms classes of pyscal 3 are gone. Neighbor lists are computed once with find_neighbors(atoms, ...) and reused by all descriptors; per-atom results are written to atoms.arrays["pyscal_*"] (uniform shapes) or atoms.info["pyscal_*"] (ragged data and arrays with more than two dimensions). import pyscal and import pyscal3 are synonyms.

New descriptors: Wigner W_l, Minkowski structure metrics, Ackland-Jones classification, effective and generalized coordination numbers, local density, angular and bond-length distribution functions, atomic strain, von Mises strain, D^2_min, slip vector, Wigner-Seitz defect analysis, and ACE descriptors up to body order four.

Behaviour changes relative to pyscal 3.x

  • radial_distribution_function now returns a properly normalised g(r) (it tends to 1 for an ideal gas and its integral counts neighbors); the previous values were scaled by an arbitrary constant.
  • short_range_order computes the Warren-Cowley parameter alpha_AB = 1 - p_AB / c_B for atoms of the reference species and averages over those atoms; species may be given as symbols or atomic numbers and default to the two most abundant species. The old mean over all atoms was identically zero.
  • SANN neighbor lists now contain the correct m nearest atoms (an off-by-one skipped the 4th nearest neighbor).
  • The disorder parameter compares each atom with its actual neighbors; values on disordered structures differ from 3.x.
  • find_solids honours the bonds criterion (a dangling else had made it inert).
  • W_l values are now rotation invariant (a missing (-1)^m phase made them depend on the crystal orientation).
  • entropy(local=True) uses each atom's own local density, the trapezoidal integration includes all grid points, and a warning is issued when rm exceeds the neighbor cutoff.
  • make_crystal without element assigns the lattice type as atomic number (type 1 -> Z=1, ...) instead of Z=0, so sublattices remain distinguishable.
  • Neighbor vectors (pyscal_diff) are stored in atoms.info, so ase.io.write keeps working after a pyscal calculation.

Fixes

  • Cell lists are built on fractional coordinates: triclinic, hexagonal and rotated cells (primitive fcc, hcp, ASE fcc111 slabs, LAMMPS triclinic boxes) gave wrong neighbors or hung above 250 atoms.

... (truncated)

Commits
  • 4329f04 Merge pull request #71 from pyscal/fixes
  • 0b707cb trajectory: write dump files with LF newlines on every platform
  • c703b54 tests: read source files as UTF-8 in the bindings test
  • e2f4672 ci: move to Node 24 action majors, macOS 15 runner, least privilege
  • 24804c0 docs: document stored s_ij arrays and how to read structure files
  • 4b4ad0f docs: add changelog for 4.0.0
  • 4220a63 docs: add method pages for common neighbor analysis and short-range order
  • 986ca49 build: single source for the version number
  • 8df8b55 fix: Wigner-Seitz analysis for atoms outside the reference cell
  • 301a3c2 fix: merge Voronoi vertices into unique sites over all atoms
  • Additional commits viewable in compare view

@dependabot dependabot Bot added dependencies Pull requests that update a dependency file major incompatible API changes python Pull requests that update python code labels Sep 16, 2026
@dependabot
dependabot Bot requested a review from jan-janssen as a code owner September 16, 2026 16:13
@dependabot dependabot Bot added dependencies Pull requests that update a dependency file major incompatible API changes python Pull requests that update python code labels Sep 16, 2026
@coderabbitai

coderabbitai Bot commented Sep 16, 2026 •

Copy link
Copy Markdown
Contributor

Important

Review skipped

Bot user detected.

To trigger a single review, invoke the @coderabbitai review command.

⚙️ Run configuration
  • Configuration used: defaults
  • Review profile: CHILL
  • Plan: Advanced
  • Run ID: d7ad2b5e-c096-42ae-b13f-1c7a1e34c7b5

You can disable this status message by setting the reviews.review_status to false in the CodeRabbit configuration file.

Use the checkbox below for a quick retry:

  • 🔍 Trigger review
  • Autopilot · Keep fixing CodeRabbit findings and required CI, and resolving merge conflicts

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.

Bumps [pyscal3](https://github.com/pyscal/pyscal3) from 3.3.2 to 4.0.0.
- [Release notes](https://github.com/pyscal/pyscal3/releases)
- [Changelog](https://github.com/pyscal/pyscal3/blob/main/CHANGELOG.md)
- [Commits](pyscal/pyscal3@3.3.2...4.0.0)

---
updated-dependencies:
- dependency-name: pyscal3
  dependency-version: 4.0.0
  dependency-type: direct:development
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
@dependabot
dependabot Bot force-pushed the dependabot/pip/pyscal3-4.0.0 branch from b8b2dba to 347022d Compare September 21, 2026 14:03
@jan-janssen jan-janssen changed the title Bump pyscal3 from 3.3.2 to 4.0.0 Bump pyscal3 from 3.3.2 to 4.1.0 Oct 8, 2026
Copilot AI and others added 2 commits October 8, 2026 06:54
Co-authored-by: jan-janssen <3854739+jan-janssen@users.noreply.github.com>
Co-authored-by: jan-janssen <3854739+jan-janssen@users.noreply.github.com>
@codecov

codecov Bot commented Oct 8, 2026

Copy link
Copy Markdown

Codecov Report

❌ Patch coverage is 65.90909% with 15 lines in your changes missing coverage. Please review.
✅ Project coverage is 97.44%. Comparing base (afe2af5) to head (2ff73ac).
⚠️ Report is 6 commits behind head on main.

Files with missing lines Patch % Lines
src/structuretoolkit/analyse/pyscal.py 65.85% 14 Missing ⚠️
src/structuretoolkit/common/pyscal.py 66.66% 1 Missing ⚠️
Additional details and impacted files
@@            Coverage Diff             @@
##             main     #551      +/-   ##
==========================================
- Coverage   97.90%   97.44%   -0.47%     
==========================================
  Files          29       29              
  Lines        2004     2033      +29     
==========================================
+ Hits         1962     1981      +19     
- Misses         42       52      +10     

☔ 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.

@github-actions
github-actions Bot merged commit ad34716 into main Oct 8, 2026
19 of 21 checks passed
@github-actions
github-actions Bot deleted the dependabot/pip/pyscal3-4.0.0 branch October 8, 2026 07:08
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

dependencies Pull requests that update a dependency file major incompatible API changes python Pull requests that update python code

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants