Repository navigation
Version
Current version: 1.3.1
1.3.1 is released — live on PyPI (2026-10-06). This page is a working snapshot for tracking further 1.3.x changes as they land; it is not a substitute for the release notes. Versions before 1.3.1 are not maintained.
| Source of truth | Where |
|---|---|
| Version string |
pyproject.toml → project.version; installed package: upxo.__version__
|
| Release narrative |
CHANGELOG.md · Changelog & Releases
|
| Code line | Git branch dev, tag v1.3.1 (further 1.3.x commits land on dev after the tag) |
| PyPI | https://pypi.org/project/upxo/ |
| Demo notebooks | UPXO-demos (not in the pip package) |
import upxo
print(upxo.__version__) # e.g. 1.3.1pip install upxo==1.3.1
# with Gmsh for conformal meshing:
pip install "upxo[mesh]==1.3.1"
# or, for the current development tree:
pip install -e ".[mesh]"1.3.1 is a patch release on top of 1.3.0: import and packaging fixes. Tag v1.3.1 was released to PyPI on 2026-10-06.
Python requirement remains ≥ 3.13. Optional extra [mesh] is tetgen + gmsh>=4.13 (pyvoro is no longer included). Demo notebooks are no longer part of the UPXO repository; they are in UPXO-demos.
High-level only. Details live in CHANGELOG.md.
| Area | What landed |
|---|---|
| Imports | Every module of the package imports in a fresh interpreter, and none prints output on import. Functions whose replacement does not exist raise NotImplementedError with a message. |
| Dependencies |
netlsd is a core dependency. setup.py lists statsmodels. |
| FM steel 3D | The transformation steps use pxtal/fm_steel_3d/transform_shared.py. |
| Output folder | Pipeline output goes to <checkout>/data or ./data under the working directory, not into the Python environment. |
| Tested environments | Python 3.13 and 3.14, platform wheel availability, dependency versions from the declared minimum to the newest: Dependencies. |
| Removed |
meshing/confMesh3d and meshing/pxtalmesh_01.py. 3D conformal meshing is meshing/gbconformant (d3v2p0, d3v2p1). No code in the library uses trimesh, pygmsh or orix. |
| Tests |
tests/test_import_integrity.py, tests/test_repaired_legacy_paths.py. |
High-level only. Details live in CHANGELOG.md.
| Area | What landed |
|---|---|
3D conformal tet meshing: quality controls (d3v2p0) |
Thin-grain freezing, differential interface smoothing with wedge and corner guards, no-sharpening rule for facet openings, surface triangle angle repair, tet dihedral smoothing, face/edge swaps and node insertion, dihedral reports, quality histograms and views. See GB-conformant 3D. |
3D conformal tet meshing: faster stages (d3v2p1) |
Same functions as d3v2p0 plus backend / n_workers: worker processes and numba kernels, chosen automatically, with a serial numpy fallback. Demo: confMesh/tet_mesh_v2p1_A.ipynb in UPXO-demos. |
| Twinned FCC 3D | Pole-figure sample symmetry and EBSD-against-synthetic pole-figure comparison; Abaqus export with the reference UMAT materials, mm units, a load step, step increment and field-output controls, and C3D4 elements. |
| EBSD → Abaqus (2D) | Real EBSD map → cleaned grains → grain-averaged orientations → conformal mesh → Abaqus .inp with one material per grain. See EBSD to Abaqus (2D). |
| Editable 2D grain polygons |
Polygon2d / NestedPolygon2d with shared editable boundaries, from Technique A, Technique B, Voronoi or Shapely polygons. See 2D Grain Structure Geometrification. |
| Removed |
pyvoro from the [mesh] extra; src/upxo/scripts/ and src/upxo/demos/ from the repository; three unused modules that did not compile. |
Previous line: 1.2.x (last release 1.2.1, 2026-09-22) — see Changelog & Releases.
When 1.3.x gains a user-facing capability (or you bump the version):
- Set / confirm
versioninpyproject.toml. - Add an Added / Changed / Fixed / Removed note in
CHANGELOG.md. - Edit this page: version string and "Already in".
- Refresh Changelog & Releases if the release narrative changed.
- Push the wiki repo (
UPXO.wiki.git, branchmaster). See Contributing.
If you bump to a new minor or major line, change the heading and add a short "previous: 1.3.x" pointer rather than deleting history — the changelog remains the full record.
Home | Getting Started | API Reference | PyPI | YouTube | GitHub
© 2026 UK Atomic Energy Authority (UKAEA) — GPL-3.0
Getting Started
Grain Structure Generation
- 2D Grain Structures
- 3D Grain Structures
- Excel Input Dashboard
- Monte Carlo Algorithms
- Parameter Sweep & Ensembles
Analysis & Operations
- Grain Characterisation
- Grain Boundary Operations
- Texture & Crystallography
- Representativeness Assessment
- Material Registry
Output
Use Cases
Development
External