Skip to content

Backend startup fails due to mixed Weaviate client APIs (v3 vs v4) #218

@swarneshkunden

Description

@swarneshkunden

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.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions