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. .. contents:: On this page :local: :depth: 1 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 :class:`Section` — now ship inside routing as ``routing.core.legacy_piping``. Update your imports: .. code-block:: python # Before (v2.10) from piping_3d import piping section = piping.Section(radius_equivalent=0.01) .. code-block:: python # 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: .. code-block:: python 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: .. code-block:: python # 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 :meth:`~routing.core.core.Specification.from_xlsx` / :meth:`~routing.core.core.Specification.from_csv`. See :doc:`../tutorials/specification_from_spreadsheet`. See Also -------- - :doc:`installation` — updated requirements and dependency list.