-
Notifications
You must be signed in to change notification settings - Fork 125
Description
While setting up and running the backend locally as a contributor, I encountered runtime errors related to the Weaviate Python client that appear to stem from mixed usage of different major Weaviate client APIs within the codebase.
Specifically:
Some modules rely on v3-style imports (e.g. from weaviate import classes)
Other modules expect v4-style APIs (e.g. WeaviateClient)
Because of this, the backend fails to start consistently in a clean environment:
Installing a v3 client resolves classes imports but breaks WeaviateClient
Installing a v4 client resolves WeaviateClient but breaks classes
Steps to Reproduce :
1.Create a fresh Python virtual environment
2.Install backend dependencies
3.Run python backend/main.
4.Observe import / attribute errors related to the Weaviate client
5.Observed Errors
- ImportError: cannot import name 'classes' from weaviate
- AttributeError: module 'weaviate' has no attribute 'WeaviateClient'
Expected Behavior
The backend should consistently target a single Weaviate client major version, with aligned imports and dependency pinning, so that it can start successfully in a clean setup.
Notes :
Resolving this likely requires a maintainer decision on whether to standardize the backend on:
Weaviate client v3 (legacy), or
Weaviate client v4 (current).
Happy to help further once the preferred direction is clarified.