Update module path and all imports from github.com/qdrant/go-client to github.com/hanzoai/vector-go for Hanzo Vector Go SDK.
3.4 KiB
Report Issues on GitHub Issues
We track public bugs and feature requests using GitHub issues. Please report by opening a new issue.
Effective Bug Reports should include:
- A clear summary or background
- Steps to reproduce the issue
- Be as specific as possible
- Include sample code when possible
- What you expect to happen
- What happened
- Additional notes (e.g., why you think the issue occurs or solutions you’ve tried that didn’t work)
Contributing Code
Follow these steps before submitting a pull request:
Building the Project
go build ./...
This will download all dependencies and compile the project.
Running Tests
All test files are in the qdrant_test directory and use Testcontainers Go for integration tests.
Run the following command to execute the test suites:
go test -v ./...
This command pulls a Qdrant Docker image to run integration tests. Ensure Docker is running.
Formatting and Linting
Ensure your code is free from warnings and follows project standards.
The project uses Gofmt for formatting and golangci-lint for linting.
To format your code:
gofmt -s -w .
To lint your code:
golangci-lint run
Preparing for a New Release
Pre-requisites
The client uses generated stubs from upstream Qdrant proto definitions, which are downloaded from qdrant/qdrant.
Steps
- Download and generate the latest client stubs by running the following command from the project root:
BRANCH=dev sh internal/tools/sync_proto.sh
-
Update the
TestImagevalue inqdrant_test/image_test.gotoqdrant/qdrant:dev. -
Implement new Qdrant methods in
points.go,collections.go, orqdrant.goas needed and associated tests inqdrant_test/.
Since the API reference is published at https://pkg.go.dev/github.com/hanzoai/vector-go, the docstrings have to be appropriate.
-
If there are any new
oneOfproperties in the proto definitions, add helper constructors tooneof_factory.gofollowing the existing patterns. -
Run the linter, formatter and tests as per the instructions above.
-
Submit your pull request and get those approvals.
Releasing a New Version
Once the new Qdrant version is live:
- Run the following command:
BRANCH=master sh internal/tools/sync_proto.sh
-
Update the
TestImagevalue inqdrant_test/image_test.gotoqdrant/qdrant:vNEW_VERSION. -
Merge the pull request.
-
Push a new Git tag to publish the version:
git tag v1.11.0
git push --tags
- Optionally, do a release at https://github.com/hanzoai/vector-go/releases from the tag with notes.