Move components out of experimental package#556
Open
stellasia wants to merge 9 commits into
Open
Conversation
stellasia
marked this pull request as draft
July 7, 2026 13:36
stellasia
force-pushed
the
estelle/components-out-of-experimental
branch
from
July 7, 2026 13:46
080bf34 to
c80c8ed
Compare
stellasia
commented
Jul 8, 2026
stellasia
commented
Jul 8, 2026
stellasia
marked this pull request as ready for review
July 8, 2026 07:22
| def __getattr__(name: str) -> Any: | ||
| warnings.warn( | ||
| f"Importing component {name} from the experimental namespace is deprecated and will be removed in version `2.0`. Use `from neo4j_graphrag.components... import ...` instead.", | ||
| DeprecationWarning, |
Contributor
There was a problem hiding this comment.
I tested it and it seems that the deprecation warnings are not working as expected/documented.
For example, from neo4j_graphrag.experimental.components.entity_relation_extractor import LLMEntityRelationExtractor raises ModuleNotFoundError with no deprecation warning. This seems to needs a different mechanism to intercept submodule imports across the whole subtree? eg a sys.meta_path finder that redirects the whole subtree?
Worth adding a small unit test that imports moved path and asserts both that it resolves to the same object and that a DeprecationWarning is raised correctly.
| "Store", | ||
| "InMemoryStore", | ||
| "Component", | ||
| "DataModel", |
Contributor
There was a problem hiding this comment.
should we also here re-export old imports + warn?
stellasia
force-pushed
the
estelle/components-out-of-experimental
branch
from
July 15, 2026 14:00
76fa905 to
3dedfc5
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Description
Move all components out of the experimental namespace. In order not to import from experimental to the regular namespace, also had to move a couple of other classes:
Componentbase class that was inexperimental.pipeline.componentRunContextandTaskProgressNotifierProtocolwhich are part of theComponentdefinitionPipeineDefinitionErrortoComponentDefinitionErrorAll the rest is moving files around without changes and renaming imports.
Type of Change
Complexity
Complexity:
How Has This Been Tested?
Checklist
The following requirements should have been met (depending on the changes in the branch):