chroma icon indicating copy to clipboard operation
chroma copied to clipboard

improve documentation with stable versions

Open grumpyp opened this issue 1 year ago • 6 comments

I recommend that stable versions of this project be listed on GitHub to help users find compatible versions and avoid conflicts.

For example, I recently encountered an issue with Python 3.11.2 while installing sentencepiece on my machine (Macbook Air M1 2020 Ventura 13.2.1). I received a legacy-install-failure error, suggesting incompatibility.

EDIT: sentencepiece has no wheel for Python3.11

However, sentencepiece installed without any issues on Python 3.8.9. Listing stable versions would benefit users by providing guidance on compatible versions.

EDIT: this could be done by a Pipeline which runs on each release version, I am willing on working on it

e.g.

name: Python Compatibility

on: push

jobs:
  build:

    runs-on: ubuntu-latest

    strategy:
      matrix:
        python-version: [3.6, 3.7, 3.8, 3.9, 3.10]

    steps:
    - name: Checkout code
      uses: actions/checkout@v2

    - name: Set up Python ${{ matrix.python-version }}
      uses: actions/setup-python@v2
      with:
        python-version: ${{ matrix.python-version }}

    - name: Install dependencies
      run: pip install -r requirements.txt

    - name: Run tests
      run: pytest tests/

grumpyp avatar Apr 08 '23 12:04 grumpyp

I did built the pipelines in a private repo. Any idea of implementing it here? https://github.com/actions/runner-images

Outcome:

ubuntu:latest

3.7 - working 3.8 - working 3.9 - working 3.10.0 - (Version 3.10.0 with arch x64 not found) 3.11 - working

macos:latest

3.7 - working 3.8 - working 3.9 - working 3.10.0 - working 3.11 - not working (building 'hnswlib' extension)

macos M1 (tested on my own machine)

3.8 - working 3.10.0 - working 3.11 - not working (building 'sentencepiece' extension)

windows:latest

3.7 - working 3.8 - working 3.9 - working 3.10.0 - working 3.11 - not working (building 'sentencepiece._sentencepiece' extension)

grumpyp avatar Apr 09 '23 15:04 grumpyp

https://github.com/tox-dev/tox

grumpyp avatar Apr 09 '23 18:04 grumpyp

@grumpyp this is great!

3.11 currently will not install because we include a default embedding model that depends on pytorch (currently sentence-transformers, but we are switching to a slimmer ONNX model https://github.com/chroma-core/chroma/pull/267)

Pytorch does not support 3.11 - https://github.com/pytorch/pytorch/issues/86566

For some use cases - we have discussed shipping a different version of chromadb, say chromadb-lite where users can add extras_require to get the exact pieces that they need for their use case. That is being discussed here - https://github.com/chroma-core/chroma/issues/289

I agree - at a minimum, adding a note about python 3.11 to the docs. I'll add that tonight and link back to this issue.

@levand could we look into adding this to our testing overhaul?

jeffchuber avatar Apr 10 '23 04:04 jeffchuber

The PR i mentioned - https://github.com/chroma-core/docs/pull/35

jeffchuber avatar Apr 10 '23 04:04 jeffchuber

have you had the chance to have a look into the PR?

grumpyp avatar Apr 12 '23 17:04 grumpyp

BTW, tests are not working with 3.7 or lower. Also, this info would be helpful in DEVELOP.md as well. I ran into both low and high version incompatibilities yesterday :)

grishick avatar Apr 24 '23 16:04 grishick

This is tested and communicated much better now.

jeffchuber avatar Jun 23 '23 17:06 jeffchuber