geomind-ai 1.0.5__py3-none-any.whl → 1.0.7__py3-none-any.whl
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.
- geomind/__init__.py +1 -1
- geomind/agent.py +1 -1
- geomind/cli.py +7 -4
- geomind/config.py +1 -1
- geomind/tools/processing.py +8 -2
- {geomind_ai-1.0.5.dist-info → geomind_ai-1.0.7.dist-info}/METADATA +1 -1
- geomind_ai-1.0.7.dist-info/RECORD +14 -0
- geomind_ai-1.0.5.dist-info/RECORD +0 -14
- {geomind_ai-1.0.5.dist-info → geomind_ai-1.0.7.dist-info}/WHEEL +0 -0
- {geomind_ai-1.0.5.dist-info → geomind_ai-1.0.7.dist-info}/entry_points.txt +0 -0
- {geomind_ai-1.0.5.dist-info → geomind_ai-1.0.7.dist-info}/licenses/LICENSE +0 -0
- {geomind_ai-1.0.5.dist-info → geomind_ai-1.0.7.dist-info}/top_level.txt +0 -0
geomind/__init__.py
CHANGED
geomind/agent.py
CHANGED
|
@@ -245,7 +245,7 @@ class GeoMindAgent:
|
|
|
245
245
|
Initialize the GeoMind agent.
|
|
246
246
|
|
|
247
247
|
Args:
|
|
248
|
-
model: Model name (default:
|
|
248
|
+
model: Model name (default: xiaomi/mimo-v2-flash:free)
|
|
249
249
|
api_key: OpenRouter API key (required).
|
|
250
250
|
"""
|
|
251
251
|
self.provider = "openrouter"
|
geomind/cli.py
CHANGED
|
@@ -55,6 +55,9 @@ Examples:
|
|
|
55
55
|
# With API key
|
|
56
56
|
geomind --api-key "your-openrouter-api-key"
|
|
57
57
|
|
|
58
|
+
# Clear saved API key
|
|
59
|
+
geomind --clear-key
|
|
60
|
+
|
|
58
61
|
Environment Variables:
|
|
59
62
|
OPENROUTER_API_KEY Your OpenRouter API key
|
|
60
63
|
OPENROUTER_MODEL Model to use (default: xiaomi/mimo-v2-flash:free)
|
|
@@ -83,9 +86,7 @@ Environment Variables:
|
|
|
83
86
|
parser.add_argument(
|
|
84
87
|
"--version", "-v", action="store_true", help="Show version and exit"
|
|
85
88
|
)
|
|
86
|
-
parser.add_argument(
|
|
87
|
-
"--clear-key", action="store_true", help="Clear saved API key"
|
|
88
|
-
)
|
|
89
|
+
parser.add_argument("--clear-key", action="store_true", help="Clear saved API key")
|
|
89
90
|
|
|
90
91
|
args = parser.parse_args()
|
|
91
92
|
|
|
@@ -129,10 +130,12 @@ Environment Variables:
|
|
|
129
130
|
|
|
130
131
|
def run_interactive(model: Optional[str] = None, api_key: Optional[str] = None):
|
|
131
132
|
"""Run interactive CLI mode."""
|
|
133
|
+
from . import __version__
|
|
134
|
+
|
|
132
135
|
print("=" * 60)
|
|
133
136
|
print("🌍 GeoMind - Geospatial AI Agent")
|
|
134
137
|
print("=" * 60)
|
|
135
|
-
print("
|
|
138
|
+
print(f"Version: {__version__} | Author: Harsh Shinde")
|
|
136
139
|
print("Type 'quit' or 'exit' to end the session")
|
|
137
140
|
print("Type 'reset' to start a new conversation")
|
|
138
141
|
print("=" * 60)
|
geomind/config.py
CHANGED
|
@@ -52,4 +52,4 @@ GEOCODER_USER_AGENT = "geomind_agent_v0.1"
|
|
|
52
52
|
# Get your free API key at: https://openrouter.ai/settings/keys
|
|
53
53
|
OPENROUTER_API_KEY = os.getenv("OPENROUTER_API_KEY", "")
|
|
54
54
|
OPENROUTER_API_URL = os.getenv("OPENROUTER_API_URL", "https://openrouter.ai/api/v1")
|
|
55
|
-
OPENROUTER_MODEL = os.getenv("OPENROUTER_MODEL", "
|
|
55
|
+
OPENROUTER_MODEL = os.getenv("OPENROUTER_MODEL", "xiaomi/mimo-v2-flash:free")
|
geomind/tools/processing.py
CHANGED
|
@@ -8,6 +8,12 @@ from typing import Optional, List, Tuple
|
|
|
8
8
|
from pathlib import Path
|
|
9
9
|
import numpy as np
|
|
10
10
|
|
|
11
|
+
# Use non-interactive backend BEFORE any other matplotlib imports
|
|
12
|
+
import matplotlib
|
|
13
|
+
|
|
14
|
+
matplotlib.use("Agg")
|
|
15
|
+
import matplotlib.pyplot as plt
|
|
16
|
+
|
|
11
17
|
from ..config import (
|
|
12
18
|
REFLECTANCE_SCALE,
|
|
13
19
|
REFLECTANCE_OFFSET,
|
|
@@ -109,7 +115,6 @@ def create_rgb_composite(
|
|
|
109
115
|
"""
|
|
110
116
|
try:
|
|
111
117
|
import xarray as xr
|
|
112
|
-
import matplotlib.pyplot as plt
|
|
113
118
|
import zarr
|
|
114
119
|
|
|
115
120
|
# Open the Zarr store
|
|
@@ -164,6 +169,7 @@ def create_rgb_composite(
|
|
|
164
169
|
# Save
|
|
165
170
|
plt.savefig(output_path, dpi=150, bbox_inches="tight", pad_inches=0.1)
|
|
166
171
|
plt.close(fig)
|
|
172
|
+
plt.close('all') # Ensure all figures are closed
|
|
167
173
|
|
|
168
174
|
return {
|
|
169
175
|
"success": True,
|
|
@@ -200,7 +206,6 @@ def calculate_ndvi(
|
|
|
200
206
|
"""
|
|
201
207
|
try:
|
|
202
208
|
import zarr
|
|
203
|
-
import matplotlib.pyplot as plt
|
|
204
209
|
from matplotlib.colors import LinearSegmentedColormap
|
|
205
210
|
|
|
206
211
|
# Open the Zarr store
|
|
@@ -261,6 +266,7 @@ def calculate_ndvi(
|
|
|
261
266
|
# Save
|
|
262
267
|
plt.savefig(output_path, dpi=150, bbox_inches="tight", pad_inches=0.1)
|
|
263
268
|
plt.close(fig)
|
|
269
|
+
plt.close('all') # Ensure all figures are closed
|
|
264
270
|
|
|
265
271
|
return {
|
|
266
272
|
"success": True,
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
geomind/__init__.py,sha256=d2O1CSs2HLyIA1r1p7SpXN0TOvkABsUQGznauLCb7Wo,151
|
|
2
|
+
geomind/agent.py,sha256=mc9Qnn247qXYKkPLTUPJWLF7cV-GedWuJq4jqNklCdU,15651
|
|
3
|
+
geomind/cli.py,sha256=EKjTzWyXa-9rTh8b66GnLbe_BxdkBf5BPWboxc2B8Ko,5318
|
|
4
|
+
geomind/config.py,sha256=Zv2IlY8fJcxkv9KviLkyak3IvCSoCqEfi6BfftHcqFA,2020
|
|
5
|
+
geomind/tools/__init__.py,sha256=8iumGwIFHh8Bj1VJNgZtmKnEBqCy6_cRkzYENDUH7x4,720
|
|
6
|
+
geomind/tools/geocoding.py,sha256=hiLpzHpkJP6IgWAUtZMnHL6qpkWcYWVLpGe0yfYxXv8,3007
|
|
7
|
+
geomind/tools/processing.py,sha256=mGu20uvpAVil2w2BEqj-0zYhKhCFuZHr1-3-vq0VzqM,10152
|
|
8
|
+
geomind/tools/stac_search.py,sha256=V6230l4aHjedPWXu-3Cjmfc6diSFh5zsycewUko0W8k,6452
|
|
9
|
+
geomind_ai-1.0.7.dist-info/licenses/LICENSE,sha256=aveu0ERm7I3NnIu8rtpKdvd0eyRpmktXKU0PBABtSN0,1069
|
|
10
|
+
geomind_ai-1.0.7.dist-info/METADATA,sha256=bXO5xHXIYqJZ6NwPkBZRNlYDoEC1nXSgqaHkjJ_3EK8,2233
|
|
11
|
+
geomind_ai-1.0.7.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
|
|
12
|
+
geomind_ai-1.0.7.dist-info/entry_points.txt,sha256=2nPR3faYKl0-1epccvzMJ2xdi-Q1Vt7aOSvA84oIWnw,45
|
|
13
|
+
geomind_ai-1.0.7.dist-info/top_level.txt,sha256=rjKWNSNRhq4R9xJoZGsG-eAaH7BmTVNvfrrbcaJMIIs,8
|
|
14
|
+
geomind_ai-1.0.7.dist-info/RECORD,,
|
|
@@ -1,14 +0,0 @@
|
|
|
1
|
-
geomind/__init__.py,sha256=xq7_AdhGGOgR1EMaBVysKaqbON5BJmSvg4msrYiO5Pg,151
|
|
2
|
-
geomind/agent.py,sha256=dpHH8q-x6v0CXbnTEPlJvhLb-2AqEiU4eZT__sjLl2U,15658
|
|
3
|
-
geomind/cli.py,sha256=VS5rASORRuWyXRcgUvUG2qCUX15qRG6KSvkj8EVIsbQ,5250
|
|
4
|
-
geomind/config.py,sha256=MQ9eP21kljXsQRIu6q9pyc7LCrLegEfVii5jYT6X23w,2027
|
|
5
|
-
geomind/tools/__init__.py,sha256=8iumGwIFHh8Bj1VJNgZtmKnEBqCy6_cRkzYENDUH7x4,720
|
|
6
|
-
geomind/tools/geocoding.py,sha256=hiLpzHpkJP6IgWAUtZMnHL6qpkWcYWVLpGe0yfYxXv8,3007
|
|
7
|
-
geomind/tools/processing.py,sha256=vMp8PMb8h8QiBRBFRvI_TGRqEDBTDQvSV0zvC1Ji5bc,9976
|
|
8
|
-
geomind/tools/stac_search.py,sha256=V6230l4aHjedPWXu-3Cjmfc6diSFh5zsycewUko0W8k,6452
|
|
9
|
-
geomind_ai-1.0.5.dist-info/licenses/LICENSE,sha256=aveu0ERm7I3NnIu8rtpKdvd0eyRpmktXKU0PBABtSN0,1069
|
|
10
|
-
geomind_ai-1.0.5.dist-info/METADATA,sha256=HriO8wTTwVxyMWY9aE9MzhQf2JrohOYFKAdmUfSDwvg,2233
|
|
11
|
-
geomind_ai-1.0.5.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
|
|
12
|
-
geomind_ai-1.0.5.dist-info/entry_points.txt,sha256=2nPR3faYKl0-1epccvzMJ2xdi-Q1Vt7aOSvA84oIWnw,45
|
|
13
|
-
geomind_ai-1.0.5.dist-info/top_level.txt,sha256=rjKWNSNRhq4R9xJoZGsG-eAaH7BmTVNvfrrbcaJMIIs,8
|
|
14
|
-
geomind_ai-1.0.5.dist-info/RECORD,,
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|