mirror of
https://github.com/placeholder-soft/chroma.git
synced 2026-01-12 17:02:54 +08:00
## Description of changes Closes #893 *Summarize the changes made by this PR.* - Improvements & Bug fixes - Adds support for pydantic v2.0 by changing how Collection model inits - this simple change fixes pydantic v2 - Fixes the cross version tests to handle pydantic specifically - Conditionally imports pydantic-settings based on what is available. In v2 BaseSettings was moved to a new package. - New functionality - N/A ## Test plan Existing tests were run with the following configs 1. Fastapi < 0.100, Pydantic >= 2.0 - Unsupported as the fastapi dependencies will not allow it. They likely should, as pydantic.v1 imports would support this, but this is a downstream issue. 2. Fastapi >= 0.100, Pydantic >= 2.0, Supported via normal imports ✅ (Tested with fastapi==0.103.1, pydantic==2.3.0) 3. Fastapi < 0.100 Pydantic < 2.0, Supported via normal imports ✅ (Tested with fastapi==0.95.2, pydantic==1.9.2) 4. Fastapi >= 0.100, Pydantic < 2.0, Supported via normal imports ✅ (Tested with latest fastapi, pydantic==1.9.2) - [x] Tests pass locally with `pytest` for python, `yarn test` for js ## Documentation Changes None required.
66 lines
1.6 KiB
TOML
66 lines
1.6 KiB
TOML
[project]
|
|
name = "chromadb"
|
|
dynamic = ["version"]
|
|
|
|
authors = [
|
|
{ name="Jeff Huber", email="jeff@trychroma.com" },
|
|
{ name="Anton Troynikov", email="anton@trychroma.com" }
|
|
]
|
|
description = "Chroma."
|
|
readme = "README.md"
|
|
requires-python = ">=3.7"
|
|
classifiers = [
|
|
"Programming Language :: Python :: 3",
|
|
"License :: OSI Approved :: Apache Software License",
|
|
"Operating System :: OS Independent",
|
|
]
|
|
dependencies = [
|
|
'requests >= 2.28',
|
|
'pydantic >= 1.9',
|
|
'chroma-hnswlib==0.7.3',
|
|
'fastapi >= 0.95.2',
|
|
'uvicorn[standard] >= 0.18.3',
|
|
'numpy == 1.21.6; python_version < "3.8"',
|
|
'numpy >= 1.22.5; python_version >= "3.8"',
|
|
'posthog >= 2.4.0',
|
|
'typing_extensions >= 4.5.0',
|
|
'pulsar-client>=3.1.0',
|
|
'onnxruntime >= 1.14.1',
|
|
'tokenizers >= 0.13.2',
|
|
'pypika >= 0.48.9',
|
|
'tqdm >= 4.65.0',
|
|
'overrides >= 7.3.1',
|
|
'importlib-resources',
|
|
'graphlib_backport >= 1.0.3; python_version < "3.9"',
|
|
'bcrypt >= 4.0.1',
|
|
'typer >= 0.9.0',
|
|
]
|
|
|
|
[tool.black]
|
|
line-length = 88
|
|
required-version = "23.3.0" # Black will refuse to run if it's not this version.
|
|
target-version = ['py36', 'py37', 'py38', 'py39', 'py310']
|
|
|
|
[tool.pytest.ini_options]
|
|
pythonpath = ["."]
|
|
|
|
[project.scripts]
|
|
chroma = "chromadb.cli.cli:app"
|
|
|
|
[project.urls]
|
|
"Homepage" = "https://github.com/chroma-core/chroma"
|
|
"Bug Tracker" = "https://github.com/chroma-core/chroma/issues"
|
|
|
|
[build-system]
|
|
requires = ["setuptools>=61.0", "setuptools_scm[toml]>=6.2"]
|
|
build-backend = "setuptools.build_meta"
|
|
|
|
[tool.setuptools_scm]
|
|
local_scheme="no-local-version"
|
|
|
|
[tool.setuptools]
|
|
packages = ["chromadb"]
|
|
|
|
[tool.setuptools.package-data]
|
|
chromadb = ["*.yml"]
|