Changelog¶
All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
Unreleased¶
0.9.9 - 2025-09-26¶
Added¶
S2Vecmodel as anS2VecEmbedderimplemented by @hubkrieb, proposed by Google Research team (Choudhury et al.)timmto optional dependencies forS2VecEmbedder
Changed¶
- Locked
gtfs-kitversion to0.6.*
Fixed¶
- Added
__all__const to spatial split module
0.9.8 - 2025-09-04¶
Added¶
- New spatial splitting logic for machine learning model training
Changed¶
- Bumped minimal
overturemaestroversion to0.5.0
Fixed¶
- Enabled
CountEmbedderto parse dataframes with indexes other than string type #537
0.9.7 - 2025-05-21¶
Added¶
- Option to pass
trainer_kwargstoGtfs2VecEmbedder'sfitandfit_transformfunctions
Fixed¶
- Change CRS setting for GeoDataFrame in
OSMPbfLoader
0.9.6 - 2025-04-06¶
Added¶
- Functions
convert_to_regions_gdfandconvert_to_features_gdfto transform any existing geo input to an object with the correct index name
0.9.5 - 2025-02-23¶
Fixed¶
- Catched OSMnx
InsufficientResponseErrorinOSMOnlineLoader
0.9.4 - 2025-02-16¶
Fixed¶
- Saving expected target features in
GeoVexEmbedder
0.9.3 - 2025-02-10¶
Added¶
- Option to change default aggregation in
ContextualCountEmbedderfromaveragetomedian,sum,minormax
0.9.2 - 2025-02-03¶
Added¶
- Option to change inherited parameter
count_subcategoriesinHex2VecEmbedderandGeoVexEmbedder
Changed¶
OvertureMapsLoaderdocstring with regards tocount_subcategoriesparameter- Reduced memory footprint in
CountEmbedderby using Arrow's zero-copy protocol
0.9.1 - 2025-01-27¶
Changed¶
- Refactored
ContextualCountEmbedderprogress bar and multiprocessing implementation
0.9.0 - 2025-01-26¶
Added¶
OvertureMapsLoaderfor loading features from Overture Maps datasets
Changed¶
- Replaced all
union_allcalls withunary_union()in GeoPandas context - Transform logic in
CountEmbedderto work with new boolean based features dataframes from Overture Maps Loader - Changed
IntersetionJoinerlogic to useSTRTreeindex instead ofsjoinfunction - Refactored
CountEmbedderto work on the lazy execution engine from thepolarslibrary
0.8.4 - 2025-01-04¶
Added¶
- Option to pass
verbosity_modetoOsmPbfLoader
Changed¶
- Default OSM download source from Geofabrik to
any - Replaced deprecated function calls from the
QuackOSMlibrary
0.8.3 - 2025-01-01¶
Fixed¶
- Removed GTFS feed validation for
gtfs-kitversions >=10.0.0
0.8.2 - 2024-12-30¶
Fixed¶
- Changed polygon creation in spherical voronoi algorithm to avoid rounding error on vertices
0.8.1 - 2024-12-30¶
Fixed¶
- Made code compliant with
osmnx's new2.0.0release inOsmOnlineLoader
0.8.0 - 2024-12-28¶
[!WARNING] This release was yanked. Please use the 0.8.1 release instead.
Fixed¶
- Made code compliant with
osmnx's new2.0.0release #473 - Made code compliant with
h3ronpy's new0.22.0release #471
0.7.8 - 2024-12-28¶
Changed¶
- Set max
h3ronpyversion to<0.22.0(implemented by @bouzaghrane) - Set max
osmnxversion to<2.0.0
Fixed¶
- Removed a list comprehension in geometry related operations (implemented by @ebonnal)
0.7.7 - 2024-09-25¶
Changed¶
- Bumped minimal QuackOSM version to
0.11.0
0.7.6 - 2024-08-29¶
Fixed¶
- Changed a typo in the
BASE_OSM_GROUPS_FILTER(implemented by @starsep)
Added¶
- Added methods for saving and loading fittable
GeoVexEmbedder(implemented by @sabman and @mhassanch) #457
0.7.5 - 2024-06-04¶
Fixed¶
- Changed H3 regionalization logic from
IntersectsBoundarytoCoversto properly assign H3 regions to geometries smaller than an H3 cell
0.7.4 - 2024-05-05¶
Added¶
- Support for Python 3.12 after upgrading QuackOSM to
0.7.0and DuckDB to0.10.2
Changed¶
- Refactored
ContextualCountEmbedderby adding multiprocessing for faster transformations
0.7.3 - 2024-04-21¶
Changed¶
- Make geofabrik the default download source for OSMPbfLoader
0.7.2 - 2024-04-20¶
Changed¶
- Update tooling
- Remove Black in favour of Ruff format
Added¶
- Conform to PEP 561
0.7.1 - 2024-04-17¶
Fixed¶
- Issue caused by the change in the
h3-pylibrary 4.0.0b3 #431
0.7.0 - 2024-02-02¶
Added¶
- Support for
BBBikedownload service. - Option to merge a list of OSM tags filters into a single one.
Changed¶
- Refactored
PbfFileHandlerto useQuackOSMlibrary instead ofosmiumandGDAL#405 - Changed the default pbf download source from
protomapsdownload service toany.
Removed¶
PbfFileLoaderand moved its logic toQuackOSMlibrary.- Support for
protomapsdownload service. PbfFileClipper(unnecessary after geospatial filtering has been incorporated into refactoredPbfFileHandler) #405.PbfFileHandler(unnecessary after moving away fromosmiumimplementation).
Fixed¶
- Bugs in GTFS Loader: missing index name and NaN handling (implemented by @zackAemmer).
0.6.2 - 2023-12-28¶
Added¶
- CI release via GitHub Actions
- Set up docs style for having code examples from docstrings.
- Automatic warnings filtering inside
VoronoiRegionalizer.
Changed¶
- Added option to parse
MultiPolygongeometries insrai.geometry.remove_interiorsfunction.
0.6.1 - 2023-11-12¶
Added¶
- Start writing examples in docstrings.
Changed¶
- Change documentation rendering style.
Fixed¶
- Expose functions in
h3module.
0.6.0 - 2023-11-02¶
Changed¶
- Update code to use Python 3.9 syntax.
Removed¶
- Support for Python 3.8.
0.5.2 - 2023-10-29¶
Added¶
- Geofabrik and OSM Fr index caching and reading from cache to avoid reloading.
- Tests for Windows OS.
Changed¶
PbfFileClippertemporary files operations moved to working directory.
0.5.1 - 2023-10-27¶
Added¶
- Option for
CountEmbedderand every other descendant embedder to useOsmTagsFilterandGroupedOsmTagsFilteras input toexpected_output_featuresparameter.
Changed¶
- Modified
GEOFABRIK_LAYERSdefinition to make more precisebuildingtag values list by applying all accepted and popular tag values fromtagsinfo.
0.5.0 - 2023-10-26¶
Added¶
GeoVexmodel as aGeoVexEmbedderimplemented by @mschrader15, proposed by @ddonghi & @annemorvan- Buffer geometries using
H3cells by @mschrader15 - Option for
OSMLoadersto parse any Shapely geometry, not onlyGeoDataFrames.
0.4.1 - 2023-10-23¶
Changed¶
- Added more verbosity to the
AdministrativeBoundaryRegionalizer.
Fixed¶
- Added automatic features count clearing in
PbfFileHandlerafter operation. - Added directory creation before saving OSM extracts index file.
0.4.0 - 2023-10-21¶
Added¶
PbfFileClipperfor cutting biggerosm.pbffiles into smaller sizes for faster operations. Included clipping insidePbfFileDownloaderfor new bigger extracts sources. #369
Changed¶
- Bumped
h3ronpylibrary to0.18.0with added support for MacOS. Removed override with check for H3 operations if system isdarwin. Changed internal API to useContainmentMode. - Refactored
OSMLoader'sGroupedOsmTagsFilterfeatures grouping to be faster by refactoring pandas operations #354 - Sped up
VoronoiRegionalizerby removing redundant intersection operations and vectorizing ecdf2geodetic calculations #351 - Sped up
ContextualCountEmbedderby removing iteration over dataframe rows and vectorizing operations to work at a wholenumpyarray at once #359 - Added Geofabrik and OpenStreetMap.fr PBF extracts download services. Added automatic switch from default
protomapsdownload service togeofabrikon error. #158 #366
0.3.3 - 2023-08-13¶
Changed¶
- Modified
OSMPbfLoaderintersection logic. - Changed default tiles style for
plotting.plot_numeric_datafunction.
0.3.2 - 2023-08-12¶
Changed¶
- Migrated the repository ownership from
srai-labtokraina-ai. - Improved speed of
OSMPbfLoaderby moving intersection step to the end. - Changed API and improved
plotting.plot_numeric_datafunction. - Changed
AdministrativeBoundaryRegionalizerloading speed.
Fixed¶
- Added checks for
osmnx1.5.0version with deprecatedgeometrymodule.
0.3.1 - 2023-08-09¶
Fixed¶
- Repaired bug with
VoronoiRegionalizerand wrong polygon orientation.
0.3.0 - 2023-08-08¶
Added¶
include_centerparameter to Neighbourhoods #288__version__entry to library API. #305srai.h3module with functions for translating list of h3 cells into shapely polygons and calculating local ij coordinates.
Changed¶
- Refactored H3Regionalizer to be faster using h3ronpy library #311
- BREAKING! Renamed NetworkType to OSMNetworkType and made it importable directly from
srai.loaders#227 - BREAKING! Renamed osm_filter_type and grouped_osm_filter_type into OsmTagsFilter and GroupedOsmTagsFilter #261
- Removed osmnx dependency version cap #303
- BREAKING! Removed
utilsmodule #128 srai.utils._optionalmoved tosrai._optionalsrai.utils._pytorch_stubsmoved tosrai.embedders._pytorch_stubssrai.utils.downloadmoved tosrai.loaders.download(and can be imported withfrom srai.loaders import download_file)srai.utils.geocodemoved tosrai.regionalizers.geocode(and can be imported withfrom srai.regionalizers import geocode_to_region_gdf)srai.utils.geometryandsrai.utils.mergemoved tosrai.geometrysrai.utils.typingmoved tosrai._typing
Fixed¶
- Improved simplification and buffering of polygons for Protomaps extracts #309
- Eliminated some occasional errors in large scale executions of VoronoiRegionalizer #313
0.2.0 - 2023-07-05¶
Added¶
- Loading and saving fittable embedders
Changed¶
- BREAKING: renamed Regionizer to Regionalizer #282
Fixed¶
- Freeze osmnx version to <=1.4.0, as 1.5.0 is not compatible with our code #303
0.1.1 - 2023-04-27¶
Added¶
- SlippyMapRegionizer
- OSMTileLoader
- GTFS Loader from gtfs2vec paper
- GTFS2Vec Model from gtfs2vec paper
- GTFS2Vec Embedder using gtfs2vec model
- Hex2Vec Model from hex2vec paper
- Hex2Vec Embedder using hex2vec model
- Highway2Vec Model from highway2vec paper
- Highway2Vec Embedder using highway2vec model
- OSMOnlineLoader
- OSMPbfLoader
- OSMWayLoader
- Neighbourhood
- H3Neighbourhood
- AdjacencyNeighbourhood
- CountEmbedder
- ContextualCountEmbedder
- (CI) Changelog Enforcer
- Utility plotting module based on Folium and Plotly
- Project README
- Documentation for srai library
- Citation information
Changed¶
- Change embedders and joiners interface to have
.transformmethod - Change linter to Ruff and removed flake8, isort, pydocstyle
- Change default value inside
transformfunction of IntersectionJoiner to not return geometry. - Make torch and pytorch-lightning as optional dependencies (#210)
Fixed¶
- IntersectionJoiner incorrectly returned feature columns when
return_geom=False(#208) - Tests for pandas >=2
0.0.1 - 2022-11-23¶
Added¶
- PDM as a dependency management tool
- black, flake8, isort, mypy, pytest-cov
- pre-commit configuration
- Apache 2.0 license
- mkdocs for documentation
- GitHub pages to host documentation
- initial requirements
- H3 Regionizer
- Voronoi Regionizer
- Administrative Boundary Regionizer
- Intersection Joiner
- Geoparquet Loader