@@ -81,7 +81,7 @@ format = "ruff format {args}"
81
81
format-check = " ruff format --check {args}"
82
82
83
83
[tool .hatch .envs .test ]
84
- extra- dependencies = [
84
+ dependencies = [
85
85
" numpy>=2" , # Haystack is compatible both with numpy 1.x and 2.x, but we test with 2.x
86
86
" numba>=0.54.0" , # This pin helps uv resolve the dependency tree. See https://github.com/astral-sh/uv/issues/7881
87
87
@@ -95,13 +95,6 @@ extra-dependencies = [
95
95
" openai-whisper>=20231106" , # LocalWhisperTranscriber
96
96
" arrow>=1.3.0" , # Jinja2TimeExtension
97
97
98
- # NamedEntityExtractor
99
- " spacy>=3.8,<3.9" ,
100
- " spacy-curated-transformers>=0.2,<=0.3" ,
101
- " en-core-web-trf @ https://github.com/explosion/spacy-models/releases/download/en_core_web_trf-3.8.0/en_core_web_trf-3.8.0-py3-none-any.whl" ,
102
- # spacy requires thinc, which depends on blis. We pin blis because version 1.2.1 does not have wheels for python 3.9
103
- # and compiling it from source takes much time.
104
- " blis<1.2.1; python_version < '3.10'" ,
105
98
106
99
# Converters
107
100
" pypdf" , # PyPDFToDocument
@@ -161,14 +154,27 @@ extra-dependencies = [
161
154
]
162
155
163
156
[tool .hatch .envs .test .scripts ]
164
- e2e = " pytest e2e"
165
157
unit = ' pytest --cov-report xml:coverage.xml --cov="haystack" -m "not integration" {args:test}'
166
158
integration = ' pytest --maxfail=5 -m "integration" {args:test}'
167
159
integration-mac = ' pytest --maxfail=5 -m "integration" -k "not tika" {args:test}'
168
160
integration-windows = ' pytest --maxfail=5 -m "integration" -k "not tika" {args:test}'
169
161
types = " mypy --install-types --non-interactive --cache-dir=.mypy_cache/ {args:haystack}"
170
162
lint = " pylint -ry -j 0 {args:haystack}"
171
163
164
+ [tool .hatch .envs .e2e ]
165
+ template = " test"
166
+ extra-dependencies = [
167
+ # NamedEntityExtractor
168
+ " spacy>=3.8,<3.9" ,
169
+ " en-core-web-trf @ https://github.com/explosion/spacy-models/releases/download/en_core_web_trf-3.8.0/en_core_web_trf-3.8.0-py3-none-any.whl" ,
170
+ # spacy requires thinc, which depends on blis. We pin blis because version 1.2.1 does not have wheels for python 3.9
171
+ # and compiling it from source takes much time.
172
+ " blis<1.2.1; python_version < '3.10'" ,
173
+ ]
174
+
175
+ [tool .hatch .envs .e2e .scripts ]
176
+ test = " pytest e2e"
177
+
172
178
[tool .hatch .envs .readme ]
173
179
installer = " uv"
174
180
detached = true # To avoid installing the dependencies from the default environment
0 commit comments