mapreader 1.8.2.post0.dev15__tar.gz → 1.8.2.post0.dev24__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (52) hide show
  1. {mapreader-1.8.2.post0.dev15 → mapreader-1.8.2.post0.dev24}/PKG-INFO +15 -15
  2. {mapreader-1.8.2.post0.dev15 → mapreader-1.8.2.post0.dev24}/mapreader/_version.py +3 -3
  3. {mapreader-1.8.2.post0.dev15 → mapreader-1.8.2.post0.dev24}/mapreader/annotate/annotator.py +2 -2
  4. {mapreader-1.8.2.post0.dev15 → mapreader-1.8.2.post0.dev24}/mapreader/classify/classifier.py +1 -1
  5. {mapreader-1.8.2.post0.dev15 → mapreader-1.8.2.post0.dev24}/mapreader/classify/load_annotations.py +1 -1
  6. {mapreader-1.8.2.post0.dev15 → mapreader-1.8.2.post0.dev24}/mapreader/download/sheet_downloader.py +1 -1
  7. {mapreader-1.8.2.post0.dev15 → mapreader-1.8.2.post0.dev24}/mapreader/load/images.py +1 -1
  8. {mapreader-1.8.2.post0.dev15 → mapreader-1.8.2.post0.dev24}/mapreader/process/occlusion_analysis.py +2 -2
  9. {mapreader-1.8.2.post0.dev15 → mapreader-1.8.2.post0.dev24}/mapreader.egg-info/PKG-INFO +15 -15
  10. {mapreader-1.8.2.post0.dev15 → mapreader-1.8.2.post0.dev24}/mapreader.egg-info/requires.txt +14 -14
  11. {mapreader-1.8.2.post0.dev15 → mapreader-1.8.2.post0.dev24}/setup.py +14 -14
  12. {mapreader-1.8.2.post0.dev15 → mapreader-1.8.2.post0.dev24}/LICENSE +0 -0
  13. {mapreader-1.8.2.post0.dev15 → mapreader-1.8.2.post0.dev24}/README.md +0 -0
  14. {mapreader-1.8.2.post0.dev15 → mapreader-1.8.2.post0.dev24}/mapreader/__init__.py +0 -0
  15. {mapreader-1.8.2.post0.dev15 → mapreader-1.8.2.post0.dev24}/mapreader/__main__.py +0 -0
  16. {mapreader-1.8.2.post0.dev15 → mapreader-1.8.2.post0.dev24}/mapreader/annotate/__init__.py +0 -0
  17. {mapreader-1.8.2.post0.dev15 → mapreader-1.8.2.post0.dev24}/mapreader/classify/__init__.py +0 -0
  18. {mapreader-1.8.2.post0.dev15 → mapreader-1.8.2.post0.dev24}/mapreader/classify/custom_models.py +0 -0
  19. {mapreader-1.8.2.post0.dev15 → mapreader-1.8.2.post0.dev24}/mapreader/classify/datasets.py +0 -0
  20. {mapreader-1.8.2.post0.dev15 → mapreader-1.8.2.post0.dev24}/mapreader/download/__init__.py +0 -0
  21. {mapreader-1.8.2.post0.dev15 → mapreader-1.8.2.post0.dev24}/mapreader/download/data_structures.py +0 -0
  22. {mapreader-1.8.2.post0.dev15 → mapreader-1.8.2.post0.dev24}/mapreader/download/downloader.py +0 -0
  23. {mapreader-1.8.2.post0.dev15 → mapreader-1.8.2.post0.dev24}/mapreader/download/downloader_utils.py +0 -0
  24. {mapreader-1.8.2.post0.dev15 → mapreader-1.8.2.post0.dev24}/mapreader/download/iiif_downloader.py +0 -0
  25. {mapreader-1.8.2.post0.dev15 → mapreader-1.8.2.post0.dev24}/mapreader/download/tile_loading.py +0 -0
  26. {mapreader-1.8.2.post0.dev15 → mapreader-1.8.2.post0.dev24}/mapreader/download/tile_merging.py +0 -0
  27. {mapreader-1.8.2.post0.dev15 → mapreader-1.8.2.post0.dev24}/mapreader/load/__init__.py +0 -0
  28. {mapreader-1.8.2.post0.dev15 → mapreader-1.8.2.post0.dev24}/mapreader/load/geo_utils.py +0 -0
  29. {mapreader-1.8.2.post0.dev15 → mapreader-1.8.2.post0.dev24}/mapreader/load/loader.py +0 -0
  30. {mapreader-1.8.2.post0.dev15 → mapreader-1.8.2.post0.dev24}/mapreader/process/__init__.py +0 -0
  31. {mapreader-1.8.2.post0.dev15 → mapreader-1.8.2.post0.dev24}/mapreader/process/context_post_process.py +0 -0
  32. {mapreader-1.8.2.post0.dev15 → mapreader-1.8.2.post0.dev24}/mapreader/process/process.py +0 -0
  33. {mapreader-1.8.2.post0.dev15 → mapreader-1.8.2.post0.dev24}/mapreader/spot_text/__init__.py +0 -0
  34. {mapreader-1.8.2.post0.dev15 → mapreader-1.8.2.post0.dev24}/mapreader/spot_text/dataclasses.py +0 -0
  35. {mapreader-1.8.2.post0.dev15 → mapreader-1.8.2.post0.dev24}/mapreader/spot_text/deepsolo_runner.py +0 -0
  36. {mapreader-1.8.2.post0.dev15 → mapreader-1.8.2.post0.dev24}/mapreader/spot_text/dptext_detr_runner.py +0 -0
  37. {mapreader-1.8.2.post0.dev15 → mapreader-1.8.2.post0.dev24}/mapreader/spot_text/maptext_runner.py +0 -0
  38. {mapreader-1.8.2.post0.dev15 → mapreader-1.8.2.post0.dev24}/mapreader/spot_text/runner_base.py +0 -0
  39. {mapreader-1.8.2.post0.dev15 → mapreader-1.8.2.post0.dev24}/mapreader/utils/__init__.py +0 -0
  40. {mapreader-1.8.2.post0.dev15 → mapreader-1.8.2.post0.dev24}/mapreader/utils/compute_and_save_stats.py +0 -0
  41. {mapreader-1.8.2.post0.dev15 → mapreader-1.8.2.post0.dev24}/mapreader/utils/load_frames.py +0 -0
  42. {mapreader-1.8.2.post0.dev15 → mapreader-1.8.2.post0.dev24}/mapreader/utils/slice_parallel.py +0 -0
  43. {mapreader-1.8.2.post0.dev15 → mapreader-1.8.2.post0.dev24}/mapreader.egg-info/SOURCES.txt +0 -0
  44. {mapreader-1.8.2.post0.dev15 → mapreader-1.8.2.post0.dev24}/mapreader.egg-info/dependency_links.txt +0 -0
  45. {mapreader-1.8.2.post0.dev15 → mapreader-1.8.2.post0.dev24}/mapreader.egg-info/entry_points.txt +0 -0
  46. {mapreader-1.8.2.post0.dev15 → mapreader-1.8.2.post0.dev24}/mapreader.egg-info/not-zip-safe +0 -0
  47. {mapreader-1.8.2.post0.dev15 → mapreader-1.8.2.post0.dev24}/mapreader.egg-info/top_level.txt +0 -0
  48. {mapreader-1.8.2.post0.dev15 → mapreader-1.8.2.post0.dev24}/setup.cfg +0 -0
  49. {mapreader-1.8.2.post0.dev15 → mapreader-1.8.2.post0.dev24}/tests/test_geo_pipeline.py +0 -0
  50. {mapreader-1.8.2.post0.dev15 → mapreader-1.8.2.post0.dev24}/tests/test_import.py +0 -0
  51. {mapreader-1.8.2.post0.dev15 → mapreader-1.8.2.post0.dev24}/tests/test_utils_load_frames.py +0 -0
  52. {mapreader-1.8.2.post0.dev15 → mapreader-1.8.2.post0.dev24}/versioneer.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: mapreader
3
- Version: 1.8.2.post0.dev15
3
+ Version: 1.8.2.post0.dev24
4
4
  Summary: A computer vision pipeline for the semantic exploration of maps/images at scale
5
5
  Home-page: https://github.com/Living-with-machines/MapReader
6
6
  Download-URL: https://github.com/Living-with-machines/MapReader/archive/refs/heads/main.zip
@@ -28,8 +28,8 @@ Requires-Python: >=3.9
28
28
  Description-Content-Type: text/markdown
29
29
  License-File: LICENSE
30
30
  Requires-Dist: matplotlib<4.0.0,>=3.5.0
31
- Requires-Dist: numpy<2.0.0,>=1.21.5
32
- Requires-Dist: pandas>=2.0.0
31
+ Requires-Dist: numpy<3.0.0,>=1.21.5
32
+ Requires-Dist: pandas<3.0.0,>=2.0.0
33
33
  Requires-Dist: pyproj<4.0.0,>=3.2.0
34
34
  Requires-Dist: azure-storage-blob<13.0.0,>=12.9.0
35
35
  Requires-Dist: aiohttp<4.0.0,>=3.8.1
@@ -37,39 +37,39 @@ Requires-Dist: Shapely<3.0.0,>=2.0.0
37
37
  Requires-Dist: nest-asyncio<2.0.0,>=1.5.1
38
38
  Requires-Dist: scikit-image>=0.18.3
39
39
  Requires-Dist: scikit-learn<2.0.0,>=1.0.1
40
- Requires-Dist: torch<=2.2.2,>=1.10.0
41
- Requires-Dist: torchvision<=0.17.2,>=0.11.1
40
+ Requires-Dist: torch<=2.12.0,>=1.10.0
41
+ Requires-Dist: torchvision<=0.27.0,>=0.11.1
42
42
  Requires-Dist: jupyter<2.0.0,>=1.0.0
43
- Requires-Dist: ipykernel<7.0.0,>=6.5.1
43
+ Requires-Dist: ipykernel<8.0.0,>=6.5.1
44
44
  Requires-Dist: ipywidgets<9.0.0,>=8.0.0
45
45
  Requires-Dist: ipyannotate==0.1.0-beta.0
46
- Requires-Dist: Cython<0.30.0,>=0.29.24
46
+ Requires-Dist: Cython<4.0.0,>=0.29.24
47
47
  Requires-Dist: PyYAML<7.0,>=6.0
48
48
  Requires-Dist: tensorboard<3.0.0,>=2.7.0
49
49
  Requires-Dist: parhugin<0.0.4,>=0.0.3
50
- Requires-Dist: geopy==2.1.0
50
+ Requires-Dist: geopy<3.0.0,>=2.1.0
51
51
  Requires-Dist: rasterio<2.0.0,>=1.2.10
52
52
  Requires-Dist: simplekml<2.0.0,>=1.3.6
53
53
  Requires-Dist: versioneer>=0.28
54
54
  Requires-Dist: tqdm<5.0.0
55
55
  Requires-Dist: torchinfo<2.0.0
56
56
  Requires-Dist: openpyxl<4.0.0,>=3.1.2
57
- Requires-Dist: geopandas<1.0.0
57
+ Requires-Dist: geopandas<2.0.0,>=1.0.0
58
58
  Requires-Dist: pyogrio>=0.7.2
59
59
  Requires-Dist: cartopy>=0.22.0
60
60
  Requires-Dist: joblib>=1.4.0
61
61
  Requires-Dist: opencv-python<5.0.0.0,>=4.8.1.78
62
62
  Requires-Dist: folium<1.0.0,>=0.12
63
63
  Requires-Dist: mapclassify<3.0.0,>=2.0.0
64
- Requires-Dist: xyzservices==2024.9.0
64
+ Requires-Dist: xyzservices>=2024.9.0
65
65
  Requires-Dist: piffle>=0.7.0
66
66
  Requires-Dist: lxml
67
67
  Provides-Extra: dev
68
- Requires-Dist: pytest<9.0.0; extra == "dev"
69
- Requires-Dist: pytest-cov<6.0.0,>=4.1.0; extra == "dev"
70
- Requires-Dist: timm<1.0.0; extra == "dev"
71
- Requires-Dist: transformers!=4.50.0,<4.51.3; extra == "dev"
72
- Requires-Dist: black<25.0.0,>=23.7.0; extra == "dev"
68
+ Requires-Dist: pytest<10.0.0; extra == "dev"
69
+ Requires-Dist: pytest-cov<8.0.0,>=4.1.0; extra == "dev"
70
+ Requires-Dist: timm<2.0.0; extra == "dev"
71
+ Requires-Dist: transformers!=4.50.0,<5.0.0,>=4.26.0; extra == "dev"
72
+ Requires-Dist: black<27.0.0,>=23.7.0; extra == "dev"
73
73
  Requires-Dist: flake8<8.0.0,>=6.0.0; extra == "dev"
74
74
  Dynamic: author
75
75
  Dynamic: classifier
@@ -8,11 +8,11 @@ import json
8
8
 
9
9
  version_json = '''
10
10
  {
11
- "date": "2026-03-25T21:06:12+0000",
11
+ "date": "2026-09-13T07:48:00+0100",
12
12
  "dirty": false,
13
13
  "error": null,
14
- "full-revisionid": "08fceec9e3feef2a5c60385dba516f7639897f03",
15
- "version": "1.8.2.post0.dev15"
14
+ "full-revisionid": "398631a557be291e53f5f4efaa4895883da2cdb4",
15
+ "version": "1.8.2.post0.dev24"
16
16
  }
17
17
  ''' # END VERSION_JSON
18
18
 
@@ -477,7 +477,7 @@ class Annotator:
477
477
  """
478
478
 
479
479
  def check_eligibility(row):
480
- if row.label not in [np.NaN, None]:
480
+ if row.label not in [np.nan, None]:
481
481
  return False
482
482
 
483
483
  if self._filter_for is None:
@@ -546,7 +546,7 @@ class Annotator:
546
546
 
547
547
  # Dim the image
548
548
  if dim in ["True", True]:
549
- im_array = np.array(im)
549
+ im_array = np.array(im, dtype=np.float32)
550
550
  im_array = 256 - (256 - im_array) * 0.4 # lighten image
551
551
  im = Image.fromarray(im_array.astype(np.uint8))
552
552
 
@@ -1770,7 +1770,7 @@ Use ``torch.optim.lr_scheduler`` directly and then the ``add_scheduler`` method
1770
1770
  par_name = os.path.dirname(load_path)
1771
1771
  base_name = os.path.basename(load_path)
1772
1772
  path2model = os.path.join(par_name, f"model_{base_name}")
1773
- self.model = torch.load(path2model, map_location=mydevice)
1773
+ self.model = torch.load(path2model, map_location=mydevice, weights_only=False)
1774
1774
 
1775
1775
  try:
1776
1776
  self.device = mydevice
@@ -869,7 +869,7 @@ Please check your image paths and update them if necessary.'
869
869
  value_counts = (
870
870
  datasets["train"].patch_df[self.label_col].value_counts().to_list()
871
871
  )
872
- weights = np.reciprocal(Tensor(value_counts))
872
+ weights = Tensor(value_counts).reciprocal()
873
873
  weights = weights.double()
874
874
  sampler = WeightedRandomSampler(
875
875
  weights[datasets["train"].patch_df["label_index"].tolist()],
@@ -170,7 +170,7 @@ class SheetDownloader:
170
170
  """
171
171
  Creates a multipolygon representing all maps in metadata.
172
172
  """
173
- self.merged_polygon = self.metadata["geometry"].unary_union
173
+ self.merged_polygon = self.metadata["geometry"].union_all()
174
174
 
175
175
  def get_minmax_latlon(self) -> None:
176
176
  """
@@ -897,7 +897,7 @@ See https://pillow.readthedocs.io/en/stable/handbook/concepts.html#modes for mor
897
897
  self._add_patch_coords_id(patch_id, verbose)
898
898
 
899
899
  if isinstance(patch_df, gpd.GeoDataFrame):
900
- parent_polygon = patch_df.unary_union
900
+ parent_polygon = patch_df.union_all()
901
901
  parent_coords = parent_polygon.bounds
902
902
 
903
903
  self.parents[image_id]["coordinates"] = parent_coords
@@ -110,7 +110,7 @@ class OcclusionAnalyzer:
110
110
  return len(self.patch_df)
111
111
 
112
112
  def _load_model(self, model_path: str) -> nn.Module:
113
- model = torch.load(model_path, map_location=self.device)
113
+ model = torch.load(model_path, map_location=self.device, weights_only=False)
114
114
  return model
115
115
 
116
116
  def add_loss_fn(
@@ -284,7 +284,7 @@ class OcclusionAnalyzer:
284
284
  # preprocess the occluded image and get the prediction
285
285
  image_tensor = self._preprocess_image(occluded_image)
286
286
  prediction = self.model(image_tensor)
287
- loss = round(float(self.loss_fn(prediction, gt_prediction)), 4)
287
+ loss = round(float(self.loss_fn(prediction, gt_prediction).detach()), 4)
288
288
 
289
289
  # store the loss in the heatmap
290
290
  heatmap[row, column] = loss
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: mapreader
3
- Version: 1.8.2.post0.dev15
3
+ Version: 1.8.2.post0.dev24
4
4
  Summary: A computer vision pipeline for the semantic exploration of maps/images at scale
5
5
  Home-page: https://github.com/Living-with-machines/MapReader
6
6
  Download-URL: https://github.com/Living-with-machines/MapReader/archive/refs/heads/main.zip
@@ -28,8 +28,8 @@ Requires-Python: >=3.9
28
28
  Description-Content-Type: text/markdown
29
29
  License-File: LICENSE
30
30
  Requires-Dist: matplotlib<4.0.0,>=3.5.0
31
- Requires-Dist: numpy<2.0.0,>=1.21.5
32
- Requires-Dist: pandas>=2.0.0
31
+ Requires-Dist: numpy<3.0.0,>=1.21.5
32
+ Requires-Dist: pandas<3.0.0,>=2.0.0
33
33
  Requires-Dist: pyproj<4.0.0,>=3.2.0
34
34
  Requires-Dist: azure-storage-blob<13.0.0,>=12.9.0
35
35
  Requires-Dist: aiohttp<4.0.0,>=3.8.1
@@ -37,39 +37,39 @@ Requires-Dist: Shapely<3.0.0,>=2.0.0
37
37
  Requires-Dist: nest-asyncio<2.0.0,>=1.5.1
38
38
  Requires-Dist: scikit-image>=0.18.3
39
39
  Requires-Dist: scikit-learn<2.0.0,>=1.0.1
40
- Requires-Dist: torch<=2.2.2,>=1.10.0
41
- Requires-Dist: torchvision<=0.17.2,>=0.11.1
40
+ Requires-Dist: torch<=2.12.0,>=1.10.0
41
+ Requires-Dist: torchvision<=0.27.0,>=0.11.1
42
42
  Requires-Dist: jupyter<2.0.0,>=1.0.0
43
- Requires-Dist: ipykernel<7.0.0,>=6.5.1
43
+ Requires-Dist: ipykernel<8.0.0,>=6.5.1
44
44
  Requires-Dist: ipywidgets<9.0.0,>=8.0.0
45
45
  Requires-Dist: ipyannotate==0.1.0-beta.0
46
- Requires-Dist: Cython<0.30.0,>=0.29.24
46
+ Requires-Dist: Cython<4.0.0,>=0.29.24
47
47
  Requires-Dist: PyYAML<7.0,>=6.0
48
48
  Requires-Dist: tensorboard<3.0.0,>=2.7.0
49
49
  Requires-Dist: parhugin<0.0.4,>=0.0.3
50
- Requires-Dist: geopy==2.1.0
50
+ Requires-Dist: geopy<3.0.0,>=2.1.0
51
51
  Requires-Dist: rasterio<2.0.0,>=1.2.10
52
52
  Requires-Dist: simplekml<2.0.0,>=1.3.6
53
53
  Requires-Dist: versioneer>=0.28
54
54
  Requires-Dist: tqdm<5.0.0
55
55
  Requires-Dist: torchinfo<2.0.0
56
56
  Requires-Dist: openpyxl<4.0.0,>=3.1.2
57
- Requires-Dist: geopandas<1.0.0
57
+ Requires-Dist: geopandas<2.0.0,>=1.0.0
58
58
  Requires-Dist: pyogrio>=0.7.2
59
59
  Requires-Dist: cartopy>=0.22.0
60
60
  Requires-Dist: joblib>=1.4.0
61
61
  Requires-Dist: opencv-python<5.0.0.0,>=4.8.1.78
62
62
  Requires-Dist: folium<1.0.0,>=0.12
63
63
  Requires-Dist: mapclassify<3.0.0,>=2.0.0
64
- Requires-Dist: xyzservices==2024.9.0
64
+ Requires-Dist: xyzservices>=2024.9.0
65
65
  Requires-Dist: piffle>=0.7.0
66
66
  Requires-Dist: lxml
67
67
  Provides-Extra: dev
68
- Requires-Dist: pytest<9.0.0; extra == "dev"
69
- Requires-Dist: pytest-cov<6.0.0,>=4.1.0; extra == "dev"
70
- Requires-Dist: timm<1.0.0; extra == "dev"
71
- Requires-Dist: transformers!=4.50.0,<4.51.3; extra == "dev"
72
- Requires-Dist: black<25.0.0,>=23.7.0; extra == "dev"
68
+ Requires-Dist: pytest<10.0.0; extra == "dev"
69
+ Requires-Dist: pytest-cov<8.0.0,>=4.1.0; extra == "dev"
70
+ Requires-Dist: timm<2.0.0; extra == "dev"
71
+ Requires-Dist: transformers!=4.50.0,<5.0.0,>=4.26.0; extra == "dev"
72
+ Requires-Dist: black<27.0.0,>=23.7.0; extra == "dev"
73
73
  Requires-Dist: flake8<8.0.0,>=6.0.0; extra == "dev"
74
74
  Dynamic: author
75
75
  Dynamic: classifier
@@ -1,6 +1,6 @@
1
1
  matplotlib<4.0.0,>=3.5.0
2
- numpy<2.0.0,>=1.21.5
3
- pandas>=2.0.0
2
+ numpy<3.0.0,>=1.21.5
3
+ pandas<3.0.0,>=2.0.0
4
4
  pyproj<4.0.0,>=3.2.0
5
5
  azure-storage-blob<13.0.0,>=12.9.0
6
6
  aiohttp<4.0.0,>=3.8.1
@@ -8,38 +8,38 @@ Shapely<3.0.0,>=2.0.0
8
8
  nest-asyncio<2.0.0,>=1.5.1
9
9
  scikit-image>=0.18.3
10
10
  scikit-learn<2.0.0,>=1.0.1
11
- torch<=2.2.2,>=1.10.0
12
- torchvision<=0.17.2,>=0.11.1
11
+ torch<=2.12.0,>=1.10.0
12
+ torchvision<=0.27.0,>=0.11.1
13
13
  jupyter<2.0.0,>=1.0.0
14
- ipykernel<7.0.0,>=6.5.1
14
+ ipykernel<8.0.0,>=6.5.1
15
15
  ipywidgets<9.0.0,>=8.0.0
16
16
  ipyannotate==0.1.0-beta.0
17
- Cython<0.30.0,>=0.29.24
17
+ Cython<4.0.0,>=0.29.24
18
18
  PyYAML<7.0,>=6.0
19
19
  tensorboard<3.0.0,>=2.7.0
20
20
  parhugin<0.0.4,>=0.0.3
21
- geopy==2.1.0
21
+ geopy<3.0.0,>=2.1.0
22
22
  rasterio<2.0.0,>=1.2.10
23
23
  simplekml<2.0.0,>=1.3.6
24
24
  versioneer>=0.28
25
25
  tqdm<5.0.0
26
26
  torchinfo<2.0.0
27
27
  openpyxl<4.0.0,>=3.1.2
28
- geopandas<1.0.0
28
+ geopandas<2.0.0,>=1.0.0
29
29
  pyogrio>=0.7.2
30
30
  cartopy>=0.22.0
31
31
  joblib>=1.4.0
32
32
  opencv-python<5.0.0.0,>=4.8.1.78
33
33
  folium<1.0.0,>=0.12
34
34
  mapclassify<3.0.0,>=2.0.0
35
- xyzservices==2024.9.0
35
+ xyzservices>=2024.9.0
36
36
  piffle>=0.7.0
37
37
  lxml
38
38
 
39
39
  [dev]
40
- pytest<9.0.0
41
- pytest-cov<6.0.0,>=4.1.0
42
- timm<1.0.0
43
- transformers!=4.50.0,<4.51.3
44
- black<25.0.0,>=23.7.0
40
+ pytest<10.0.0
41
+ pytest-cov<8.0.0,>=4.1.0
42
+ timm<2.0.0
43
+ transformers!=4.50.0,<5.0.0,>=4.26.0
44
+ black<27.0.0,>=23.7.0
45
45
  flake8<8.0.0,>=6.0.0
@@ -29,8 +29,8 @@ setuptools.setup(
29
29
  python_requires=">=3.9",
30
30
  install_requires=[
31
31
  "matplotlib>=3.5.0,<4.0.0",
32
- "numpy>=1.21.5,<2.0.0",
33
- "pandas>=2.0.0",
32
+ "numpy>=1.21.5,<3.0.0",
33
+ "pandas>=2.0.0,<3.0.0",
34
34
  "pyproj>=3.2.0,<4.0.0",
35
35
  "azure-storage-blob>=12.9.0,<13.0.0",
36
36
  "aiohttp>=3.8.1,<4.0.0",
@@ -38,41 +38,41 @@ setuptools.setup(
38
38
  "nest-asyncio>=1.5.1,<2.0.0",
39
39
  "scikit-image>=0.18.3",
40
40
  "scikit-learn>=1.0.1,<2.0.0",
41
- "torch>=1.10.0,<=2.2.2",
42
- "torchvision>=0.11.1,<=0.17.2",
41
+ "torch>=1.10.0,<=2.12.0",
42
+ "torchvision>=0.11.1,<=0.27.0",
43
43
  "jupyter>=1.0.0,<2.0.0",
44
- "ipykernel>=6.5.1,<7.0.0",
44
+ "ipykernel>=6.5.1,<8.0.0",
45
45
  "ipywidgets>=8.0.0,<9.0.0",
46
46
  "ipyannotate==0.1.0-beta.0",
47
- "Cython>=0.29.24,<0.30.0",
47
+ "Cython>=0.29.24,<4.0.0",
48
48
  "PyYAML>=6.0,<7.0",
49
49
  "tensorboard>=2.7.0,<3.0.0",
50
50
  "parhugin>=0.0.3,<0.0.4",
51
- "geopy==2.1.0",
51
+ "geopy>=2.1.0,<3.0.0",
52
52
  "rasterio>=1.2.10,<2.0.0",
53
53
  "simplekml>=1.3.6,<2.0.0",
54
54
  "versioneer>=0.28",
55
55
  "tqdm<5.0.0",
56
56
  "torchinfo<2.0.0",
57
57
  "openpyxl>=3.1.2,<4.0.0",
58
- "geopandas<1.0.0",
58
+ "geopandas>=1.0.0,<2.0.0",
59
59
  "pyogrio>=0.7.2",
60
60
  "cartopy>=0.22.0",
61
61
  "joblib>=1.4.0",
62
62
  "opencv-python>=4.8.1.78,<5.0.0.0",
63
63
  "folium>=0.12,<1.0.0",
64
64
  "mapclassify>=2.0.0,<3.0.0",
65
- "xyzservices==2024.9.0",
65
+ "xyzservices>=2024.9.0",
66
66
  "piffle>=0.7.0",
67
67
  "lxml",
68
68
  ],
69
69
  extras_require={
70
70
  "dev": [
71
- "pytest<9.0.0",
72
- "pytest-cov>=4.1.0,<6.0.0",
73
- "timm<1.0.0",
74
- "transformers<4.51.3, !=4.50.0",
75
- "black>=23.7.0,<25.0.0",
71
+ "pytest<10.0.0",
72
+ "pytest-cov>=4.1.0,<8.0.0",
73
+ "timm<2.0.0",
74
+ "transformers>=4.26.0,<5.0.0,!=4.50.0",
75
+ "black>=23.7.0,<27.0.0",
76
76
  "flake8>=6.0.0,<8.0.0",
77
77
  ],
78
78
  },