geoai-py 0.21.0__tar.gz → 0.22.0__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 (83) hide show
  1. {geoai_py-0.21.0 → geoai_py-0.22.0}/PKG-INFO +3 -2
  2. {geoai_py-0.21.0 → geoai_py-0.22.0}/README.md +2 -1
  3. {geoai_py-0.21.0 → geoai_py-0.22.0}/geoai/__init__.py +1 -1
  4. {geoai_py-0.21.0 → geoai_py-0.22.0}/geoai_py.egg-info/PKG-INFO +3 -2
  5. {geoai_py-0.21.0 → geoai_py-0.22.0}/geoai_py.egg-info/SOURCES.txt +1 -0
  6. {geoai_py-0.21.0 → geoai_py-0.22.0}/pyproject.toml +2 -2
  7. {geoai_py-0.21.0 → geoai_py-0.22.0}/qgis_plugin/README.md +91 -55
  8. {geoai_py-0.21.0 → geoai_py-0.22.0}/qgis_plugin/geoai_plugin/dialogs/__init__.py +2 -0
  9. {geoai_py-0.21.0 → geoai_py-0.22.0}/qgis_plugin/geoai_plugin/dialogs/samgeo.py +271 -26
  10. geoai_py-0.22.0/qgis_plugin/geoai_plugin/dialogs/update_checker.py +494 -0
  11. {geoai_py-0.21.0 → geoai_py-0.22.0}/qgis_plugin/geoai_plugin/geoai_plugin.py +55 -2
  12. {geoai_py-0.21.0 → geoai_py-0.22.0}/.dockerignore +0 -0
  13. {geoai_py-0.21.0 → geoai_py-0.22.0}/.editorconfig +0 -0
  14. {geoai_py-0.21.0 → geoai_py-0.22.0}/.gitignore +0 -0
  15. {geoai_py-0.21.0 → geoai_py-0.22.0}/.pre-commit-config.yaml +0 -0
  16. {geoai_py-0.21.0 → geoai_py-0.22.0}/CITATION.cff +0 -0
  17. {geoai_py-0.21.0 → geoai_py-0.22.0}/Dockerfile +0 -0
  18. {geoai_py-0.21.0 → geoai_py-0.22.0}/LICENSE +0 -0
  19. {geoai_py-0.21.0 → geoai_py-0.22.0}/MANIFEST.in +0 -0
  20. {geoai_py-0.21.0 → geoai_py-0.22.0}/geoai/agents/__init__.py +0 -0
  21. {geoai_py-0.21.0 → geoai_py-0.22.0}/geoai/agents/catalog_models.py +0 -0
  22. {geoai_py-0.21.0 → geoai_py-0.22.0}/geoai/agents/catalog_tools.py +0 -0
  23. {geoai_py-0.21.0 → geoai_py-0.22.0}/geoai/agents/geo_agents.py +0 -0
  24. {geoai_py-0.21.0 → geoai_py-0.22.0}/geoai/agents/map_tools.py +0 -0
  25. {geoai_py-0.21.0 → geoai_py-0.22.0}/geoai/agents/stac_models.py +0 -0
  26. {geoai_py-0.21.0 → geoai_py-0.22.0}/geoai/agents/stac_tools.py +0 -0
  27. {geoai_py-0.21.0 → geoai_py-0.22.0}/geoai/auto.py +0 -0
  28. {geoai_py-0.21.0 → geoai_py-0.22.0}/geoai/change_detection.py +0 -0
  29. {geoai_py-0.21.0 → geoai_py-0.22.0}/geoai/classify.py +0 -0
  30. {geoai_py-0.21.0 → geoai_py-0.22.0}/geoai/detectron2.py +0 -0
  31. {geoai_py-0.21.0 → geoai_py-0.22.0}/geoai/dinov3.py +0 -0
  32. {geoai_py-0.21.0 → geoai_py-0.22.0}/geoai/download.py +0 -0
  33. {geoai_py-0.21.0 → geoai_py-0.22.0}/geoai/extract.py +0 -0
  34. {geoai_py-0.21.0 → geoai_py-0.22.0}/geoai/geoai.py +0 -0
  35. {geoai_py-0.21.0 → geoai_py-0.22.0}/geoai/hf.py +0 -0
  36. {geoai_py-0.21.0 → geoai_py-0.22.0}/geoai/landcover_train.py +0 -0
  37. {geoai_py-0.21.0 → geoai_py-0.22.0}/geoai/landcover_utils.py +0 -0
  38. {geoai_py-0.21.0 → geoai_py-0.22.0}/geoai/map_widgets.py +0 -0
  39. {geoai_py-0.21.0 → geoai_py-0.22.0}/geoai/moondream.py +0 -0
  40. {geoai_py-0.21.0 → geoai_py-0.22.0}/geoai/sam.py +0 -0
  41. {geoai_py-0.21.0 → geoai_py-0.22.0}/geoai/segment.py +0 -0
  42. {geoai_py-0.21.0 → geoai_py-0.22.0}/geoai/segmentation.py +0 -0
  43. {geoai_py-0.21.0 → geoai_py-0.22.0}/geoai/timm_segment.py +0 -0
  44. {geoai_py-0.21.0 → geoai_py-0.22.0}/geoai/timm_train.py +0 -0
  45. {geoai_py-0.21.0 → geoai_py-0.22.0}/geoai/tools/__init__.py +0 -0
  46. {geoai_py-0.21.0 → geoai_py-0.22.0}/geoai/tools/cloudmask.py +0 -0
  47. {geoai_py-0.21.0 → geoai_py-0.22.0}/geoai/tools/multiclean.py +0 -0
  48. {geoai_py-0.21.0 → geoai_py-0.22.0}/geoai/tools/sr.py +0 -0
  49. {geoai_py-0.21.0 → geoai_py-0.22.0}/geoai/train.py +0 -0
  50. {geoai_py-0.21.0 → geoai_py-0.22.0}/geoai/utils.py +0 -0
  51. {geoai_py-0.21.0 → geoai_py-0.22.0}/geoai_py.egg-info/dependency_links.txt +0 -0
  52. {geoai_py-0.21.0 → geoai_py-0.22.0}/geoai_py.egg-info/entry_points.txt +0 -0
  53. {geoai_py-0.21.0 → geoai_py-0.22.0}/geoai_py.egg-info/requires.txt +0 -0
  54. {geoai_py-0.21.0 → geoai_py-0.22.0}/geoai_py.egg-info/top_level.txt +0 -0
  55. {geoai_py-0.21.0 → geoai_py-0.22.0}/mkdocs.yml +0 -0
  56. {geoai_py-0.21.0 → geoai_py-0.22.0}/pytest.ini +0 -0
  57. {geoai_py-0.21.0 → geoai_py-0.22.0}/qgis_plugin/geoai_plugin/LICENSE +0 -0
  58. {geoai_py-0.21.0 → geoai_py-0.22.0}/qgis_plugin/geoai_plugin/__init__.py +0 -0
  59. {geoai_py-0.21.0 → geoai_py-0.22.0}/qgis_plugin/geoai_plugin/_geoai_lib.py +0 -0
  60. {geoai_py-0.21.0 → geoai_py-0.22.0}/qgis_plugin/geoai_plugin/dialogs/map_tools.py +0 -0
  61. {geoai_py-0.21.0 → geoai_py-0.22.0}/qgis_plugin/geoai_plugin/dialogs/moondream.py +0 -0
  62. {geoai_py-0.21.0 → geoai_py-0.22.0}/qgis_plugin/geoai_plugin/dialogs/segmentation.py +0 -0
  63. {geoai_py-0.21.0 → geoai_py-0.22.0}/qgis_plugin/geoai_plugin/icons/about.svg +0 -0
  64. {geoai_py-0.21.0 → geoai_py-0.22.0}/qgis_plugin/geoai_plugin/icons/gpu.svg +0 -0
  65. {geoai_py-0.21.0 → geoai_py-0.22.0}/qgis_plugin/geoai_plugin/icons/icon.png +0 -0
  66. {geoai_py-0.21.0 → geoai_py-0.22.0}/qgis_plugin/geoai_plugin/icons/moondream.svg +0 -0
  67. {geoai_py-0.21.0 → geoai_py-0.22.0}/qgis_plugin/geoai_plugin/icons/samgeo.png +0 -0
  68. {geoai_py-0.21.0 → geoai_py-0.22.0}/qgis_plugin/geoai_plugin/icons/segment.svg +0 -0
  69. {geoai_py-0.21.0 → geoai_py-0.22.0}/qgis_plugin/geoai_plugin/metadata.txt +0 -0
  70. {geoai_py-0.21.0 → geoai_py-0.22.0}/qgis_plugin/install.py +0 -0
  71. {geoai_py-0.21.0 → geoai_py-0.22.0}/qgis_plugin/install.sh +0 -0
  72. {geoai_py-0.21.0 → geoai_py-0.22.0}/requirements.txt +0 -0
  73. {geoai_py-0.21.0 → geoai_py-0.22.0}/requirements_docs.txt +0 -0
  74. {geoai_py-0.21.0 → geoai_py-0.22.0}/setup.cfg +0 -0
  75. {geoai_py-0.21.0 → geoai_py-0.22.0}/tests/__init__.py +0 -0
  76. {geoai_py-0.21.0 → geoai_py-0.22.0}/tests/create_test_data.py +0 -0
  77. {geoai_py-0.21.0 → geoai_py-0.22.0}/tests/test_classify.py +0 -0
  78. {geoai_py-0.21.0 → geoai_py-0.22.0}/tests/test_download.py +0 -0
  79. {geoai_py-0.21.0 → geoai_py-0.22.0}/tests/test_extract.py +0 -0
  80. {geoai_py-0.21.0 → geoai_py-0.22.0}/tests/test_fixtures.py +0 -0
  81. {geoai_py-0.21.0 → geoai_py-0.22.0}/tests/test_geoai.py +0 -0
  82. {geoai_py-0.21.0 → geoai_py-0.22.0}/tests/test_segment.py +0 -0
  83. {geoai_py-0.21.0 → geoai_py-0.22.0}/tests/test_utils.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: geoai-py
3
- Version: 0.21.0
3
+ Version: 0.22.0
4
4
  Summary: A Python package for using Artificial Intelligence (AI) with geospatial data
5
5
  Author-email: Qiusheng Wu <giswqs@gmail.com>
6
6
  License: MIT License
@@ -70,6 +70,7 @@ Dynamic: license-file
70
70
  [![Conda Recipe](https://img.shields.io/badge/recipe-geoai-green.svg)](https://github.com/conda-forge/geoai-py-feedstock)
71
71
  [![image](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)
72
72
  [![image](https://img.shields.io/badge/YouTube-Tutorials-red)](https://tinyurl.com/GeoAI-Tutorials)
73
+ [![QGIS](https://img.shields.io/badge/QGIS-plugin-orange.svg)](https://opengeoai.org/qgis_plugin)
73
74
 
74
75
  [![logo](https://raw.githubusercontent.com/opengeos/geoai/master/docs/assets/logo_rect.png)](https://github.com/opengeos/geoai/blob/master/docs/assets/logo.png)
75
76
 
@@ -166,7 +167,7 @@ mamba install -c conda-forge geoai
166
167
 
167
168
  Check out the [QGIS Plugin](https://opengeoai.org/qgis_plugin/) page if you are interested in using GeoAI with QGIS.
168
169
 
169
- [![demo](https://github.com/user-attachments/assets/557feb58-ca58-4e27-800f-f3e8a8d3d362)](https://github.com/user-attachments/assets/557feb58-ca58-4e27-800f-f3e8a8d3d362)
170
+ [![demo](https://github.com/user-attachments/assets/5aabc3d3-efd1-4011-ab31-2b3f11aab3ed)](https://youtu.be/8-OhlqeoyiY)
170
171
 
171
172
  ## 📋 Documentation
172
173
 
@@ -7,6 +7,7 @@
7
7
  [![Conda Recipe](https://img.shields.io/badge/recipe-geoai-green.svg)](https://github.com/conda-forge/geoai-py-feedstock)
8
8
  [![image](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)
9
9
  [![image](https://img.shields.io/badge/YouTube-Tutorials-red)](https://tinyurl.com/GeoAI-Tutorials)
10
+ [![QGIS](https://img.shields.io/badge/QGIS-plugin-orange.svg)](https://opengeoai.org/qgis_plugin)
10
11
 
11
12
  [![logo](https://raw.githubusercontent.com/opengeos/geoai/master/docs/assets/logo_rect.png)](https://github.com/opengeos/geoai/blob/master/docs/assets/logo.png)
12
13
 
@@ -103,7 +104,7 @@ mamba install -c conda-forge geoai
103
104
 
104
105
  Check out the [QGIS Plugin](https://opengeoai.org/qgis_plugin/) page if you are interested in using GeoAI with QGIS.
105
106
 
106
- [![demo](https://github.com/user-attachments/assets/557feb58-ca58-4e27-800f-f3e8a8d3d362)](https://github.com/user-attachments/assets/557feb58-ca58-4e27-800f-f3e8a8d3d362)
107
+ [![demo](https://github.com/user-attachments/assets/5aabc3d3-efd1-4011-ab31-2b3f11aab3ed)](https://youtu.be/8-OhlqeoyiY)
107
108
 
108
109
  ## 📋 Documentation
109
110
 
@@ -2,7 +2,7 @@
2
2
 
3
3
  __author__ = """Qiusheng Wu"""
4
4
  __email__ = "giswqs@gmail.com"
5
- __version__ = "0.21.0"
5
+ __version__ = "0.22.0"
6
6
 
7
7
 
8
8
  import os
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: geoai-py
3
- Version: 0.21.0
3
+ Version: 0.22.0
4
4
  Summary: A Python package for using Artificial Intelligence (AI) with geospatial data
5
5
  Author-email: Qiusheng Wu <giswqs@gmail.com>
6
6
  License: MIT License
@@ -70,6 +70,7 @@ Dynamic: license-file
70
70
  [![Conda Recipe](https://img.shields.io/badge/recipe-geoai-green.svg)](https://github.com/conda-forge/geoai-py-feedstock)
71
71
  [![image](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)
72
72
  [![image](https://img.shields.io/badge/YouTube-Tutorials-red)](https://tinyurl.com/GeoAI-Tutorials)
73
+ [![QGIS](https://img.shields.io/badge/QGIS-plugin-orange.svg)](https://opengeoai.org/qgis_plugin)
73
74
 
74
75
  [![logo](https://raw.githubusercontent.com/opengeos/geoai/master/docs/assets/logo_rect.png)](https://github.com/opengeos/geoai/blob/master/docs/assets/logo.png)
75
76
 
@@ -166,7 +167,7 @@ mamba install -c conda-forge geoai
166
167
 
167
168
  Check out the [QGIS Plugin](https://opengeoai.org/qgis_plugin/) page if you are interested in using GeoAI with QGIS.
168
169
 
169
- [![demo](https://github.com/user-attachments/assets/557feb58-ca58-4e27-800f-f3e8a8d3d362)](https://github.com/user-attachments/assets/557feb58-ca58-4e27-800f-f3e8a8d3d362)
170
+ [![demo](https://github.com/user-attachments/assets/5aabc3d3-efd1-4011-ab31-2b3f11aab3ed)](https://youtu.be/8-OhlqeoyiY)
170
171
 
171
172
  ## 📋 Documentation
172
173
 
@@ -63,6 +63,7 @@ qgis_plugin/geoai_plugin/dialogs/map_tools.py
63
63
  qgis_plugin/geoai_plugin/dialogs/moondream.py
64
64
  qgis_plugin/geoai_plugin/dialogs/samgeo.py
65
65
  qgis_plugin/geoai_plugin/dialogs/segmentation.py
66
+ qgis_plugin/geoai_plugin/dialogs/update_checker.py
66
67
  qgis_plugin/geoai_plugin/icons/about.svg
67
68
  qgis_plugin/geoai_plugin/icons/gpu.svg
68
69
  qgis_plugin/geoai_plugin/icons/icon.png
@@ -1,6 +1,6 @@
1
1
  [project]
2
2
  name = "geoai-py"
3
- version = "0.21.0"
3
+ version = "0.22.0"
4
4
  dynamic = [
5
5
  "dependencies",
6
6
  ]
@@ -45,7 +45,7 @@ universal = true
45
45
 
46
46
 
47
47
  [tool.bumpversion]
48
- current_version = "0.21.0"
48
+ current_version = "0.22.0"
49
49
  commit = true
50
50
  tag = true
51
51
 
@@ -1,14 +1,26 @@
1
1
  # QGIS Plugin for GeoAI
2
2
 
3
- A QGIS plugin providing AI-powered geospatial analysis tools from the [geoai](https://github.com/opengeos/geoai) package. The plugin bundles several model-driven workflows (Moondream VLM, segmentation training/inference, SamGeo) into dockable panels so you can keep QGIS as the main workspace while experimenting with GeoAI.
3
+ A QGIS plugin that brings the [geoai](https://github.com/opengeos/geoai) models into dockable panels (Moondream VLM, segmentation training/inference, SamGeo) so you can keep QGIS as your main workspace while experimenting with GeoAI.
4
4
 
5
5
  ## Quick Start
6
6
 
7
- 1. Create a fresh conda environment (`conda create -n geo python=3.12`) and install QGIS plus GeoAI dependencies as described below.
8
- 2. Install the GeoAI QGIS plugin either from the script (`python install.py`) or by copying the `qgis_plugin` folder into your QGIS profile.
9
- 3. Restart QGIS, enable the plugin under `Plugins` → `Manage and Install Plugins...`, and open one of the panels from the GeoAI toolbar to begin experimenting with sample datasets.
7
+ - Create a fresh conda env (`conda create -n geo python=3.12`) and install QGIS + deps (see below).
8
+ - Install the plugin (`python install.py`) from this repo.
9
+ - Restart QGIS `Plugins` → `Manage and Install Plugins...` enable `GeoAI`.
10
+ - Open a GeoAI toolbar panel and try the sample datasets below.
10
11
 
11
- [![demo](https://github.com/user-attachments/assets/557feb58-ca58-4e27-800f-f3e8a8d3d362)](https://github.com/user-attachments/assets/557feb58-ca58-4e27-800f-f3e8a8d3d362)
12
+ ## Video Tutorials
13
+
14
+ Check out this [short video demo](https://youtu.be/Esr_e6_P1is) and [full video tutorial](https://youtu.be/8-OhlqeoyiY) on how to use the GeoAI plugin in QGIS.
15
+
16
+ [![demo](https://github.com/user-attachments/assets/5aabc3d3-efd1-4011-ab31-2b3f11aab3ed)](https://youtu.be/8-OhlqeoyiY)
17
+
18
+ ## Requirements
19
+
20
+ - QGIS 3.28 or later
21
+ - Python 3.10+ (conda recommended)
22
+ - PyTorch (CUDA if you want GPU acceleration)
23
+ - `geoai` and `samgeo` packages
12
24
 
13
25
  ## Features
14
26
 
@@ -39,85 +51,97 @@ Each tool lives inside a dockable panel that can be attached to either side of t
39
51
 
40
52
  - **Clear GPU Memory**: Release GPU memory and clear CUDA cache for all loaded models
41
53
 
42
- ## Requirements
43
-
44
- - QGIS 3.28 or later
45
- - Python 3.10+
46
- - PyTorch (with CUDA support for GPU acceleration)
47
- - geoai-py package
48
- - samgeo package (for SamGeo panel)
49
-
50
54
  ## Installation
51
55
 
52
- ### Install QGIS and Python Packages
56
+ ### 1) Set up the environment
53
57
 
54
- Before using the plugin, create a new conda environment dedicated to QGIS and the Python dependencies. Please do not try to reuse an existing QGIS install—mismatched Python packages almost always break the plugin.
58
+ #### Installation on Linux/macOS
55
59
 
56
- It is recommended to use [Miniconda](https://www.anaconda.com/docs/getting-started/miniconda/install) to manage conda environments. Once Miniconda is installed, open the Terminal or Anaconda Prompt and run the following commands to create a new conda environment and install QGIS and Python packages:
60
+ Use a clean conda env dedicated to QGIS—mixing with an existing QGIS install often breaks dependencies.
57
61
 
58
62
  ```bash
59
63
  conda create -n geo python=3.12
60
64
  conda activate geo
61
- conda install -c conda-forge qgis segment-geospatial geoai
62
65
  ```
63
66
 
64
- Some SamGeo dependencies are only available on PyPI. Run the following command to install the remaining dependencies:
67
+ Install core geospatial deps first:
65
68
 
66
69
  ```bash
67
- pip install -U "segment-geospatial[samgeo3]"
70
+ conda install -c conda-forge --strict-channel-priority gdal rasterio libnetcdf netcdf4
71
+ python -c "import rasterio; print('rasterio import successful')"
68
72
  ```
69
73
 
70
- It is a bit trickier to install SAM 3 on Windows. Use the following commands to prepare the environment:
74
+ Install GeoAI:
71
75
 
72
76
  ```bash
73
- conda create -n geo python=3.12
74
- conda activate geo
75
- conda install pytorch torchvision pytorch-cuda=12.1 -c pytorch -c nvidia
76
- conda install -c conda-forge qgis segment-geospatial geoai
77
- pip install "segment-geospatial[samgeo3]" triton-windows
77
+ conda install -c conda-forge geoai
78
+ python -c "import geoai; print('geoai import successful')"
79
+ ```
80
+
81
+ Install QGIS:
82
+
83
+ ```bash
84
+ conda install -c conda-forge qgis
85
+ ```
86
+
87
+ Install SamGeo extras (PyPI is required for some parts):
88
+
89
+ ```bash
90
+ pip install -U "segment-geospatial[samgeo3]" sam3
91
+ python -c "import samgeo; print('samgeo import successful')"
78
92
  ```
79
93
 
80
- ### Install QGIS Plugin
94
+ #### Installation on Windows
81
95
 
82
- ### Option 1: Install from Plugin Manager (Coming soon)
96
+ Windows + SAM3 often needs the PyTorch wheels from NVIDIA and PyPI:
83
97
 
84
- 1. Open QGIS
85
- 2. Go to `Plugins` → `Manage and Install Plugins...`
86
- 3. Search for "GeoAI"
87
- 4. Click "Install Plugin"
98
+ ```bash
99
+ conda create -n geo python=3.12
100
+ conda activate geo
101
+ conda install pytorch torchvision pytorch-cuda=12.1 -c pytorch -c nvidia
102
+ conda install -c conda-forge geoai
103
+ python -c "import geoai; print('geoai import successful')"
104
+ conda install -c conda-forge qgis
105
+ pip install -U "segment-geospatial[samgeo3]" triton-windows
106
+ pip install -U sam3 geoai
107
+ ```
88
108
 
89
- ### Option 2: Install Using Script
109
+ #### Request access to SAM 3
90
110
 
91
- 1. Clone or download this repository
111
+ To use SAM 3, you will need to request access by filling out this form on Hugging Face at <https://huggingface.co/facebook/sam3>. Once your request has been approved, run the following command in the terminal to authenticate:
92
112
 
93
- ```bash
94
- git clone https://github.com/opengeos/geoai.git
95
- ```
113
+ ```bash
114
+ hf auth login
115
+ ```
96
116
 
97
- 2. Run the installation script (from the repo root it will link/copy files to your QGIS profile):
117
+ ### 2) Install the QGIS plugin
98
118
 
99
- ```bash
100
- cd qgis_plugin
101
- python install.py
102
- ```
119
+ Option A — use the helper script (recommended):
103
120
 
104
- 3. Restart QGIS so it picks up the new plugin files.
105
- 4. Enable the plugin in `Plugins` → `Manage and Install Plugins...` → Toggle on the `GeoAI` plugin.
121
+ ```bash
122
+ git clone https://github.com/opengeos/geoai.git
123
+ cd geoai/qgis_plugin
124
+ python install.py
125
+ ```
106
126
 
107
- To remove the plugin:
127
+ This links/copies the plugin into your active QGIS profile. Re-run after pulling updates. Remove with:
108
128
 
109
129
  ```bash
110
130
  python install.py --remove
111
131
  ```
112
132
 
113
- ### Option 3: Manual Installation
133
+ Option B manual copy:
134
+
135
+ - Copy the `qgis_plugin` folder to your QGIS plugins directory:
136
+ - Linux: `~/.local/share/QGIS/QGIS3/profiles/default/python/plugins/`
137
+ - Windows: `C:\Users\<username>\AppData\Roaming\QGIS\QGIS3\profiles\default\python\plugins\`
138
+ - macOS: `~/Library/Application Support/QGIS/QGIS3/profiles/default/python/plugins/`
139
+
140
+ ### 3) Enable in QGIS
114
141
 
115
- 1. Copy the `qgis_plugin` folder to your QGIS plugins directory:
116
- - **Linux**: `~/.local/share/QGIS/QGIS3/profiles/default/python/plugins/`
117
- - **Windows**: `C:\Users\<username>\AppData\Roaming\QGIS\QGIS3\profiles\default\python\plugins\`
118
- - **macOS**: `~/Library/Application Support/QGIS/QGIS3/profiles/default/python/plugins/`
119
- 2. Restart QGIS
120
- 3. Enable the plugin in `Plugins` → `Manage and Install Plugins...` → Toggle on the `GeoAI` plugin. Revisit this dialog any time you update the plugin files.
142
+ Launch QGIS: `conda run qgis`
143
+
144
+ QGIS `Plugins` → `Manage and Install Plugins...` → enable `GeoAI`. After updates, toggle the plugin off/on or restart QGIS to reload.
121
145
 
122
146
  ## Usage
123
147
 
@@ -144,9 +168,9 @@ Steps:
144
168
 
145
169
  Sample datasets:
146
170
 
147
- - [naip_train_buildings.tif](https://huggingface.co/datasets/giswqs/geospatial/resolve/main/naip_train_buildings.tif)
148
- - [naip_test_buildings.tif](https://huggingface.co/datasets/giswqs/geospatial/resolve/main/naip_test_buildings.tif)
149
- - [naip_test_buildings.geojson](https://huggingface.co/datasets/giswqs/geospatial/resolve/main/naip_test_buildings.geojson)
171
+ - [naip_rgb_train.tif](https://huggingface.co/datasets/giswqs/geospatial/resolve/main/naip_rgb_train.tif)
172
+ - [naip_test.tif](https://huggingface.co/datasets/giswqs/geospatial/resolve/main/naip_test.tif)
173
+ - [naip_train_buildings.geojson](https://huggingface.co/datasets/giswqs/geospatial/resolve/main/naip_train_buildings.geojson)
150
174
 
151
175
  Steps:
152
176
 
@@ -166,7 +190,12 @@ Steps:
166
190
 
167
191
  ### SamGeo Panel (Segment Anything Model)
168
192
 
169
- Sample dataset: [uc_berkeley.tif](https://huggingface.co/datasets/giswqs/geospatial/resolve/main/uc_berkeley.tif)
193
+ Sample dataset:
194
+
195
+ - [uc_berkeley.tif](https://huggingface.co/datasets/giswqs/geospatial/resolve/main/uc_berkeley.tif)
196
+ - [wa_building_image.tif](https://github.com/opengeos/datasets/releases/download/places/wa_building_image.tif)
197
+ - [wa_building_centroids.geojson](https://github.com/opengeos/datasets/releases/download/places/wa_building_centroids.geojson)
198
+ - [wa_building_bboxes.geojson](https://github.com/opengeos/datasets/releases/download/places/wa_building_bboxes.geojson)
170
199
 
171
200
  Steps:
172
201
 
@@ -244,6 +273,13 @@ The QGIS plugin supports any models supported by [Pytorch Segmentation Models](h
244
273
  - **SamGeo2 (SAM2)**: Improved version with better performance
245
274
  - **SamGeo (SAM1)**: Original Segment Anything Model
246
275
 
276
+ ## Troubleshooting
277
+
278
+ - Plugin missing after install: confirm the plugin folder exists in your QGIS profile path and that you restarted QGIS.
279
+ - GDAL/rasterio errors: verify you launched QGIS from the conda env (`conda activate geo` then `qgis`) so it picks up the same Python libs.
280
+ - CUDA OOM: use the **GPU** button to clear cache, lower batch sizes, or switch to CPU for smaller runs.
281
+ - Model download failures: check network/firewall, then retry loading models from the panel.
282
+
247
283
  ## License
248
284
 
249
285
  MIT License - see [LICENSE](../LICENSE) for details.
@@ -6,8 +6,10 @@ This module contains the dialog and dock widget classes for the GeoAI plugin.
6
6
 
7
7
  from .moondream import MoondreamDockWidget
8
8
  from .segmentation import SegmentationDockWidget
9
+ from .update_checker import UpdateCheckerDialog
9
10
 
10
11
  __all__ = [
11
12
  "MoondreamDockWidget",
12
13
  "SegmentationDockWidget",
14
+ "UpdateCheckerDialog",
13
15
  ]