Welcome to the official C# client for Weaviate, the open-source vector database. This library provides a convenient and idiomatic way for .NET developers to interact with a Weaviate instance.
Warning
This client is a beta release and under active development. We welcome your feedback and contributions!
You can install the Weaviate C# client via the NuGet Package Manager or the dotnet CLI.
dotnet add package Weaviate.Client --version 0.0.1-beta.4Alternatively, you can add the PackageReference to your .csproj file:
<ItemGroup>
<PackageReference Include="Weaviate.Client" Version="0.0.1-beta.4" />
</ItemGroup>The best way to get started is by following our quickstart guide. It will walk you through setting up the client, connecting to Weaviate, creating a collection, and performing your first vector search.
For more detailed information on specific features, please refer to the official documentation and the how-to guides.
- Client library overview
- How-to: Configure the client
- How-to: Manage collections
- How-to: Manage data objects
- How-to: Query & search data
- Error Handling: Exception types and error handling patterns
- RBAC API Usage: Managing users, roles, permissions, and groups
- Backup API Usage: Creating and restoring backups
- Nodes API Usage: Querying cluster node information
We would love to hear your feedback! For specific feature requests, bug reports, or issues with the client, please open an issue on this repository or reach out to us directly at devex@weaviate.io.
To run the integration test suite locally you need a Weaviate server at version >= 1.31.0.
Start a local instance with the helper script (defaults to the minimum supported version):
./ci/start_weaviate.sh # uses 1.31.0
# or explicitly
./ci/start_weaviate.sh 1.32.7 # any version >= 1.31.0Run the tests:
dotnet test src/Weaviate.Client.Tests/Weaviate.Client.Tests.csprojSome tests (backups and replication) are marked as slow and can take several minutes. You can control which tests run using the --filter option:
# Run all tests including slow ones (default)
dotnet test src/Weaviate.Client.Tests/Weaviate.Client.Tests.csproj
# Exclude slow tests (recommended for quick feedback during development)
dotnet test src/Weaviate.Client.Tests/Weaviate.Client.Tests.csproj --filter "Category!=Slow"
# Run ONLY slow tests
dotnet test src/Weaviate.Client.Tests/Weaviate.Client.Tests.csproj --filter "Category=Slow"Stop the environment when finished:
./ci/stop_weaviate.shIf the server version is below 1.31.0 the integration tests will be skipped automatically.
Connect with the Weaviate community and the team through our online channels.
- Weaviate Forum: For questions and discussions.
- Weaviate Slack: For live chats with the community and team.