Comments (3)
++ this would be helpful.
What would also be useful is if the protos included the agreed c# namespace option, for example
# namespace TBC
option csharp_namespace = "Qdrant.Client.Grpc"
which is patched in when downloading in
Lines 80 to 103 in eaa6249
from qdrant-dotnet.
Hi @russcam, @roji. We have considered this refactoring a while ago, similar question was raised in similar context:
For example here: qdrant/qdrant#1266
But unfortunately there are quite a few places where this decomposition will disrupt our workflow. There are already set-up processes which rely on current proto structure, and refactoring could easily take months.
As an alternative I propose to take a look at how current clients implement the update process:
There is a very minimal script which can fetch a single sub-directory of qdrant main repo: https://github.com/qdrant/rust-client/blob/master/tools/sync_proto.sh
Versioning is very simple:
the client:master
is synced with master of the qdrant/qdrant:master
, and client:dev
is synced with qdrant/qdrant:dev
.
That allows development of the client features before the release of the main project.
It is very easy to setup CI script that would ensure that the repo has latest changes.
When it is time to release, we cherry-pick changes from dev to master and run CI against the latest build.
Regarding c# namespace option
, please feel free to PR it into the main repo, I assume it is not going to break any other generators
from qdrant-dotnet.
But unfortunately there are quite a few places where this decomposition will disrupt our workflow. There are already set-up processes which rely on current proto structure, and refactoring could easily take months.
Just to be clear, I'm only suggesting bringing in the proto files - exactly as they are today - via a git submodule; that means that the directory structure and files stay identical to what they are today (i.e. no refactoring within the protos), and just the fetching/refreshing mechanism changes (i.e. you use git to get the right files rather than a script).
But if this would cause issues on your side we can manage the way things are, of course.
from qdrant-dotnet.
Related Issues (20)
- Consider reducing the number of TFMs targeted HOT 4
- Switch to class-scoped collection names in the tests
- Consider switching from the Google Protobuf library to protobuf-net
- Add Snapshot APIs
- Introduce pause in list snapshot tests
- Remove mechanism to inject csharp_namespace into the protos
- Can't assign to Payload because it's read-only? HOT 2
- Add HTTP API support
- Can't seem to filter down to results with matching ints HOT 2
- RpcException: Error connecting to subchannel. HOT 3
- Implement trace provider HOT 1
- Grpc.Core.RpcException : Status(StatusCode="Unimplemented", Detail="") in Qdrant.Client.CollectionTests.CollectionExists HOT 6
- Getting error 'Invalid URI: The hostname could not be parsed.' HOT 1
- Grpc.Core.RpcException Status(StatusCode="Internal", Detail="Error starting gRPC call. HttpRequestException: The HTTP/2 server sent invalid data on the connection. HTTP/2 error code 'PROTOCOL_ERROR' (0x1). (HttpProtocolError) HOT 7
- Recommend methods does not provide parameter for RecommendStrategy HOT 2
- Geo filter not working HOT 1
- QdrantClient.SearchAsync() multiple vectors as batch?
- do the fucking homeworks: Documentation HOT 1
- Documentation prettypleasekuwaiiikisssss HOT 2
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from qdrant-dotnet.