Skip to content

Commit 37f433f

Browse files
authored
Merge pull request #67
* Refactor microplugin imports to use napari_chatgpt namespace and upda…
1 parent fedb9a3 commit 37f433f

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

61 files changed

+125
-1349
lines changed

pyproject.toml

Lines changed: 92 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1,16 +1,99 @@
11
[build-system]
2-
requires = ["setuptools>=42.0.0", "wheel", "setuptools_scm"]
3-
build-backend = "setuptools.build_meta"
2+
requires = ["hatchling>=1.24"]
3+
build-backend = "hatchling.build"
44

5-
[tool.setuptools_scm]
6-
write_to = "src/napari_chatgpt/_version.py"
5+
[project]
6+
name = "napari-chatgpt"
7+
description = "A napari plugin that brings an LLM-powered agent (Omega) to interactive image analysis."
8+
readme = "README.md"
9+
license = { file = "LICENSE" }
10+
authors = [{ name = "Loic A. Royer", email = "[email protected]" }]
11+
requires-python = ">=3.9"
12+
dynamic = ["version"]
713

8-
[tool.black]
9-
line-length = 79
14+
# --- runtime deps (unchanged) ---
15+
dependencies = [
16+
"numpy",
17+
"magicgui",
18+
"scikit-image",
19+
"qtpy",
20+
"QtAwesome",
21+
"langchain==0.2.15",
22+
"langchain-community==0.2.14",
23+
"langchain-openai==0.1.23",
24+
"langchain-anthropic==0.1.23",
25+
"openai==1.42.0",
26+
"anthropic==0.34.1",
27+
"fastapi", "uvicorn",
28+
"websockets",
29+
"tiktoken",
30+
"wikipedia",
31+
"lxml",
32+
"matplotlib",
33+
"xarray",
34+
"arbol",
35+
"playwright",
36+
"duckduckgo-search==8.0.4",
37+
"ome-zarr",
38+
"transformers",
39+
"cryptography",
40+
"tabulate",
41+
"numba",
42+
"imageio[ffmpeg,pyav]",
43+
"notebook",
44+
"nbformat",
45+
"jedi",
46+
"httpx==0.27.2",
47+
"lxml_html_clean",
48+
]
1049

11-
[tool.isort]
12-
profile = "black"
13-
line_length = 79
50+
[project.optional-dependencies]
51+
testing = ["tox", "pytest", "pytest-cov", "pytest-qt", "napari", "pyqt5"]
1452

53+
[project.entry-points]
54+
"napari.manifest" = { "napari-chatgpt" = "napari_chatgpt:napari.yaml" }
55+
"omega.tools" = { "example_tool" = "napari_chatgpt.omega.tools.examples.example_omega_tool:ExampleOmegaTool" }
1556

1657

58+
[project.urls]
59+
Homepage = "https://github.com/royerlab/napari-chatgpt"
60+
Issues = "https://github.com/royerlab/napari-chatgpt/issues"
61+
62+
# -------------------------------------------------------------------------
63+
# Hatch specifics
64+
# -------------------------------------------------------------------------
65+
[tool.hatch.version]
66+
path = "src/napari_chatgpt/__init__.py"
67+
68+
# Ship code from the src/ layout
69+
[tool.hatch.build]
70+
sources = ["src"]
71+
72+
# Control *what* is included in each artefact
73+
[tool.hatch.build.targets.sdist]
74+
ignore-vcs = true # ignore .gitignore patterns :contentReference[oaicite:0]{index=0}
75+
exclude = [
76+
# developer & CI auxiliaries
77+
".github/**",
78+
".napari-hub/**",
79+
"recipe/**",
80+
# generated or heavy artefacts
81+
"dist/**",
82+
"**/*.egg-info",
83+
# documentation / non-runtime assets
84+
"art/**",
85+
"manuscript/**",
86+
# tests and local junk
87+
"**/tests/**",
88+
"**/.DS_Store",
89+
"sandbox/**",
90+
# plugin-internal resources that shouldn’t be in wheels
91+
"src/napari_chatgpt/resources/**",
92+
]
93+
94+
[tool.hatch.build.targets.wheel]
95+
packages = ["src/napari_chatgpt"] # wheel only contains code; others auto-excluded :contentReference[oaicite:1]{index=1}
96+
97+
[tool.hatch.envs.hatch-test]
98+
extra-dependencies = ["tox", "pytest", "pytest-cov", "pytest-qt", "napari", "pyqt5", "black"]
99+
default-args = ["src/"]
File renamed without changes.

setup.cfg

Lines changed: 0 additions & 101 deletions
This file was deleted.

src/napari_chatgpt/__init__.py

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,10 @@
1+
__version__ = "2025.06.27"
2+
13
try:
24
from ._version import version as __version__
35
except ImportError:
46
__version__ = "unknown"
7+
58
from ._widget import OmegaQWidget
69

710
__all__ = (

src/napari_chatgpt/_sandbox/__init__.py

Whitespace-only changes.

src/napari_chatgpt/_sandbox/agent_demo.py

Lines changed: 0 additions & 12 deletions
This file was deleted.

src/napari_chatgpt/_sandbox/all_qstyle_icons.py

Lines changed: 0 additions & 34 deletions
This file was deleted.

src/napari_chatgpt/_sandbox/beautiful_soup_demo.py

Lines changed: 0 additions & 25 deletions
This file was deleted.

src/napari_chatgpt/_sandbox/conv_agent_demo.py

Lines changed: 0 additions & 72 deletions
This file was deleted.

src/napari_chatgpt/_sandbox/duckduckgo.py

Lines changed: 0 additions & 8 deletions
This file was deleted.

0 commit comments

Comments
 (0)