Migrating to v2.11#
Version 2.11 changes the minimum Python version and removes two dependencies. If you are
upgrading an existing v2.10 project, the points below cover every breaking change. Most
projects only need the piping_3d import fix.
Python 3.12 is now required#
The minimum supported Python version is now 3.12 (previously 3.9). Upgrade your
interpreter before installing v2.11; pip install routing will refuse to install on
Python 3.11 or earlier.
piping_3d is now bundled as routing.core.legacy_piping#
The external piping_3d package is no longer a dependency. Its contents — including
Section — now ship inside routing as routing.core.legacy_piping. Update your
imports:
# Before (v2.10)
from piping_3d import piping
section = piping.Section(radius_equivalent=0.01)
# After (v2.11)
import routing.core.legacy_piping as piping
section = piping.Section(radius_equivalent=0.01)
A direct Section import works the same way:
from routing.core.legacy_piping import Section
section = Section(radius_equivalent=0.01)
Note
legacy_piping is kept for backward compatibility and is on a deprecation path.
Avoid building new code on it beyond Section.
routing.model.Object3D was removed#
The routing.core.model module (and Object3D) has been deleted. 3D display now
goes through volmdlr’s Displayable3D — routing result objects expose display_3d()
directly:
# Before (v2.10): .babylonjs()
# After (v2.11):
routing_result.display_3d()
zarr dependency dropped#
Voxel arrays are no longer stored through zarr; the dependency has been removed. No
code change is required unless your own project imported zarr transitively through
routing — in that case, add it to your own dependencies.
New in v2.11#
Spreadsheet specifications — define pipe types and routes in Excel or CSV and load them with
from_xlsx()/from_csv(). See Tutorial: Defining Specifications in a Spreadsheet.
See Also#
Installation — updated requirements and dependency list.