Files
chroma/pyproject.toml
Hammad Bashir 8a6ad07127 [CHORE] Add support for pydantic v2 (#1174)
## 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.
2023-09-25 09:25:39 -07:00

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"]