README.md

# ExChromaDB client

Chroma DB exposes an HTTP REST API. The `ex_chroma_db` library provides a convenient wrapper and some caches that simplifies working with the API.

## Installation

The package can be installed by adding `ex_chroma_db` to your list of dependencies in `mix.exs`:

```elixir
def deps do
  [
      {:ex_chroma_db, "0.1.0"}
  ]
end
```

after that just add the ExChromaDb child spec under your supervision tree 
```elixir
child_specs = ExChromaDb.child_specs()

# Start a supervisor to manage the cache processes
{:ok, _pid} = Supervisor.start_link(child_specs, strategy: :one_for_one)
```

## Library maintainer guide

# Running the tests

1. Start associated dockers
`cd deployment && docker compose up --build`

2. Run the test suite
`mix test`

# Regenerate the chroma client based on open api specs
`mix chromadb.generate`

## Documentation
Documentation can be be found at <https://hexdocs.pm/ex_chroma_db>.