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

[BUG]: Fix for failing chromadb-client build #1561

Merged
merged 2 commits into from
Dec 22, 2023

Conversation

tazarov
Copy link
Contributor

@tazarov tazarov commented Dec 21, 2023

Description of changes

Summarize the changes made by this PR.

  • Improvements & Bug fixes
    • Python client build has not been working for a few releases now. Appears that build module is not longer available in default GH runner setup and needs to be explicitly installed

Test plan

How are these changes tested?

Manual test:

python -m pip install -r ./clients/python/requirements.txt && python -m pip install -r ./clients/python/requirements_dev.txt
....
Installing collected packages: sortedcontainers, pypika, websockets, uvloop, sniffio, pyyaml, python-dotenv, pluggy, packaging, opentelemetry-util-http, iniconfig, httptools, h11, click, attrs, asgiref, uvicorn, pytest, hypothesis, anyio, watchfiles, starlette, opentelemetry-instrumentation, opentelemetry-instrumentation-asgi, fastapi, opentelemetry-instrumentation-fastapi
Successfully installed anyio-3.7.1 asgiref-3.7.2 attrs-23.1.0 click-8.1.7 fastapi-0.105.0 h11-0.14.0 httptools-0.6.1 hypothesis-6.92.1 iniconfig-2.0.0 opentelemetry-instrumentation-0.43b0 opentelemetry-instrumentation-asgi-0.43b0 opentelemetry-instrumentation-fastapi-0.43b0 opentelemetry-util-http-0.43b0 packaging-23.2 pluggy-1.3.0 pypika-0.48.9 pytest-7.4.3 python-dotenv-1.0.0 pyyaml-6.0.1 sniffio-1.3.0 sortedcontainers-2.4.0 starlette-0.27.0 uvicorn-0.18.3 uvloop-0.19.0 watchfiles-0.21.0 websockets-12.0

sh ./clients/python/build_python_thin_client.sh
/Users/tazarov/experiments/chroma-experiments/oss/boto3-issue/.venv/bin/python: No module named build

pip install build

Installing collected packages: pyproject_hooks, build
Successfully installed build-1.0.3 pyproject_hooks-1.0.0

./clients/python/build_python_thin_client.sh
* Creating venv isolated environment...
* Installing packages in isolated environment... (setuptools>=61.0, setuptools_scm[toml]>=6.2)
* Getting build dependencies for sdist...
...
Successfully built chromadb-client-0.1.dev1011.tar.gz and chromadb_client-0.1.dev1011-py3-none-any.whl

Documentation Changes

N/A

Copy link

Reviewer Checklist

Please leverage this checklist to ensure your code review is thorough before approving

Testing, Bugs, Errors, Logs, Documentation

  • Can you think of any use case in which the code does not behave as intended? Have they been tested?
  • Can you think of any inputs or external events that could break the code? Is user input validated and safe? Have they been tested?
  • If appropriate, are there adequate property based tests?
  • If appropriate, are there adequate unit tests?
  • Should any logging, debugging, tracing information be added or removed?
  • Are error messages user-friendly?
  • Have all documentation changes needed been made?
  • Have all non-obvious changes been commented?

System Compatibility

  • Are there any potential impacts on other parts of the system or backward compatibility?
  • Does this change intersect with any items on our roadmap, and if so, is there a plan for fitting them together?

Quality

  • Is this code of a unexpectedly high quality (Readbility, Modularity, Intuitiveness)

@tazarov
Copy link
Contributor Author

tazarov commented Dec 21, 2023

@HammadB, @beggers TAL. We should be able to rollout a new client release with this fix.

@beggers
Copy link
Contributor

beggers commented Dec 21, 2023

Ahhh thank you, I've been meaning to look at this for a couple days now.

Does it make sense to add build to our requirements_dev.txt?

@tazarov
Copy link
Contributor Author

tazarov commented Dec 21, 2023

Does it make sense to add build to our requirements_dev.txt?

yeah, let me add it there.

Copy link
Contributor

@beggers beggers left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Noice, thank you

@beggers
Copy link
Contributor

beggers commented Dec 22, 2023

Coordinator tests were fixed in 7dfadf4 so merging this.

@beggers beggers merged commit 12785d7 into chroma-core:main Dec 22, 2023
95 of 96 checks passed
beggers added a commit that referenced this pull request Dec 22, 2023
beggers added a commit that referenced this pull request Dec 22, 2023
beggers added a commit that referenced this pull request Dec 23, 2023
## Description of changes

*Summarize the changes made by this PR.*
 - Improvements & Bug fixes
- Add `build` back as a dependency for the client. A do-over of
#1561 now that main CI is
passing.

## Test plan
*How are these changes tested?*

- [ ] Tests pass locally with `pytest` for python, `yarn test` for js

## Documentation Changes
*Are all docstrings for user-facing APIs updated if required? Do we need
to make documentation changes in the [docs
repository](https://github.com/chroma-core/docs)?*
xhochy added a commit to xhochy/chroma that referenced this pull request Jan 15, 2024
`build` was added in chroma-core#1561 to fix the build of the client. This is a build-time dependency and should not be needed at runtime. Thus it should suffice to be in `requirements-dev.txt`.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

2 participants