mapreader 1.8.2.post0.dev9__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.
- {mapreader-1.8.2.post0.dev9 → mapreader-1.8.2.post0.dev24}/PKG-INFO +15 -15
- {mapreader-1.8.2.post0.dev9 → mapreader-1.8.2.post0.dev24}/mapreader/_version.py +3 -3
- {mapreader-1.8.2.post0.dev9 → mapreader-1.8.2.post0.dev24}/mapreader/annotate/annotator.py +2 -2
- {mapreader-1.8.2.post0.dev9 → mapreader-1.8.2.post0.dev24}/mapreader/classify/classifier.py +27 -2
- {mapreader-1.8.2.post0.dev9 → mapreader-1.8.2.post0.dev24}/mapreader/classify/load_annotations.py +1 -1
- {mapreader-1.8.2.post0.dev9 → mapreader-1.8.2.post0.dev24}/mapreader/download/sheet_downloader.py +1 -1
- {mapreader-1.8.2.post0.dev9 → mapreader-1.8.2.post0.dev24}/mapreader/load/images.py +1 -1
- {mapreader-1.8.2.post0.dev9 → mapreader-1.8.2.post0.dev24}/mapreader/process/occlusion_analysis.py +2 -2
- {mapreader-1.8.2.post0.dev9 → mapreader-1.8.2.post0.dev24}/mapreader.egg-info/PKG-INFO +15 -15
- {mapreader-1.8.2.post0.dev9 → mapreader-1.8.2.post0.dev24}/mapreader.egg-info/requires.txt +14 -14
- {mapreader-1.8.2.post0.dev9 → mapreader-1.8.2.post0.dev24}/setup.py +14 -14
- {mapreader-1.8.2.post0.dev9 → mapreader-1.8.2.post0.dev24}/LICENSE +0 -0
- {mapreader-1.8.2.post0.dev9 → mapreader-1.8.2.post0.dev24}/README.md +0 -0
- {mapreader-1.8.2.post0.dev9 → mapreader-1.8.2.post0.dev24}/mapreader/__init__.py +0 -0
- {mapreader-1.8.2.post0.dev9 → mapreader-1.8.2.post0.dev24}/mapreader/__main__.py +0 -0
- {mapreader-1.8.2.post0.dev9 → mapreader-1.8.2.post0.dev24}/mapreader/annotate/__init__.py +0 -0
- {mapreader-1.8.2.post0.dev9 → mapreader-1.8.2.post0.dev24}/mapreader/classify/__init__.py +0 -0
- {mapreader-1.8.2.post0.dev9 → mapreader-1.8.2.post0.dev24}/mapreader/classify/custom_models.py +0 -0
- {mapreader-1.8.2.post0.dev9 → mapreader-1.8.2.post0.dev24}/mapreader/classify/datasets.py +0 -0
- {mapreader-1.8.2.post0.dev9 → mapreader-1.8.2.post0.dev24}/mapreader/download/__init__.py +0 -0
- {mapreader-1.8.2.post0.dev9 → mapreader-1.8.2.post0.dev24}/mapreader/download/data_structures.py +0 -0
- {mapreader-1.8.2.post0.dev9 → mapreader-1.8.2.post0.dev24}/mapreader/download/downloader.py +0 -0
- {mapreader-1.8.2.post0.dev9 → mapreader-1.8.2.post0.dev24}/mapreader/download/downloader_utils.py +0 -0
- {mapreader-1.8.2.post0.dev9 → mapreader-1.8.2.post0.dev24}/mapreader/download/iiif_downloader.py +0 -0
- {mapreader-1.8.2.post0.dev9 → mapreader-1.8.2.post0.dev24}/mapreader/download/tile_loading.py +0 -0
- {mapreader-1.8.2.post0.dev9 → mapreader-1.8.2.post0.dev24}/mapreader/download/tile_merging.py +0 -0
- {mapreader-1.8.2.post0.dev9 → mapreader-1.8.2.post0.dev24}/mapreader/load/__init__.py +0 -0
- {mapreader-1.8.2.post0.dev9 → mapreader-1.8.2.post0.dev24}/mapreader/load/geo_utils.py +0 -0
- {mapreader-1.8.2.post0.dev9 → mapreader-1.8.2.post0.dev24}/mapreader/load/loader.py +0 -0
- {mapreader-1.8.2.post0.dev9 → mapreader-1.8.2.post0.dev24}/mapreader/process/__init__.py +0 -0
- {mapreader-1.8.2.post0.dev9 → mapreader-1.8.2.post0.dev24}/mapreader/process/context_post_process.py +0 -0
- {mapreader-1.8.2.post0.dev9 → mapreader-1.8.2.post0.dev24}/mapreader/process/process.py +0 -0
- {mapreader-1.8.2.post0.dev9 → mapreader-1.8.2.post0.dev24}/mapreader/spot_text/__init__.py +0 -0
- {mapreader-1.8.2.post0.dev9 → mapreader-1.8.2.post0.dev24}/mapreader/spot_text/dataclasses.py +0 -0
- {mapreader-1.8.2.post0.dev9 → mapreader-1.8.2.post0.dev24}/mapreader/spot_text/deepsolo_runner.py +0 -0
- {mapreader-1.8.2.post0.dev9 → mapreader-1.8.2.post0.dev24}/mapreader/spot_text/dptext_detr_runner.py +0 -0
- {mapreader-1.8.2.post0.dev9 → mapreader-1.8.2.post0.dev24}/mapreader/spot_text/maptext_runner.py +0 -0
- {mapreader-1.8.2.post0.dev9 → mapreader-1.8.2.post0.dev24}/mapreader/spot_text/runner_base.py +0 -0
- {mapreader-1.8.2.post0.dev9 → mapreader-1.8.2.post0.dev24}/mapreader/utils/__init__.py +0 -0
- {mapreader-1.8.2.post0.dev9 → mapreader-1.8.2.post0.dev24}/mapreader/utils/compute_and_save_stats.py +0 -0
- {mapreader-1.8.2.post0.dev9 → mapreader-1.8.2.post0.dev24}/mapreader/utils/load_frames.py +0 -0
- {mapreader-1.8.2.post0.dev9 → mapreader-1.8.2.post0.dev24}/mapreader/utils/slice_parallel.py +0 -0
- {mapreader-1.8.2.post0.dev9 → mapreader-1.8.2.post0.dev24}/mapreader.egg-info/SOURCES.txt +0 -0
- {mapreader-1.8.2.post0.dev9 → mapreader-1.8.2.post0.dev24}/mapreader.egg-info/dependency_links.txt +0 -0
- {mapreader-1.8.2.post0.dev9 → mapreader-1.8.2.post0.dev24}/mapreader.egg-info/entry_points.txt +0 -0
- {mapreader-1.8.2.post0.dev9 → mapreader-1.8.2.post0.dev24}/mapreader.egg-info/not-zip-safe +0 -0
- {mapreader-1.8.2.post0.dev9 → mapreader-1.8.2.post0.dev24}/mapreader.egg-info/top_level.txt +0 -0
- {mapreader-1.8.2.post0.dev9 → mapreader-1.8.2.post0.dev24}/setup.cfg +0 -0
- {mapreader-1.8.2.post0.dev9 → mapreader-1.8.2.post0.dev24}/tests/test_geo_pipeline.py +0 -0
- {mapreader-1.8.2.post0.dev9 → mapreader-1.8.2.post0.dev24}/tests/test_import.py +0 -0
- {mapreader-1.8.2.post0.dev9 → mapreader-1.8.2.post0.dev24}/tests/test_utils_load_frames.py +0 -0
- {mapreader-1.8.2.post0.dev9 → 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.
|
|
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<
|
|
32
|
-
Requires-Dist: pandas
|
|
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.
|
|
41
|
-
Requires-Dist: torchvision<=0.
|
|
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<
|
|
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.
|
|
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
|
|
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
|
|
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<
|
|
69
|
-
Requires-Dist: pytest-cov<
|
|
70
|
-
Requires-Dist: timm<
|
|
71
|
-
Requires-Dist: transformers!=4.50.0,<4.
|
|
72
|
-
Requires-Dist: black<
|
|
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-
|
|
11
|
+
"date": "2026-09-13T07:48:00+0100",
|
|
12
12
|
"dirty": false,
|
|
13
13
|
"error": null,
|
|
14
|
-
"full-revisionid": "
|
|
15
|
-
"version": "1.8.2.post0.
|
|
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.
|
|
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
|
|
|
@@ -108,6 +108,7 @@ class ClassifierContainer:
|
|
|
108
108
|
is_inception: bool = False,
|
|
109
109
|
load_path: str | None = None,
|
|
110
110
|
force_device: bool = False,
|
|
111
|
+
huggingface: bool = False,
|
|
111
112
|
**kwargs,
|
|
112
113
|
):
|
|
113
114
|
# set up device
|
|
@@ -149,7 +150,31 @@ class ClassifierContainer:
|
|
|
149
150
|
self.input_size = input_size
|
|
150
151
|
self.is_inception = is_inception
|
|
151
152
|
elif isinstance(model, str):
|
|
152
|
-
|
|
153
|
+
if huggingface:
|
|
154
|
+
try:
|
|
155
|
+
from transformers import AutoModelForImageClassification, AutoImageProcessor
|
|
156
|
+
except ImportError:
|
|
157
|
+
raise ImportError(
|
|
158
|
+
"Hugging Face models require the 'transformers' library: 'pip install transformers'."
|
|
159
|
+
)
|
|
160
|
+
print(f"[INFO] Initializing Hugging Face model: {model}")
|
|
161
|
+
num_labels = len(self.labels_map)
|
|
162
|
+
self.model = AutoModelForImageClassification.from_pretrained(
|
|
163
|
+
model,
|
|
164
|
+
num_labels=num_labels,
|
|
165
|
+
ignore_mismatched_sizes=True
|
|
166
|
+
).to(self.device)
|
|
167
|
+
hf_processor = AutoImageProcessor.from_pretrained(model)
|
|
168
|
+
size = getattr(hf_processor, "size", {})
|
|
169
|
+
if "height" in size and "width" in size:
|
|
170
|
+
size = (size["height"], size["width"])
|
|
171
|
+
elif "shortest_edge" in size:
|
|
172
|
+
size = (size["shortest_edge"], size["shortest_edge"])
|
|
173
|
+
else:
|
|
174
|
+
size = input_size
|
|
175
|
+
self.is_inception = False
|
|
176
|
+
else:
|
|
177
|
+
self._initialize_model(model, **kwargs)
|
|
153
178
|
|
|
154
179
|
self.optimizer = None
|
|
155
180
|
self.scheduler = None
|
|
@@ -1745,7 +1770,7 @@ Use ``torch.optim.lr_scheduler`` directly and then the ``add_scheduler`` method
|
|
|
1745
1770
|
par_name = os.path.dirname(load_path)
|
|
1746
1771
|
base_name = os.path.basename(load_path)
|
|
1747
1772
|
path2model = os.path.join(par_name, f"model_{base_name}")
|
|
1748
|
-
self.model = torch.load(path2model, map_location=mydevice)
|
|
1773
|
+
self.model = torch.load(path2model, map_location=mydevice, weights_only=False)
|
|
1749
1774
|
|
|
1750
1775
|
try:
|
|
1751
1776
|
self.device = mydevice
|
{mapreader-1.8.2.post0.dev9 → mapreader-1.8.2.post0.dev24}/mapreader/classify/load_annotations.py
RENAMED
|
@@ -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 =
|
|
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()],
|
{mapreader-1.8.2.post0.dev9 → mapreader-1.8.2.post0.dev24}/mapreader/download/sheet_downloader.py
RENAMED
|
@@ -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"].
|
|
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.
|
|
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
|
{mapreader-1.8.2.post0.dev9 → mapreader-1.8.2.post0.dev24}/mapreader/process/occlusion_analysis.py
RENAMED
|
@@ -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.
|
|
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<
|
|
32
|
-
Requires-Dist: pandas
|
|
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.
|
|
41
|
-
Requires-Dist: torchvision<=0.
|
|
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<
|
|
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.
|
|
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
|
|
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
|
|
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<
|
|
69
|
-
Requires-Dist: pytest-cov<
|
|
70
|
-
Requires-Dist: timm<
|
|
71
|
-
Requires-Dist: transformers!=4.50.0,<4.
|
|
72
|
-
Requires-Dist: black<
|
|
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<
|
|
3
|
-
pandas
|
|
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.
|
|
12
|
-
torchvision<=0.
|
|
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<
|
|
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.
|
|
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
|
|
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
|
|
35
|
+
xyzservices>=2024.9.0
|
|
36
36
|
piffle>=0.7.0
|
|
37
37
|
lxml
|
|
38
38
|
|
|
39
39
|
[dev]
|
|
40
|
-
pytest<
|
|
41
|
-
pytest-cov<
|
|
42
|
-
timm<
|
|
43
|
-
transformers!=4.50.0,<4.
|
|
44
|
-
black<
|
|
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,<
|
|
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.
|
|
42
|
-
"torchvision>=0.11.1,<=0.
|
|
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,<
|
|
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.
|
|
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
|
|
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
|
|
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
|
|
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<
|
|
72
|
-
"pytest-cov>=4.1.0,<
|
|
73
|
-
"timm<
|
|
74
|
-
"transformers
|
|
75
|
-
"black>=23.7.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
|
},
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{mapreader-1.8.2.post0.dev9 → mapreader-1.8.2.post0.dev24}/mapreader/classify/custom_models.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{mapreader-1.8.2.post0.dev9 → mapreader-1.8.2.post0.dev24}/mapreader/download/data_structures.py
RENAMED
|
File without changes
|
|
File without changes
|
{mapreader-1.8.2.post0.dev9 → mapreader-1.8.2.post0.dev24}/mapreader/download/downloader_utils.py
RENAMED
|
File without changes
|
{mapreader-1.8.2.post0.dev9 → mapreader-1.8.2.post0.dev24}/mapreader/download/iiif_downloader.py
RENAMED
|
File without changes
|
{mapreader-1.8.2.post0.dev9 → mapreader-1.8.2.post0.dev24}/mapreader/download/tile_loading.py
RENAMED
|
File without changes
|
{mapreader-1.8.2.post0.dev9 → mapreader-1.8.2.post0.dev24}/mapreader/download/tile_merging.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{mapreader-1.8.2.post0.dev9 → mapreader-1.8.2.post0.dev24}/mapreader/process/context_post_process.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{mapreader-1.8.2.post0.dev9 → mapreader-1.8.2.post0.dev24}/mapreader/spot_text/dataclasses.py
RENAMED
|
File without changes
|
{mapreader-1.8.2.post0.dev9 → mapreader-1.8.2.post0.dev24}/mapreader/spot_text/deepsolo_runner.py
RENAMED
|
File without changes
|
{mapreader-1.8.2.post0.dev9 → mapreader-1.8.2.post0.dev24}/mapreader/spot_text/dptext_detr_runner.py
RENAMED
|
File without changes
|
{mapreader-1.8.2.post0.dev9 → mapreader-1.8.2.post0.dev24}/mapreader/spot_text/maptext_runner.py
RENAMED
|
File without changes
|
{mapreader-1.8.2.post0.dev9 → mapreader-1.8.2.post0.dev24}/mapreader/spot_text/runner_base.py
RENAMED
|
File without changes
|
|
File without changes
|
{mapreader-1.8.2.post0.dev9 → mapreader-1.8.2.post0.dev24}/mapreader/utils/compute_and_save_stats.py
RENAMED
|
File without changes
|
|
File without changes
|
{mapreader-1.8.2.post0.dev9 → mapreader-1.8.2.post0.dev24}/mapreader/utils/slice_parallel.py
RENAMED
|
File without changes
|
|
File without changes
|
{mapreader-1.8.2.post0.dev9 → mapreader-1.8.2.post0.dev24}/mapreader.egg-info/dependency_links.txt
RENAMED
|
File without changes
|
{mapreader-1.8.2.post0.dev9 → mapreader-1.8.2.post0.dev24}/mapreader.egg-info/entry_points.txt
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|