diff --git a/pyproject.toml b/pyproject.toml index 33bda39f5e..c49b49a30b 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -210,6 +210,11 @@ constraint-dependencies = [ # via selenium-wire -> trio-websocket -> trio. "trio>=0.26.0", ] +exclude-dependencies = [ + # crawl4ai>=0.8.6 depends on unclecode-litellm, which installs the same + # `litellm` package namespace as upstream litellm and can corrupt imports. + "unclecode-litellm", +] override-dependencies = [ # moodlepy<=0.24.1 pins attrs<23.0.0, but trio>=0.26.0 requires attrs>=23.2.0. # attrs 23.x is backward-compatible; moodlepy works fine at runtime with it. diff --git a/uv.lock b/uv.lock index df5032acd3..efdf2d105d 100644 --- a/uv.lock +++ b/uv.lock @@ -13,6 +13,7 @@ constraints = [ { name = "trio", specifier = ">=0.26.0", index = "https://pypi.org/simple" }, ] overrides = [{ name = "attrs", specifier = ">=23.2.0" }] +excludes = ["unclecode-litellm"] [[package]] name = "aenum" @@ -1438,7 +1439,6 @@ dependencies = [ { name = "rich" }, { name = "shapely" }, { name = "snowballstemmer" }, - { name = "unclecode-litellm" }, { name = "xxhash" }, ] sdist = { url = "https://pypi.tuna.tsinghua.edu.cn/packages/90/2b/9e2b376ec8d4b803cc7b47b428a0ac762c59ce1215d0ab5a4aa9e7afc4a3/crawl4ai-0.8.9.tar.gz", hash = "sha256:00a3c97b9492a694f24fa66bc80b9f1533e5637745dc0e30914c88aac52763e3", size = 608119, upload-time = "2026-06-04T06:19:16.08Z" } @@ -9481,29 +9481,6 @@ wheels = [ { url = "https://pypi.tuna.tsinghua.edu.cn/packages/6b/b1/c24deeda9baf1fd491aaad941ed89e0fed6c583a117fd7b79e0a33a1e6c0/umap_learn-0.5.9.post2-py3-none-any.whl", hash = "sha256:fbe51166561e0e7fab00ef3d516ac2621243b8d15cf4bef9f656d701736b16a0", size = 90146, upload-time = "2025-07-03T00:18:01.042Z" }, ] -[[package]] -name = "unclecode-litellm" -version = "1.81.13" -source = { registry = "https://pypi.tuna.tsinghua.edu.cn/simple" } -dependencies = [ - { name = "aiohttp" }, - { name = "click" }, - { name = "fastuuid" }, - { name = "httpx" }, - { name = "importlib-metadata" }, - { name = "jinja2" }, - { name = "jsonschema" }, - { name = "openai" }, - { name = "pydantic" }, - { name = "python-dotenv" }, - { name = "tiktoken" }, - { name = "tokenizers" }, -] -sdist = { url = "https://pypi.tuna.tsinghua.edu.cn/packages/ce/c4/93ed52c49c2347184f908c692ebb7c1f06303805910774c3282ac68033db/unclecode_litellm-1.81.13.tar.gz", hash = "sha256:db70e34e3e859c0a07f02cb02eaa644f8fa4b4ecc5e2f3be9a58bd7d1c3feedc", size = 16678208, upload-time = "2026-03-24T14:46:31.915Z" } -wheels = [ - { url = "https://pypi.tuna.tsinghua.edu.cn/packages/43/85/7b1e0bc5827bcb23dc572b17c447fb5825340f36a9e4405d4b777b862e0c/unclecode_litellm-1.81.13-py3-none-any.whl", hash = "sha256:5e1fbedbed92333b48e7371e0bacf86d1288020451bf34351703c3b159591399", size = 18008619, upload-time = "2026-03-24T14:46:28.009Z" }, -] - [[package]] name = "unlzw3" version = "0.2.3"