-
-
Notifications
You must be signed in to change notification settings - Fork 87
Expand file tree
/
Copy pathpyproject.toml
More file actions
121 lines (108 loc) · 3.2 KB
/
Copy pathpyproject.toml
File metadata and controls
121 lines (108 loc) · 3.2 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
[project]
name = "GeoAgent"
version = "1.9.0"
description = "Centralized AI agent framework for Open Geospatial Python packages and QGIS plugins (Strands Agents)"
readme = "README.md"
requires-python = ">=3.11"
keywords = [
"GeoAgent",
"geospatial",
"AI",
"agent",
"STAC",
"remote sensing",
"earth observation",
"QGIS",
"leafmap",
"anymap",
"strands-agents",
]
license = { text = "MIT License" }
authors = [
{ name = "Qiusheng Wu", email = "giswqs@gmail.com" },
]
classifiers = [
"Intended Audience :: Developers",
"Intended Audience :: Science/Research",
"License :: OSI Approved :: MIT License",
"Natural Language :: English",
"Programming Language :: Python :: 3.11",
"Programming Language :: Python :: 3.12",
"Programming Language :: Python :: 3.13",
]
dependencies = [
"strands-agents>=1.37",
"pydantic>=2.0",
]
[project.entry-points."console_scripts"]
geoagent = "geoagent.cli:main"
[project.optional-dependencies]
openai = ["openai>=2.0"]
anthropic = ["anthropic>=0.40"]
gemini = ["strands-agents[gemini]>=1.37", "google-genai>=1.0"]
ollama = ["ollama>=0.3"]
litellm = ["strands-agents[litellm]>=1.37"]
openrouter = ["openai>=2.0"]
openai-compatible = ["openai>=2.0"]
# strands-vllm pins openai<2.0, which conflicts with the openai>=2.0 needed by
# the default openai-codex provider, so this extra is not part of `providers`
# or `all`. Point the `openai-compatible` provider at a vLLM server's /v1 URL
# to use vLLM alongside the rest of the stack.
vllm = ["strands-vllm"]
bedrock = []
leafmap = ["leafmap>=0.43"]
anymap = ["anymap"]
geoai = ["geoai"]
geemap = ["geemap"]
earthengine = ["earthengine-api>=1.0", "geemap"]
stac = ["pystac-client>=0.8", "planetary-computer>=1.0"]
earthdata = ["earthaccess>=0.10"]
nasa-opera = ["earthaccess>=0.10"]
whitebox = ["whitebox>=2.3.6"]
hsae = ["hydrosovereign>=6.0.7"]
ui = ["solara>=1.35", "starlette<2.0"]
browser = ["fastapi>=0.115", "uvicorn[standard]>=0.30"]
qgis = []
providers = [
"GeoAgent[openai,anthropic,gemini,ollama,litellm,openrouter,openai-compatible]",
]
all = [
"GeoAgent[providers,leafmap,anymap,geoai,geemap,earthengine,stac,earthdata,nasa-opera,whitebox,ui,browser]",
]
dev = [
"pytest>=8.0",
"pytest-asyncio>=0.24",
"ruff>=0.7",
"pre-commit>=4.0",
]
[tool.setuptools.packages.find]
include = ["geoagent*"]
exclude = ["docs*", "tests*", "examples*"]
[tool.distutils.bdist_wheel]
universal = true
[tool.bumpversion]
current_version = "1.9.0"
commit = true
tag = true
[[tool.bumpversion.files]]
filename = "pyproject.toml"
search = 'version = "{current_version}"'
replace = 'version = "{new_version}"'
[[tool.bumpversion.files]]
filename = "geoagent/__init__.py"
search = '__version__ = "{current_version}"'
replace = '__version__ = "{new_version}"'
[[tool.bumpversion.files]]
filename = "qgis_geoagent/open_geoagent/metadata.txt"
search = "version={current_version}"
replace = "version={new_version}"
[tool.ruff]
line-length = 88
exclude = ["docs"]
[tool.pytest.ini_options]
testpaths = ["tests", "qgis_geoagent/tests"]
[project.urls]
Homepage = "https://github.com/opengeos/GeoAgent"
[build-system]
requires = ["setuptools>=64", "setuptools_scm>=8"]
build-backend = "setuptools.build_meta"