-
Notifications
You must be signed in to change notification settings - Fork 597
Open
Description
Description
Background
- Python releases a minor release (e.g., 3.14) annually in October.
- OpenMC has adopted SPEC 0, which means supporting about 3 minor releases of Python.
vtkhas held up the process of supporting Python 3.13 and 3.14 for OpenMC due to its slow adoption of the latest Python Minor release. This is because:vtkis a compiled Python package, which must be compiled against a specific python versionvtkdoes not distribute source tar balls on PyPI, sopipcannot compile it on its own.vtkdoes not seem to have plans in place to plan for and be ready for minor releases of Python annually.
vtkis not used extensively in the Python code base. I only found the following examples:openmc.tracks.write_to_vtkopenmc.plots.voxel_to_vtkopenmc.mesh._create_vtk_structured_grid- These all seem to be only used for dumping data to a
.vtkfile, not reading one.
Therefore
Be it resolved that, an internal vtk file template engine be made inside of OpenMC, and that vtk be removed as a dependency.
Alternatives
Some alternatives:
- Status quo, and just work with
vtks release schedule for OpenMC's release schedule. - Ship OpenMC without testing
vtksupport for the latest Python release, this is low risk, but does mean that OpenMC will be broken for some users. - Switch to using
VTKHDF, though this would lead to a change in behavior for end users ashdf5and notvtkfiles would be output. - Work with Kitware to improve their release and planning system for working with release candidates of Python minor releases.
Compatibility
If vtk is re-implemented internally the goal would be to not change the external API at all.
Metadata
Metadata
Assignees
Labels
No labels