chroma
chroma copied to clipboard
improve documentation with stable versions
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/
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
)
https://github.com/tox-dev/tox
@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?
The PR i mentioned - https://github.com/chroma-core/docs/pull/35
have you had the chance to have a look into the PR?
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 :)
This is tested and communicated much better now.