Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

refactor: remove utils module (#128) #319

Merged
merged 32 commits into from
Aug 7, 2023
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
32 commits
Select commit Hold shift + click to select a range
a45590d
refactor: remove _optional module from utils
RaczeQ Jul 20, 2023
71d1b26
refactor: remove _typing module from utils
RaczeQ Jul 20, 2023
f2d70bc
refactor: remove download module from utils
RaczeQ Jul 20, 2023
a80d47c
refactor: remove geocode module from utils
RaczeQ Jul 20, 2023
14e3f88
refactor: remove _pytorch_stubs module from utils
RaczeQ Jul 20, 2023
93b56e4
refactor: move merge module to geometry
RaczeQ Jul 20, 2023
5c7db9e
refactor: remove geometry module from utils
RaczeQ Jul 20, 2023
a8ce08c
chore: changed changelog
RaczeQ Jul 20, 2023
0d2059b
feat: add h3 helper module
RaczeQ Jul 20, 2023
60d9095
Merge branch 'main' into 128-refactor-code-style-to-avoid-antipatterns
RaczeQ Jul 20, 2023
7c888f3
refactor: simplified imports aftere merge
RaczeQ Jul 20, 2023
52609a7
refactor: apply refurb suggestion
RaczeQ Jul 21, 2023
becdb71
chore: add docstrings and change H3Regionalizer
RaczeQ Jul 21, 2023
d89ee70
chore: add h3 tests files
RaczeQ Jul 21, 2023
0637fed
Merge branch 'main' into 128-refactor-code-style-to-avoid-antipatterns
RaczeQ Jul 27, 2023
71a0378
chore: change iterable import
RaczeQ Jul 27, 2023
63940b4
test: add h3 ij tests
RaczeQ Jul 27, 2023
b33eea8
test: added new tests for h3 module
RaczeQ Aug 7, 2023
644a61b
chore: add future issue comments
RaczeQ Aug 7, 2023
57eff3f
ci: add new pytest flag
RaczeQ Aug 7, 2023
8573c5a
ci: add new pytest flag
RaczeQ Aug 7, 2023
6c2fa21
chore: change conftests for H3 module
RaczeQ Aug 7, 2023
6c24dcb
ci: remove pytest flag
RaczeQ Aug 7, 2023
9db168b
ci: add verbose flag to tox
RaczeQ Aug 7, 2023
716ee33
ci: check raw pytest output
RaczeQ Aug 7, 2023
fd7cf8d
ci: check raw pytest output
RaczeQ Aug 7, 2023
bbaf108
ci: remove macos tests
RaczeQ Aug 7, 2023
6428303
ci: test macos once again
RaczeQ Aug 7, 2023
438055e
ci: test macos once again
RaczeQ Aug 7, 2023
145a41e
tests: disable h3 tests with faulty macos runner
RaczeQ Aug 7, 2023
b8600cf
chore: fix macos h3ronpy error
RaczeQ Aug 7, 2023
82052bf
chore: fix old h3 implementation
RaczeQ Aug 7, 2023
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 2 additions & 2 deletions .github/workflows/_tests.yml
Original file line number Diff line number Diff line change
Expand Up @@ -8,10 +8,10 @@ jobs:
strategy:
matrix:
os: [ubuntu-latest]
python-version: ["3.8", "3.9", "3.10"]
python-version: ["3.8", "3.9", "3.10", "3.11"]
include:
- os: macos-latest
python-version: "3.10"
python-version: "3.11"
env:
OS: ${{ matrix.os }}
PYTHON: ${{ matrix.python-version }}
Expand Down
10 changes: 9 additions & 1 deletion CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -10,14 +10,22 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
### Added
- `include_center` parameter to Neighbourhoods [#288](https://github.com/srai-lab/srai/issues/288)

- Added `__version__` entry to library API. [#305](https://github.com/srai-lab/srai/issues/305)
- `__version__` entry to library API. [#305](https://github.com/srai-lab/srai/issues/305)
- `srai.h3` module with functions for translating list of h3 cells into shapely polygons and calculating local ij coordinates.

### Changed

- Refactored H3Regionalizer to be faster using [h3ronpy](https://github.com/nmandery/h3ronpy) library [#311](https://github.com/srai-lab/srai/issues/311)
- BREAKING! Renamed NetworkType to OSMNetworkType and made it importable directly from `srai.loaders` [#227](https://github.com/srai-lab/srai/issues/227)
- BREAKING! Renamed osm_filter_type and grouped_osm_filter_type into OsmTagsFilter and GroupedOsmTagsFilter [#261](https://github.com/srai-lab/srai/issues/261)
- Removed osmnx dependency version cap [#303](https://github.com/srai-lab/srai/issues/303)
- BREAKING! Removed `utils` module [#128](https://github.com/srai-lab/srai/issues/128)
- `srai.utils._optional` moved to `srai._optional`
- `srai.utils._pytorch_stubs` moved to `srai.embedders._pytorch_stubs`
- `srai.utils.download` moved to `srai.loaders.download` (and can be imported with `from srai.loaders import download_file`)
- `srai.utils.geocode` moved to `srai.regionalizers.geocode` (and can be imported with `from srai.regionalizers import geocode_to_region_gdf`)
- `srai.utils.geometry` and `srai.utils.merge` moved to `srai.geometry`
- `srai.utils.typing` moved to `srai._typing`

### Deprecated

Expand Down
17 changes: 7 additions & 10 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -97,8 +97,8 @@ Example with `OSMOnlineLoader`:

```python
from srai.loaders import OSMOnlineLoader
from srai.utils import geocode_to_region_gdf
from srai.plotting import plot_regions
from srai.regionalizers import geocode_to_region_gdf

query = {"leisure": "park"}
area = geocode_to_region_gdf("Wrocław, Poland")
Expand All @@ -119,8 +119,8 @@ Road network downloading is a special case of OSM data downloading. To download

```python
from srai.loaders import OSMNetworkType, OSMWayLoader
from srai.utils import geocode_to_region_gdf
from srai.plotting import plot_regions
from srai.regionalizers import geocode_to_region_gdf

area = geocode_to_region_gdf("Utrecht, Netherlands")
loader = OSMWayLoader(OSMNetworkType.BIKE)
Expand All @@ -142,9 +142,9 @@ To extract features from GTFS use `GTFSLoader`. It will extract trip count and a
```python
from pathlib import Path

from srai.loaders import GTFSLoader
from srai.utils import geocode_to_region_gdf, download_file
from srai.loaders import GTFSLoader, download_file
from srai.plotting import plot_regions
from srai.regionalizers import geocode_to_region_gdf

area = geocode_to_region_gdf("Vienna, Austria")
gtfs_file = Path("vienna_gtfs.zip")
Expand Down Expand Up @@ -173,8 +173,7 @@ Regionalization is a process of dividing a given area into smaller regions. This
Example:

```python
from srai.regionalizers import H3Regionalizer
from srai.utils import geocode_to_region_gdf
from srai.regionalizers import H3Regionalizer, geocode_to_region_gdf

area = geocode_to_region_gdf("Berlin, Germany")
regionalizer = H3Regionalizer(resolution=7)
Expand Down Expand Up @@ -206,8 +205,7 @@ from srai.embedders import CountEmbedder
from srai.joiners import IntersectionJoiner
from srai.loaders import OSMOnlineLoader
from srai.plotting import plot_regions, plot_numeric_data
from srai.regionalizers import H3Regionalizer
from srai.utils import geocode_to_region_gdf
from srai.regionalizers import H3Regionalizer, geocode_to_region_gdf

loader = OSMOnlineLoader()
regionalizer = H3Regionalizer(resolution=9)
Expand Down Expand Up @@ -238,8 +236,7 @@ from srai.joiners import IntersectionJoiner
from srai.loaders import OSMPbfLoader
from srai.loaders.osm_loaders.filters import HEX2VEC_FILTER
from srai.neighbourhoods.h3_neighbourhood import H3Neighbourhood
from srai.regionalizers import H3Regionalizer
from srai.utils import geocode_to_region_gdf
from srai.regionalizers import H3Regionalizer, geocode_to_region_gdf
from srai.plotting import plot_regions, plot_numeric_data

loader = OSMPbfLoader()
Expand Down
17 changes: 7 additions & 10 deletions docs/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -97,7 +97,7 @@ Example with `OSMOnlineLoader`:

```python
from srai.loaders import OSMOnlineLoader
from srai.utils import geocode_to_region_gdf
from srai.regionalizers import geocode_to_region_gdf
from srai.plotting import plot_regions

query = {"leisure": "park"}
Expand All @@ -119,7 +119,7 @@ Road network downloading is a special case of OSM data downloading. To download

```python
from srai.loaders import OSMNetworkType, OSMWayLoader
from srai.utils import geocode_to_region_gdf
from srai.regionalizers import geocode_to_region_gdf
from srai.plotting import plot_regions

area = geocode_to_region_gdf("Utrecht, Netherlands")
Expand All @@ -142,8 +142,8 @@ To extract features from GTFS use `GTFSLoader`. It will extract trip count and a
```python
from pathlib import Path

from srai.loaders import GTFSLoader
from srai.utils import geocode_to_region_gdf, download_file
from srai.loaders import GTFSLoader, download_file
from srai.regionalizers import geocode_to_region_gdf
from srai.plotting import plot_regions

area = geocode_to_region_gdf("Vienna, Austria")
Expand Down Expand Up @@ -173,8 +173,7 @@ Regionalization is a process of dividing a given area into smaller regions. This
Example:

```python
from srai.regionalizers import H3Regionalizer
from srai.utils import geocode_to_region_gdf
from srai.regionalizers import H3Regionalizer, geocode_to_region_gdf

area = geocode_to_region_gdf("Berlin, Germany")
regionalizer = H3Regionalizer(resolution=7)
Expand Down Expand Up @@ -206,8 +205,7 @@ from srai.embedders import CountEmbedder
from srai.joiners import IntersectionJoiner
from srai.loaders import OSMOnlineLoader
from srai.plotting import plot_regions, plot_numeric_data
from srai.regionalizers import H3Regionalizer
from srai.utils import geocode_to_region_gdf
from srai.regionalizers import H3Regionalizer, geocode_to_region_gdf

loader = OSMOnlineLoader()
regionalizer = H3Regionalizer(resolution=9)
Expand Down Expand Up @@ -238,8 +236,7 @@ from srai.joiners import IntersectionJoiner
from srai.loaders import OSMPbfLoader
from srai.loaders.osm_loaders.filters import HEX2VEC_FILTER
from srai.neighbourhoods.h3_neighbourhood import H3Neighbourhood
from srai.regionalizers import H3Regionalizer
from srai.utils import geocode_to_region_gdf
from srai.regionalizers import H3Regionalizer, geocode_to_region_gdf
from srai.plotting import plot_regions, plot_numeric_data

loader = OSMPbfLoader()
Expand Down
2 changes: 1 addition & 1 deletion examples/embedders/contextual_count_embedder.ipynb
Original file line number Diff line number Diff line change
Expand Up @@ -32,7 +32,7 @@
"metadata": {},
"outputs": [],
"source": [
"from srai.utils import geocode_to_region_gdf\n",
"from srai.regionalizers import geocode_to_region_gdf\n",
"\n",
"area_gdf = geocode_to_region_gdf(\"Lisboa, PT\")\n",
"plot_regions(area_gdf)"
Expand Down
3 changes: 1 addition & 2 deletions examples/embedders/hex2vec_embedder.ipynb
Original file line number Diff line number Diff line change
Expand Up @@ -10,8 +10,7 @@
"from srai.joiners import IntersectionJoiner\n",
"from srai.loaders import OSMOnlineLoader\n",
"from srai.neighbourhoods import H3Neighbourhood\n",
"from srai.regionalizers import H3Regionalizer\n",
"from srai.utils import geocode_to_region_gdf\n",
"from srai.regionalizers import H3Regionalizer, geocode_to_region_gdf\n",
"from srai.plotting import plot_regions, plot_numeric_data\n",
"from pytorch_lightning import seed_everything"
]
Expand Down
2 changes: 1 addition & 1 deletion examples/embedders/highway2vec_embedder.ipynb
Original file line number Diff line number Diff line change
Expand Up @@ -32,7 +32,7 @@
"metadata": {},
"outputs": [],
"source": [
"from srai.utils import geocode_to_region_gdf\n",
"from srai.regionalizers import geocode_to_region_gdf\n",
"\n",
"area_gdf = geocode_to_region_gdf(\"Wrocław, PL\")\n",
"plot_regions(area_gdf, tiles_style=\"CartoDB positron\")"
Expand Down
3 changes: 1 addition & 2 deletions examples/embedders/load_and_save.ipynb
Original file line number Diff line number Diff line change
Expand Up @@ -10,8 +10,7 @@
"from srai.joiners import IntersectionJoiner\n",
"from srai.loaders import OSMOnlineLoader\n",
"from srai.neighbourhoods import H3Neighbourhood\n",
"from srai.regionalizers import H3Regionalizer\n",
"from srai.utils import geocode_to_region_gdf\n",
"from srai.regionalizers import H3Regionalizer, geocode_to_region_gdf\n",
"from srai.plotting import plot_regions, plot_numeric_data\n",
"from pytorch_lightning import seed_everything"
]
Expand Down
5 changes: 2 additions & 3 deletions examples/loaders/gtfs_loader.ipynb
Original file line number Diff line number Diff line change
Expand Up @@ -15,12 +15,11 @@
"outputs": [],
"source": [
"from pathlib import Path\n",
"from srai.loaders import GTFSLoader\n",
"from srai.loaders import GTFSLoader, download_file\n",
"import gtfs_kit as gk\n",
"import geopandas as gpd\n",
"from shapely.geometry import Point\n",
"from srai.constants import WGS84_CRS\n",
"from srai.utils import download_file"
"from srai.constants import WGS84_CRS"
]
},
{
Expand Down
2 changes: 1 addition & 1 deletion examples/loaders/osm_online_loader.ipynb
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@
"from srai.loaders.osm_loaders.filters.popular import get_popular_tags\n",
"from srai.loaders.osm_loaders.filters import GEOFABRIK_LAYERS, HEX2VEC_FILTER\n",
"from srai.loaders.osm_loaders import OSMOnlineLoader\n",
"from srai.utils import geocode_to_region_gdf\n",
"from srai.regionalizers import geocode_to_region_gdf\n",
"from srai.plotting.folium_wrapper import plot_regions\n",
"from functional import seq"
]
Expand Down
3 changes: 2 additions & 1 deletion examples/loaders/osm_pbf_loader.ipynb
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,8 @@
"from srai.loaders.osm_loaders.filters.popular import get_popular_tags\n",
"from srai.loaders.osm_loaders import OSMPbfLoader\n",
"from srai.constants import REGIONS_INDEX, WGS84_CRS\n",
"from srai.utils import buffer_geometry, geocode_to_region_gdf\n",
"from srai.regionalizers import geocode_to_region_gdf\n",
"from srai.geometry import buffer_geometry\n",
"\n",
"from shapely.geometry import Point, box\n",
"import geopandas as gpd"
Expand Down
2 changes: 1 addition & 1 deletion examples/loaders/osm_tile_loader.ipynb
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@
"outputs": [],
"source": [
"from srai.loaders.osm_loaders import OSMTileLoader\n",
"from srai.utils import geocode_to_region_gdf\n",
"from srai.regionalizers import geocode_to_region_gdf\n",
"\n",
"ZOOM = 9"
]
Expand Down
2 changes: 1 addition & 1 deletion examples/loaders/osm_way_loader.ipynb
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,7 @@
"from srai.loaders import OSMNetworkType, OSMWayLoader\n",
"from srai.constants import WGS84_CRS, REGIONS_INDEX\n",
"from srai.plotting.folium_wrapper import plot_regions\n",
"from srai.utils import geocode_to_region_gdf"
"from srai.regionalizers import geocode_to_region_gdf"
]
},
{
Expand Down
7 changes: 5 additions & 2 deletions examples/neighbourhoods/adjacency_neighbourhood.ipynb
Original file line number Diff line number Diff line change
Expand Up @@ -12,8 +12,11 @@
"\n",
"from srai.constants import WGS84_CRS\n",
"from srai.neighbourhoods import AdjacencyNeighbourhood\n",
"from srai.regionalizers import AdministrativeBoundaryRegionalizer, VoronoiRegionalizer\n",
"from srai.utils.geocode import geocode_to_region_gdf\n",
"from srai.regionalizers import (\n",
" AdministrativeBoundaryRegionalizer,\n",
" VoronoiRegionalizer,\n",
" geocode_to_region_gdf,\n",
")\n",
"from srai.plotting.folium_wrapper import plot_regions, plot_neighbours, plot_all_neighbourhood"
]
},
Expand Down
3 changes: 1 addition & 2 deletions examples/neighbourhoods/h3_neighbourhood.ipynb
Original file line number Diff line number Diff line change
Expand Up @@ -7,8 +7,7 @@
"outputs": [],
"source": [
"from srai.neighbourhoods import H3Neighbourhood\n",
"from srai.regionalizers import H3Regionalizer\n",
"from srai.utils.geocode import geocode_to_region_gdf\n",
"from srai.regionalizers import H3Regionalizer, geocode_to_region_gdf\n",
"from srai.plotting.folium_wrapper import plot_neighbours, plot_all_neighbourhood"
]
},
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -10,9 +10,8 @@
"import plotly.express as px\n",
"from shapely.geometry import Point, box\n",
"\n",
"from srai.regionalizers import AdministrativeBoundaryRegionalizer\n",
"from srai.plotting.folium_wrapper import plot_regions\n",
"from srai.utils import geocode_to_region_gdf"
"from srai.regionalizers import AdministrativeBoundaryRegionalizer, geocode_to_region_gdf\n",
"from srai.plotting.folium_wrapper import plot_regions"
]
},
{
Expand Down
5 changes: 2 additions & 3 deletions examples/regionalizers/voronoi_regionalizer.ipynb
Original file line number Diff line number Diff line change
Expand Up @@ -11,10 +11,9 @@
"import plotly.express as px\n",
"from shapely.geometry import Point\n",
"\n",
"from srai.regionalizers import VoronoiRegionalizer\n",
"from srai.regionalizers import VoronoiRegionalizer, geocode_to_region_gdf\n",
"from srai.constants import WGS84_CRS\n",
"from srai.plotting.folium_wrapper import plot_regions\n",
"from srai.utils import geocode_to_region_gdf"
"from srai.plotting.folium_wrapper import plot_regions"
]
},
{
Expand Down
14 changes: 7 additions & 7 deletions pdm.lock

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

9 changes: 2 additions & 7 deletions pyproject.toml
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,7 @@ dependencies = [
"s2",
"typeguard",
"requests",
"h3ronpy",
"h3ronpy>=0.17.4",
]
requires-python = ">=3.8"
readme = "README.md"
Expand Down Expand Up @@ -59,12 +59,7 @@ Changelog = "https://github.com/srai-lab/srai/blob/main/CHANGELOG.md"
# add tests

# pdm add -G osm <library>
osm = [
"osmium",
"osmnx",
"overpass",
"pillow",
]
osm = ["osmium", "osmnx", "overpass", "pillow"]
# pdm add -G voronoi <library>
voronoi = ["pymap3d", "haversine", "scipy", "spherical-geometry"]
# pdm add -G gtfs <library>
Expand Down
File renamed without changes.
File renamed without changes.
2 changes: 1 addition & 1 deletion srai/embedders/_base.py
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@
from pytorch_lightning import LightningModule

except ImportError:
from srai.utils._pytorch_stubs import LightningModule
from srai.embedders._pytorch_stubs import LightningModule


class Model(LightningModule): # type: ignore
Expand Down
File renamed without changes.
2 changes: 1 addition & 1 deletion srai/embedders/gtfs2vec/embedder.py
Original file line number Diff line number Diff line change
Expand Up @@ -17,11 +17,11 @@
import numpy as np
import pandas as pd

from srai._optional import import_optional_dependencies
from srai.embedders import Embedder, ModelT
from srai.embedders.gtfs2vec.model import GTFS2VecModel
from srai.exceptions import ModelNotFitException
from srai.loaders.gtfs_loader import GTFS2VEC_DIRECTIONS_PREFIX, GTFS2VEC_TRIPS_PREFIX
from srai.utils._optional import import_optional_dependencies


class GTFS2VecEmbedder(Embedder):
Expand Down
2 changes: 1 addition & 1 deletion srai/embedders/gtfs2vec/model.py
Original file line number Diff line number Diff line change
Expand Up @@ -8,8 +8,8 @@
"""
from typing import TYPE_CHECKING, Any

from srai._optional import import_optional_dependencies
from srai.embedders import Model
from srai.utils._optional import import_optional_dependencies

if TYPE_CHECKING: # pragma: no cover
import torch
Expand Down
Loading