Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Fluent API #5

Open
tazarov opened this issue Jul 31, 2023 · 2 comments
Open

Fluent API #5

tazarov opened this issue Jul 31, 2023 · 2 comments
Assignees
Labels
enhancement New feature or request

Comments

@tazarov
Copy link
Contributor

tazarov commented Jul 31, 2023

No description provided.

@aravindcz
Copy link

Need more info on this

  • Are we planning to use a fluent style throughout all the object instantiations ?
  • Can we proceed with an approach that has the builder classes for all the respective classes in a same package under the parent package ?
  • Would be helpful to know if you have some design in mind and also how the final state of each of the current packages ie the core and model specific packages would look once the builders have been configured

Thanks

@tazarov
Copy link
Contributor Author

tazarov commented Aug 8, 2023

Hey @aravindcz, about your first question, yes.

Ideally:

  • for Client - Client.newClient(,key etc)
  • Client.newClient(,key etc).reset()
  • Client.newClient(,key etc).newCollection( - optional).name().meta(key,value).meta(...).ef().create()
  • Client.newClient(,key etc).getColection().remove()
  • Client.newClient(,key etc).getColection().remove().newEmbedding().text().metadata(key,value).id(AUTO|<user_generated>).add() #add single
  • Client.newClient(,key etc).getColection().remove().newEmbedding().text().metadata(key,value).id(AUTO|<user_generated>).newEmbedding()...batchAdd() #batch add of embeddings

I hope you get the feeling.

As far as design I can draw a quick diagram later today to illustrate.

@aravindcz aravindcz self-assigned this Aug 24, 2023
@aravindcz aravindcz added the enhancement New feature or request label Aug 24, 2023
tazarov added a commit that referenced this issue Feb 25, 2024
- Support for the latest ChromaDB API
- Support for multi-tenancy
- Metadata builder
- Where and WhereDocument builder
- Collection builder
- Improved validations
- Fixed a few bugs
- Improved tests
- Improved API ergonomics

Refs: #21, #14, #5
tazarov added a commit that referenced this issue Mar 4, 2024
Refs: #21, #14, #5
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

2 participants