Stefano Fiorucci
db50579bbf
feat: ChatGenerator protocol ( #9074 )
...
* feat: ChatGenerator protocol
* move protocol to better location
2025-03-20 11:58:09 +01:00
Stefano Fiorucci
c04c900f26
build: drop Python 3.8 support ( #8978 )
...
* draft
* readd typing_extensions
* small fix + release note
* remove ruff target-version
* Update releasenotes/notes/drop-python-3.8-868710963e794c83.yaml
Co-authored-by: David S. Batista <dsbatista@gmail.com>
---------
Co-authored-by: David S. Batista <dsbatista@gmail.com>
2025-03-05 14:59:56 +00:00
Sebastian Husch Lee
8cafcddb00
chore: Remove print statements from tests and mention of old name ( #8883 )
...
* Remove print statements from tests
* Remove mention of Canals
* Remove another mention
2025-02-20 10:24:26 +01:00
Per Lunnemann Hansen
0e6d2a4c39
fix: update component registration to use new class reference ( #8715 )
...
The pyright language server is now able to resolve the import and provide completions for the component.
Co-authored-by: Michele Pangrazzi <xmikex83@gmail.com>
2025-01-27 14:52:24 +01:00
mathislucka
fe9b1e29d4
CI: fix format after newly introduced formatting rules from ruff release ( #8696 )
2025-01-09 16:25:55 +00:00
Michele Pangrazzi
f0c3692cf2
Remove is_greedy deprecated argument from @component decorator ( #8580 )
...
* Remove 'is_greedy' deprecated argument from @component decorator
* Remove unused import
2024-11-26 10:44:50 +00:00
Silvano Cerza
0df379e6a2
feat: Deprecate @component decorator is_greedy argument ( #8400 )
...
* Deprecate @component decorator is_greedy argument
* Fix some typos and docstrings
* Add _is_lazy_variadic test
2024-09-25 11:28:30 +02:00
Madeesh Kannan
b22014b915
fix: Prevent set_output_types from being called when the output_types decorator is used ( #8376 )
2024-09-18 13:05:31 +02:00
Madeesh Kannan
5071e47843
refactor: Rename Component.async_run to Component.run_async for better readablility ( #8370 )
...
Using a suffix will keep names logically sorted, less noisy and relegate the async aspect to an implementation/API detail.
2024-09-17 10:10:34 +00:00
Madeesh Kannan
672bcf7e03
fix: Add constraints to set_input_type(s) based on run method ( #8358 )
...
* fix: Prevent the usage of `set_input_type(s)` when the `run` method doesn't have kwargs,
raise if `set_input_type(s)` overrides `run` method parameters
* fix: update components and tests
* reno
2024-09-12 15:58:16 +02:00
Madeesh Kannan
f0b45c873f
feat: Extend core component machinery to support an async run method (experimental) ( #8279 )
...
* feat: Extend core component machinery to support an async run method
* Add reno
* Fix incorrect docstring
* Make `async_run` a coroutine
* Make `supports_async` a dunder field
2024-08-27 14:20:13 +02:00
Madeesh Kannan
d1f8c0dcd6
fix: Prevent component pre-init hook from being called recursively ( #7894 )
2024-06-21 10:29:37 +02:00
Massimiliano Pippi
3a03fce71c
ci: Add code formatting checks ( #7882 )
...
* ruff settings
enable ruff format and re-format outdated files
feat: `EvaluationRunResult` add parameter to specify columns to keep in the comparative `Dataframe` (#7879 )
* adding param to explictily state which cols to keep
* adding param to explictily state which cols to keep
* adding param to explictily state which cols to keep
* updating tests
* adding release notes
* Update haystack/evaluation/eval_run_result.py
Co-authored-by: Madeesh Kannan <shadeMe@users.noreply.github.com>
* Update releasenotes/notes/add-keep-columns-to-EvalRunResult-comparative-be3e15ce45de3e0b.yaml
Co-authored-by: Madeesh Kannan <shadeMe@users.noreply.github.com>
* updating docstring
---------
Co-authored-by: Madeesh Kannan <shadeMe@users.noreply.github.com>
add format-check
fail on format and linting failures
fix string formatting
reformat long lines
fix tests
fix typing
linter
pull from main
* reformat
* lint -> check
* lint -> check
2024-06-18 15:52:46 +00:00
Massimiliano Pippi
10c675d534
chore: add license header to all modules ( #7675 )
...
* add license header to modules
* check license header at linting time
2024-05-09 13:40:36 +00:00
evanderiel
5de5619abd
Add instance argument to code samples in docstrings for component.py ( #7622 )
2024-04-30 16:04:06 +02:00
David S. Batista
32db7eb532
initial import ( #7583 )
2024-04-23 17:59:13 +02:00
David S. Batista
f3b0bd2e6f
Fixing remaining docstring issues ( #7579 )
...
* adding missing docstrings
* adding missing docstrings
* Update haystack/dataclasses/answer.py
Co-authored-by: Stefano Fiorucci <stefanofiorucci@gmail.com>
* reverting some docstrings due to pylint issue, adding a noqa for ruff
* reverting some docstrings due to pylint issue, adding a noqa for ruff
---------
Co-authored-by: Stefano Fiorucci <stefanofiorucci@gmail.com>
2024-04-23 17:24:10 +02:00
David S. Batista
201db5b288
docs: fixing all D205 docstring issues ( #7577 )
...
* fixing all D205 issues
* Update haystack/components/embedders/hugging_face_api_document_embedder.py
Co-authored-by: Stefano Fiorucci <stefanofiorucci@gmail.com>
* Update haystack/components/embedders/hugging_face_api_text_embedder.py
Co-authored-by: Stefano Fiorucci <stefanofiorucci@gmail.com>
* Update haystack/components/generators/chat/hugging_face_api.py
Co-authored-by: Stefano Fiorucci <stefanofiorucci@gmail.com>
* Update haystack/components/generators/chat/hugging_face_local.py
Co-authored-by: Stefano Fiorucci <stefanofiorucci@gmail.com>
* Update haystack/components/generators/hugging_face_api.py
Co-authored-by: Stefano Fiorucci <stefanofiorucci@gmail.com>
* fixing 205 issues and attending PR comments
* fixing 205 issues and attending PR comments
* Update haystack/components/converters/azure.py
Co-authored-by: Daria Fokina <daria.fokina@deepset.ai>
* Update haystack/components/converters/azure.py
Co-authored-by: Daria Fokina <daria.fokina@deepset.ai>
* Update haystack/components/extractors/named_entity_extractor.py
Co-authored-by: Daria Fokina <daria.fokina@deepset.ai>
* Update haystack/components/extractors/named_entity_extractor.py
Co-authored-by: Daria Fokina <daria.fokina@deepset.ai>
* Update haystack/core/component/component.py
Co-authored-by: Daria Fokina <daria.fokina@deepset.ai>
* Update haystack/components/evaluators/answer_exact_match.py
Co-authored-by: Daria Fokina <daria.fokina@deepset.ai>
* Update haystack/core/pipeline/template.py
Co-authored-by: Daria Fokina <daria.fokina@deepset.ai>
* Update haystack/core/serialization.py
Co-authored-by: Daria Fokina <daria.fokina@deepset.ai>
* Update haystack/core/serialization.py
Co-authored-by: Daria Fokina <daria.fokina@deepset.ai>
* Update haystack/core/pipeline/draw.py
Co-authored-by: Daria Fokina <daria.fokina@deepset.ai>
* Update haystack/components/generators/azure.py
Co-authored-by: Daria Fokina <daria.fokina@deepset.ai>
* Apply suggestions from code review
Co-authored-by: Daria Fokina <daria.fokina@deepset.ai>
---------
Co-authored-by: Stefano Fiorucci <stefanofiorucci@gmail.com>
Co-authored-by: Daria Fokina <daria.fokina@deepset.ai>
2024-04-23 13:42:46 +00:00
Massimiliano Pippi
3a80c866c9
fix: do not use reserved attributes in the logger ( #7545 )
...
* avoid using reserved keywords in the logger
* make the tests independent from the log level
* relnotes
2024-04-12 14:07:18 +00:00
Madeesh Kannan
b1760add56
feat: Add support for pipeline deserialization callbacks ( #7518 )
...
* feat: Add support for deserialization callbacks
* Lint
* Fix type hint for older Python versions
* Apply suggestions from code review
Co-authored-by: Silvano Cerza <3314350+silvanocerza@users.noreply.github.com>
* Lint
---------
Co-authored-by: Silvano Cerza <3314350+silvanocerza@users.noreply.github.com>
2024-04-10 17:47:14 +02:00
Silvano Cerza
d6597952a2
fix: Update Component protocol to fix some type checking issues ( #7270 )
...
* Update Component protocol to fix some type checking issues
* Add release notes
* Fix logline in test
* Fix run type definition
2024-03-01 10:56:47 +01:00
Tobias Wochinger
fe0ac5c4a2
chore: enforce kwarg logging ( #7207 )
...
* chore: add logger which eases logging of extras
* chore: start migrating to key value
* fix: import fixes
* tests: temporarily comment out breaking test
* refactor: move to kwarg based logging
* style: fix import order
* chore: implement self-review comments
* test: drop failing test
* chore: fix more import orders
* docs: add changelog
* tests: fix broken tests
* chore: fix getting the frames
* chore: add comment
* chore: cleanup
* chore: adapt remaining `%s` usages
2024-02-29 14:31:20 +01:00
Silvano Cerza
f1a6b2a78a
feat: Add is_greedy argument in @component decorator ( #7016 )
...
* Add is_greedy argument in @component decorator
* Log warning if Component is greedy and non variadic
2024-02-19 12:43:40 +01:00
Silvano Cerza
2f965fb176
feat: Add __repr__ method to all Components ( #6927 )
...
* Add __repr__ to show Component I/O
* Add release notes
* Change Component repr to show full module path and name in Pipeline
* Fix linting
2024-02-08 11:46:10 +01:00
Silvano Cerza
0191b1e6e4
feat: Change Component's I/O dunder type ( #6916 )
...
* Add Pipeline.get_component_name() method
* Add utility class to ease discoverability of Component I/O
* Move InputOutput in component package
* Rename InputOutput to _InputOutput
* Raise if inputs or outputs field already exist
* Fix tests
* Add release notes
* Move InputSocket and OutputSocket in types package
* Move _InputOutput in socket package
* Rename _InputOutput class to Sockets
* Simplify Sockets class
* Dictch I/O dunder fields in favour of inputs and outputs fields
* Update Sockets docstrings
* Update release notes
* Fix mypy
* Remove unnecessary assignment
* Remove unused logging
* Change SocketsType to SocketsIOType to avoid confusion
* Change sockets type and name
* Change Sockets.__repr__ to return component instance
* Fix linting
* Fix sockets tests
* Revert to dunder fields for Component IO
* Use singular in IO dunder fields
* Delete release notes
* Update haystack/core/component/types.py
Co-authored-by: Massimiliano Pippi <mpippi@gmail.com>
---------
Co-authored-by: Massimiliano Pippi <mpippi@gmail.com>
2024-02-05 17:46:45 +01:00
Silvano Cerza
461556cca2
fix: Fix language servers never working with Components ( #6893 )
...
* Fix language servers never working with Components
* Add release notes
2024-02-02 15:59:05 +01:00
Silvano Cerza
76d324a149
feat: Change Pipeline.add_component to fail when reusing Component instances ( #6847 )
...
* Change Pipeline.add_component to fail when reusing Component instances
* Change variable name and store Pipeline instance in it
* Fix tests
2024-01-30 11:15:26 +01:00
Silvano Cerza
f5e61338ba
chore: Remove all mentions of Canals ( #6844 )
...
* Remove unnecessary Connection class
* Remove all mentions of canals
* Add release notes
2024-01-29 17:26:11 +01:00
Madeesh Kannan
4647f2a506
fix: ComponentMeta.__call__ handles keyword- and positional-only parameters correctly ( #6701 )
...
* fix: `ComponentMeta.__call__` handles keyword- and positional-only parameters correctly
* Update release note
2024-01-12 17:16:03 +01:00
Silvano Cerza
e0afe274d8
feat: Add method to set a Component input type with default value ( #6728 )
...
* Add method to set a Component input type with default value
* Add release notes
* Fix linting
* Stick to old set_input_types for now
2024-01-12 16:56:52 +01:00
Massimiliano Pippi
9e63492440
fix: Fix error when calling dir() on a component instance ( #6730 )
...
* do not copy over __dict__ when creating the component class
* relnote
* let test run on core/*
2024-01-12 11:56:03 +01:00
Massimiliano Pippi
9ace6bf63d
feat: store input's default value in InputSocket ( #6651 )
...
* track default value in sockets
* remove dead code
* include default value in socket description
* add unit test
* add relnote
* unused import
* clarify
2024-01-09 12:17:46 +01:00
Massimiliano Pippi
00e1dd6eb8
chore: rearrange the core package, move tests and clean up ( #6427 )
...
* rearrange code
* fix tests
* relnote
* merge test modules
* remove extra
* rearrange draw tests
* forgot
* remove unused import
2023-11-28 09:58:56 +01:00