geoai-py 0.13.2__tar.gz → 0.15.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 (51) hide show
  1. {geoai_py-0.13.2 → geoai_py-0.15.0}/.editorconfig +1 -0
  2. {geoai_py-0.13.2 → geoai_py-0.15.0}/.gitignore +5 -0
  3. geoai_py-0.15.0/CITATION.cff +11 -0
  4. {geoai_py-0.13.2 → geoai_py-0.15.0}/LICENSE +1 -2
  5. {geoai_py-0.13.2 → geoai_py-0.15.0}/PKG-INFO +16 -5
  6. {geoai_py-0.13.2 → geoai_py-0.15.0}/README.md +14 -4
  7. {geoai_py-0.13.2 → geoai_py-0.15.0}/geoai/__init__.py +21 -1
  8. geoai_py-0.15.0/geoai/timm_segment.py +1097 -0
  9. geoai_py-0.15.0/geoai/timm_train.py +658 -0
  10. {geoai_py-0.13.2 → geoai_py-0.15.0}/geoai/train.py +224 -77
  11. {geoai_py-0.13.2 → geoai_py-0.15.0}/geoai/utils.py +893 -103
  12. {geoai_py-0.13.2 → geoai_py-0.15.0}/geoai_py.egg-info/PKG-INFO +16 -5
  13. {geoai_py-0.13.2 → geoai_py-0.15.0}/geoai_py.egg-info/SOURCES.txt +3 -0
  14. {geoai_py-0.13.2 → geoai_py-0.15.0}/geoai_py.egg-info/requires.txt +1 -0
  15. {geoai_py-0.13.2 → geoai_py-0.15.0}/mkdocs.yml +7 -0
  16. {geoai_py-0.13.2 → geoai_py-0.15.0}/pyproject.toml +2 -2
  17. {geoai_py-0.13.2 → geoai_py-0.15.0}/requirements.txt +1 -0
  18. {geoai_py-0.13.2 → geoai_py-0.15.0}/.dockerignore +0 -0
  19. {geoai_py-0.13.2 → geoai_py-0.15.0}/.pre-commit-config.yaml +0 -0
  20. {geoai_py-0.13.2 → geoai_py-0.15.0}/Dockerfile +0 -0
  21. {geoai_py-0.13.2 → geoai_py-0.15.0}/MANIFEST.in +0 -0
  22. {geoai_py-0.13.2 → geoai_py-0.15.0}/geoai/agents/__init__.py +0 -0
  23. {geoai_py-0.13.2 → geoai_py-0.15.0}/geoai/agents/geo_agents.py +0 -0
  24. {geoai_py-0.13.2 → geoai_py-0.15.0}/geoai/agents/map_tools.py +0 -0
  25. {geoai_py-0.13.2 → geoai_py-0.15.0}/geoai/change_detection.py +0 -0
  26. {geoai_py-0.13.2 → geoai_py-0.15.0}/geoai/classify.py +0 -0
  27. {geoai_py-0.13.2 → geoai_py-0.15.0}/geoai/detectron2.py +0 -0
  28. {geoai_py-0.13.2 → geoai_py-0.15.0}/geoai/dinov3.py +0 -0
  29. {geoai_py-0.13.2 → geoai_py-0.15.0}/geoai/download.py +0 -0
  30. {geoai_py-0.13.2 → geoai_py-0.15.0}/geoai/extract.py +0 -0
  31. {geoai_py-0.13.2 → geoai_py-0.15.0}/geoai/geoai.py +0 -0
  32. {geoai_py-0.13.2 → geoai_py-0.15.0}/geoai/hf.py +0 -0
  33. {geoai_py-0.13.2 → geoai_py-0.15.0}/geoai/map_widgets.py +0 -0
  34. {geoai_py-0.13.2 → geoai_py-0.15.0}/geoai/sam.py +0 -0
  35. {geoai_py-0.13.2 → geoai_py-0.15.0}/geoai/segment.py +0 -0
  36. {geoai_py-0.13.2 → geoai_py-0.15.0}/geoai/segmentation.py +0 -0
  37. {geoai_py-0.13.2 → geoai_py-0.15.0}/geoai_py.egg-info/dependency_links.txt +0 -0
  38. {geoai_py-0.13.2 → geoai_py-0.15.0}/geoai_py.egg-info/entry_points.txt +0 -0
  39. {geoai_py-0.13.2 → geoai_py-0.15.0}/geoai_py.egg-info/top_level.txt +0 -0
  40. {geoai_py-0.13.2 → geoai_py-0.15.0}/pytest.ini +0 -0
  41. {geoai_py-0.13.2 → geoai_py-0.15.0}/requirements_docs.txt +0 -0
  42. {geoai_py-0.13.2 → geoai_py-0.15.0}/setup.cfg +0 -0
  43. {geoai_py-0.13.2 → geoai_py-0.15.0}/tests/__init__.py +0 -0
  44. {geoai_py-0.13.2 → geoai_py-0.15.0}/tests/create_test_data.py +0 -0
  45. {geoai_py-0.13.2 → geoai_py-0.15.0}/tests/test_classify.py +0 -0
  46. {geoai_py-0.13.2 → geoai_py-0.15.0}/tests/test_download.py +0 -0
  47. {geoai_py-0.13.2 → geoai_py-0.15.0}/tests/test_extract.py +0 -0
  48. {geoai_py-0.13.2 → geoai_py-0.15.0}/tests/test_fixtures.py +0 -0
  49. {geoai_py-0.13.2 → geoai_py-0.15.0}/tests/test_geoai.py +0 -0
  50. {geoai_py-0.13.2 → geoai_py-0.15.0}/tests/test_segment.py +0 -0
  51. {geoai_py-0.13.2 → geoai_py-0.15.0}/tests/test_utils.py +0 -0
@@ -1,5 +1,6 @@
1
1
  # http://editorconfig.org
2
2
 
3
+ # top-most EditorConfig file
3
4
  root = true
4
5
 
5
6
  [*]
@@ -5,6 +5,11 @@ private/
5
5
  *$py.class
6
6
  *.jp2
7
7
  tests/data/
8
+ CLAUDE.md
9
+ AI_AGENTS.md
10
+ docs/examples/timm_output/
11
+ docs/examples/timm_seg_output/
12
+ docs/examples/timm_buildings/
8
13
 
9
14
  # C extensions
10
15
  *.so
@@ -0,0 +1,11 @@
1
+ cff-version: 1.1.0
2
+ message: "If you use this software, please cite it as below."
3
+ authors:
4
+ - family-names: Wu
5
+ given-names: Qiusheng
6
+ orcid: https://orcid.org/0000-0001-5437-4073
7
+ title: "GeoAI: A Python package for integrating artificial intelligence with geospatial data analysis and visualization"
8
+ version: 0.14.0
9
+ doi: 10.21105/joss.09025
10
+ date-released: 2025-10-05
11
+ url: "https://github.com/opengeos/goeai"
@@ -1,6 +1,6 @@
1
1
  MIT License
2
2
 
3
- Copyright (c) 2023, Qiusheng Wu
3
+ Copyright (c) 2023-2025, Qiusheng Wu
4
4
 
5
5
  Permission is hereby granted, free of charge, to any person obtaining a copy
6
6
  of this software and associated documentation files (the "Software"), to deal
@@ -19,4 +19,3 @@ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
19
  LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
20
  OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
21
  SOFTWARE.
22
-
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: geoai-py
3
- Version: 0.13.2
3
+ Version: 0.15.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
@@ -38,6 +38,7 @@ Requires-Dist: rasterio
38
38
  Requires-Dist: rioxarray
39
39
  Requires-Dist: scikit-image
40
40
  Requires-Dist: scikit-learn
41
+ Requires-Dist: timm
41
42
  Requires-Dist: torch
42
43
  Requires-Dist: torchgeo
43
44
  Requires-Dist: torchinfo
@@ -92,6 +93,12 @@ GeoAI addresses this need by providing a unified, user-friendly interface that a
92
93
 
93
94
  The package's design philosophy emphasizes simplicity without sacrificing functionality, enabling users to perform sophisticated analyses such as building footprint extraction from satellite imagery, land cover classification, and change detection with just a few lines of code. By integrating cutting-edge AI models and providing seamless access to major geospatial data sources, GeoAI significantly lowers the barrier to entry for geospatial AI applications while maintaining the flexibility needed for advanced research applications.
94
95
 
96
+ ## Citations
97
+
98
+ If you find GeoAI useful in your research, please consider citing the following paper to support my work. Thank you for your support.
99
+
100
+ - Wu, Q. (2025). GeoAI: A Python package for integrating artificial intelligence with geospatial data analysis and visualization. _Journal of Open Source Software_, 9025. [https://doi.org/10.21105/joss.09025](https://github.com/openjournals/joss-papers/blob/joss.09025/joss.09025/10.21105.joss.09025.pdf) (Under Review)
101
+
95
102
  ## 🚀 Key Features
96
103
 
97
104
  ### 📊 Advanced Geospatial Data Visualization
@@ -159,13 +166,17 @@ Comprehensive documentation is available at [https://opengeoai.org](https://open
159
166
 
160
167
  ## 📺 Video Tutorials
161
168
 
162
- Check out this 2-hour video tutorial on using GeoAI for geospatial data analysis and visualization.
169
+ ### GeoAI Made Easy: Learn the Python Package Step-by-Step (Beginner Friendly)
170
+
171
+ [![intro](https://github.com/user-attachments/assets/7e60ce05-573d-4d0d-9876-5289b87e5136)](https://youtu.be/VIl29Rca6zE&list=PLAxJ4-o7ZoPcvENqwaPa_QwbbkZ5sctZE)
172
+
173
+ ### GeoAI Workshop: Unlocking the Power of GeoAI with Python
163
174
 
164
- [![cover](https://github.com/user-attachments/assets/1c14e651-65b9-41ae-b42d-3ad028b3eeb8)](https://youtu.be/jdK-cleFUkc)
175
+ [![cover](https://github.com/user-attachments/assets/1c14e651-65b9-41ae-b42d-3ad028b3eeb8)](https://youtu.be/jdK-cleFUkc&list=PLAxJ4-o7ZoPcvENqwaPa_QwbbkZ5sctZE)
165
176
 
166
- To learn more about GeoAI, you can watch the following video tutorials:
177
+ ### GeoAI Tutorials Playlist
167
178
 
168
- [![cover](https://github.com/user-attachments/assets/3cde9547-ab62-4d70-b23a-3e5ed27c7407)](https://tinyurl.com/GeoAI-Tutorials)
179
+ [![cover](https://github.com/user-attachments/assets/3cde9547-ab62-4d70-b23a-3e5ed27c7407)](https://www.youtube.com/playlist?list=PLAxJ4-o7ZoPcvENqwaPa_QwbbkZ5sctZE)
169
180
 
170
181
  ## 🤝 Contributing
171
182
 
@@ -36,6 +36,12 @@ GeoAI addresses this need by providing a unified, user-friendly interface that a
36
36
 
37
37
  The package's design philosophy emphasizes simplicity without sacrificing functionality, enabling users to perform sophisticated analyses such as building footprint extraction from satellite imagery, land cover classification, and change detection with just a few lines of code. By integrating cutting-edge AI models and providing seamless access to major geospatial data sources, GeoAI significantly lowers the barrier to entry for geospatial AI applications while maintaining the flexibility needed for advanced research applications.
38
38
 
39
+ ## Citations
40
+
41
+ If you find GeoAI useful in your research, please consider citing the following paper to support my work. Thank you for your support.
42
+
43
+ - Wu, Q. (2025). GeoAI: A Python package for integrating artificial intelligence with geospatial data analysis and visualization. _Journal of Open Source Software_, 9025. [https://doi.org/10.21105/joss.09025](https://github.com/openjournals/joss-papers/blob/joss.09025/joss.09025/10.21105.joss.09025.pdf) (Under Review)
44
+
39
45
  ## 🚀 Key Features
40
46
 
41
47
  ### 📊 Advanced Geospatial Data Visualization
@@ -103,13 +109,17 @@ Comprehensive documentation is available at [https://opengeoai.org](https://open
103
109
 
104
110
  ## 📺 Video Tutorials
105
111
 
106
- Check out this 2-hour video tutorial on using GeoAI for geospatial data analysis and visualization.
112
+ ### GeoAI Made Easy: Learn the Python Package Step-by-Step (Beginner Friendly)
113
+
114
+ [![intro](https://github.com/user-attachments/assets/7e60ce05-573d-4d0d-9876-5289b87e5136)](https://youtu.be/VIl29Rca6zE&list=PLAxJ4-o7ZoPcvENqwaPa_QwbbkZ5sctZE)
115
+
116
+ ### GeoAI Workshop: Unlocking the Power of GeoAI with Python
107
117
 
108
- [![cover](https://github.com/user-attachments/assets/1c14e651-65b9-41ae-b42d-3ad028b3eeb8)](https://youtu.be/jdK-cleFUkc)
118
+ [![cover](https://github.com/user-attachments/assets/1c14e651-65b9-41ae-b42d-3ad028b3eeb8)](https://youtu.be/jdK-cleFUkc&list=PLAxJ4-o7ZoPcvENqwaPa_QwbbkZ5sctZE)
109
119
 
110
- To learn more about GeoAI, you can watch the following video tutorials:
120
+ ### GeoAI Tutorials Playlist
111
121
 
112
- [![cover](https://github.com/user-attachments/assets/3cde9547-ab62-4d70-b23a-3e5ed27c7407)](https://tinyurl.com/GeoAI-Tutorials)
122
+ [![cover](https://github.com/user-attachments/assets/3cde9547-ab62-4d70-b23a-3e5ed27c7407)](https://www.youtube.com/playlist?list=PLAxJ4-o7ZoPcvENqwaPa_QwbbkZ5sctZE)
113
123
 
114
124
  ## 🤝 Contributing
115
125
 
@@ -2,7 +2,7 @@
2
2
 
3
3
  __author__ = """Qiusheng Wu"""
4
4
  __email__ = "giswqs@gmail.com"
5
- __version__ = "0.13.2"
5
+ __version__ = "0.15.0"
6
6
 
7
7
 
8
8
  import os
@@ -101,3 +101,23 @@ def set_proj_lib_path(verbose=False):
101
101
 
102
102
  from .dinov3 import DINOv3GeoProcessor, analyze_image_patches, create_similarity_map
103
103
  from .geoai import *
104
+
105
+ from .timm_train import (
106
+ get_timm_model,
107
+ modify_first_conv_for_channels,
108
+ TimmClassifier,
109
+ RemoteSensingDataset,
110
+ train_timm_classifier,
111
+ predict_with_timm,
112
+ list_timm_models,
113
+ )
114
+
115
+ from .timm_segment import (
116
+ TimmSegmentationModel,
117
+ SegmentationDataset,
118
+ train_timm_segmentation,
119
+ predict_segmentation,
120
+ train_timm_segmentation_model,
121
+ timm_semantic_segmentation,
122
+ push_timm_model_to_hub,
123
+ )