transformers-haystack 1.1.0__tar.gz → 2.0.1__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 (36) hide show
  1. {transformers_haystack-1.1.0 → transformers_haystack-2.0.1}/CHANGELOG.md +14 -0
  2. {transformers_haystack-1.1.0 → transformers_haystack-2.0.1}/PKG-INFO +2 -3
  3. {transformers_haystack-1.1.0 → transformers_haystack-2.0.1}/pyproject.toml +1 -2
  4. {transformers_haystack-1.1.0 → transformers_haystack-2.0.1}/src/haystack_integrations/components/generators/transformers/chat/chat_generator.py +1 -1
  5. {transformers_haystack-1.1.0 → transformers_haystack-2.0.1}/src/haystack_integrations/components/readers/transformers/extractive_reader.py +3 -3
  6. {transformers_haystack-1.1.0 → transformers_haystack-2.0.1}/tests/test_extractive_reader.py +23 -0
  7. {transformers_haystack-1.1.0 → transformers_haystack-2.0.1}/.gitignore +0 -0
  8. {transformers_haystack-1.1.0 → transformers_haystack-2.0.1}/LICENSE.txt +0 -0
  9. {transformers_haystack-1.1.0 → transformers_haystack-2.0.1}/README.md +0 -0
  10. {transformers_haystack-1.1.0 → transformers_haystack-2.0.1}/pydoc/config_docusaurus.yml +0 -0
  11. {transformers_haystack-1.1.0 → transformers_haystack-2.0.1}/src/haystack_integrations/common/py.typed +0 -0
  12. {transformers_haystack-1.1.0 → transformers_haystack-2.0.1}/src/haystack_integrations/common/transformers/__init__.py +0 -0
  13. {transformers_haystack-1.1.0 → transformers_haystack-2.0.1}/src/haystack_integrations/common/transformers/utils.py +0 -0
  14. {transformers_haystack-1.1.0 → transformers_haystack-2.0.1}/src/haystack_integrations/components/classifiers/py.typed +0 -0
  15. {transformers_haystack-1.1.0 → transformers_haystack-2.0.1}/src/haystack_integrations/components/classifiers/transformers/__init__.py +0 -0
  16. {transformers_haystack-1.1.0 → transformers_haystack-2.0.1}/src/haystack_integrations/components/classifiers/transformers/zero_shot_document_classifier.py +0 -0
  17. {transformers_haystack-1.1.0 → transformers_haystack-2.0.1}/src/haystack_integrations/components/extractors/py.typed +0 -0
  18. {transformers_haystack-1.1.0 → transformers_haystack-2.0.1}/src/haystack_integrations/components/extractors/transformers/__init__.py +0 -0
  19. {transformers_haystack-1.1.0 → transformers_haystack-2.0.1}/src/haystack_integrations/components/extractors/transformers/named_entity_extractor.py +0 -0
  20. {transformers_haystack-1.1.0 → transformers_haystack-2.0.1}/src/haystack_integrations/components/generators/py.typed +0 -0
  21. {transformers_haystack-1.1.0 → transformers_haystack-2.0.1}/src/haystack_integrations/components/generators/transformers/__init__.py +0 -0
  22. {transformers_haystack-1.1.0 → transformers_haystack-2.0.1}/src/haystack_integrations/components/generators/transformers/chat/__init__.py +0 -0
  23. {transformers_haystack-1.1.0 → transformers_haystack-2.0.1}/src/haystack_integrations/components/readers/py.typed +0 -0
  24. {transformers_haystack-1.1.0 → transformers_haystack-2.0.1}/src/haystack_integrations/components/readers/transformers/__init__.py +0 -0
  25. {transformers_haystack-1.1.0 → transformers_haystack-2.0.1}/src/haystack_integrations/components/routers/py.typed +0 -0
  26. {transformers_haystack-1.1.0 → transformers_haystack-2.0.1}/src/haystack_integrations/components/routers/transformers/__init__.py +0 -0
  27. {transformers_haystack-1.1.0 → transformers_haystack-2.0.1}/src/haystack_integrations/components/routers/transformers/text_router.py +0 -0
  28. {transformers_haystack-1.1.0 → transformers_haystack-2.0.1}/src/haystack_integrations/components/routers/transformers/zero_shot_text_router.py +0 -0
  29. {transformers_haystack-1.1.0 → transformers_haystack-2.0.1}/tests/__init__.py +0 -0
  30. {transformers_haystack-1.1.0 → transformers_haystack-2.0.1}/tests/conftest.py +0 -0
  31. {transformers_haystack-1.1.0 → transformers_haystack-2.0.1}/tests/test_chat_generator.py +0 -0
  32. {transformers_haystack-1.1.0 → transformers_haystack-2.0.1}/tests/test_named_entity_extractor.py +0 -0
  33. {transformers_haystack-1.1.0 → transformers_haystack-2.0.1}/tests/test_text_router.py +0 -0
  34. {transformers_haystack-1.1.0 → transformers_haystack-2.0.1}/tests/test_utils.py +0 -0
  35. {transformers_haystack-1.1.0 → transformers_haystack-2.0.1}/tests/test_zero_shot_document_classifier.py +0 -0
  36. {transformers_haystack-1.1.0 → transformers_haystack-2.0.1}/tests/test_zero_shot_text_router.py +0 -0
@@ -1,5 +1,19 @@
1
1
  # Changelog
2
2
 
3
+ ## [integrations/transformers-v2.0.0] - 2026-10-16
4
+
5
+ ### 🧹 Chores
6
+
7
+ - [**breaking**] Drop Python 3.10 support (#4105)
8
+
9
+
10
+ ## [integrations/transformers-v1.1.0] - 2026-10-07
11
+
12
+ ### 🚜 Refactor
13
+
14
+ - [**breaking**] Transformers - Stop warming up tools in Chat Generator (#4057)
15
+
16
+
3
17
  ## [integrations/transformers-v1.0.1] - 2026-09-23
4
18
 
5
19
  ### 🐛 Bug Fixes
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.5
2
2
  Name: transformers-haystack
3
- Version: 1.1.0
3
+ Version: 2.0.1
4
4
  Summary: Haystack integration for transformers
5
5
  Project-URL: Documentation, https://github.com/deepset-ai/haystack-core-integrations/tree/main/integrations/transformers#readme
6
6
  Project-URL: Issues, https://github.com/deepset-ai/haystack-core-integrations/issues
@@ -11,14 +11,13 @@ License-File: LICENSE.txt
11
11
  Classifier: Development Status :: 4 - Beta
12
12
  Classifier: License :: OSI Approved :: Apache Software License
13
13
  Classifier: Programming Language :: Python
14
- Classifier: Programming Language :: Python :: 3.10
15
14
  Classifier: Programming Language :: Python :: 3.11
16
15
  Classifier: Programming Language :: Python :: 3.12
17
16
  Classifier: Programming Language :: Python :: 3.13
18
17
  Classifier: Programming Language :: Python :: 3.14
19
18
  Classifier: Programming Language :: Python :: Implementation :: CPython
20
19
  Classifier: Programming Language :: Python :: Implementation :: PyPy
21
- Requires-Python: >=3.10
20
+ Requires-Python: >=3.11
22
21
  Requires-Dist: haystack-ai>=3.0.0
23
22
  Requires-Dist: transformers[sentencepiece,torch]>=5.0.0
24
23
  Description-Content-Type: text/markdown
@@ -7,7 +7,7 @@ name = "transformers-haystack"
7
7
  dynamic = ["version"]
8
8
  description = "Haystack integration for transformers"
9
9
  readme = "README.md"
10
- requires-python = ">=3.10"
10
+ requires-python = ">=3.11"
11
11
  license = "Apache-2.0"
12
12
  keywords = []
13
13
  authors = [{ name = "deepset GmbH", email = "info@deepset.ai" }]
@@ -15,7 +15,6 @@ classifiers = [
15
15
  "License :: OSI Approved :: Apache Software License",
16
16
  "Development Status :: 4 - Beta",
17
17
  "Programming Language :: Python",
18
- "Programming Language :: Python :: 3.10",
19
18
  "Programming Language :: Python :: 3.11",
20
19
  "Programming Language :: Python :: 3.12",
21
20
  "Programming Language :: Python :: 3.13",
@@ -511,7 +511,7 @@ class TransformersChatGenerator:
511
511
  # Ensure the queue processor is cleaned up properly
512
512
  try:
513
513
  await asyncio.wait_for(queue_processor, timeout=0.1)
514
- except asyncio.TimeoutError:
514
+ except TimeoutError:
515
515
  queue_processor.cancel()
516
516
  with suppress(asyncio.CancelledError):
517
517
  await queue_processor
@@ -597,13 +597,13 @@ class TransformersExtractiveReader:
597
597
  queries = [query] # Temporary solution until we have decided what batching should look like in v2
598
598
  nested_documents = [documents]
599
599
  top_k = top_k or self.top_k
600
- score_threshold = score_threshold or self.score_threshold
600
+ score_threshold = score_threshold if score_threshold is not None else self.score_threshold
601
601
  max_seq_length = max_seq_length or self.max_seq_length
602
- stride = stride or self.stride
602
+ stride = stride if stride is not None else self.stride
603
603
  max_batch_size = max_batch_size or self.max_batch_size
604
604
  answers_per_seq = answers_per_seq or self.answers_per_seq or 20
605
605
  no_answer = no_answer if no_answer is not None else self.no_answer
606
- overlap_threshold = overlap_threshold or self.overlap_threshold
606
+ overlap_threshold = overlap_threshold if overlap_threshold is not None else self.overlap_threshold
607
607
 
608
608
  flattened_queries, flattened_documents, query_ids = TransformersExtractiveReader._flatten_documents(
609
609
  queries, nested_documents
@@ -369,6 +369,29 @@ def test_output(mock_reader: TransformersExtractiveReader):
369
369
  assert answers[-1].score == pytest.approx(no_answer_prob)
370
370
 
371
371
 
372
+ def test_run_respects_zero_threshold_overrides(mock_reader: TransformersExtractiveReader):
373
+ mock_reader.score_threshold = 0.9
374
+ mock_reader.overlap_threshold = 0.5
375
+
376
+ with patch.object(mock_reader, "_nest_answers", wraps=mock_reader._nest_answers) as nest_answers:
377
+ answers = mock_reader.run(
378
+ example_queries[0], example_documents[0], top_k=3, score_threshold=0.0, overlap_threshold=0.0
379
+ )["answers"]
380
+
381
+ assert nest_answers.call_args.kwargs["score_threshold"] == 0.0
382
+ assert nest_answers.call_args.kwargs["overlap_threshold"] == 0.0
383
+ assert len(answers) == 4
384
+
385
+
386
+ def test_run_respects_zero_stride_override(mock_reader: TransformersExtractiveReader):
387
+ mock_reader.stride = 64
388
+
389
+ with patch.object(mock_reader, "_preprocess", wraps=mock_reader._preprocess) as preprocess:
390
+ mock_reader.run(example_queries[0], example_documents[0], top_k=3, stride=0)
391
+
392
+ assert preprocess.call_args.kwargs["stride"] == 0
393
+
394
+
372
395
  def test_flatten_documents(mock_reader: TransformersExtractiveReader):
373
396
  queries, docs, query_ids = mock_reader._flatten_documents(example_queries, example_documents)
374
397
  i = 0