Skip to content

Bump pyscal3 from 3.3.2 to 4.0.0 - #551

Open
dependabot[bot] wants to merge 3 commits into
mainfrom
dependabot/pip/pyscal3-4.0.0
Open

dependabot[bot] wants to merge 3 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: 12ea7e4e-ad64-4dd3-8f25-42f60ca7474e

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

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

This branch has not been deployed

No deployments
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.

2 participants