Skip to content

Major release: code quality overhaul

Compare
Choose a tag to compare
@songololo songololo released this 17 Jun 07:08
· 434 commits to master since this release

This is a major release with some breaking changes.

If you are working with version 1 and are looking for the previous version documentation, see the v1.2.1 tagged release which contains the now deprecated version and its associated docstrings.

The outwards facing API is mostly unaffected, however, certain methods have been renamed to bring them in line with naming conventions, for example, all methods previously named with a leading nX have now been renamed to nx, for example, nX_simple_geoms has been renamed to nx_simple_geoms.

The low level API has been substantially overhaulled to streamline and better organise underlying data structures. User-facing methods are unaffected by this change. Previously, data structures used for nodes and edges were stored in raw numpy arrays with different indices taken to reference different data attributes. This has been replaced with numba jitted classes allowing for explicit attributes to be used. See cityseer.structures for more information about these structures and their attributes.

The code base has been substantially overhauled to include more robust support for typehinting, with formatting, linting, and typechecking now baked-into the CI. The project is now managed with a pyproject.toml file.