{"package":"abstractcore","ecosystem":"pypi","latest_version":"2.11.9","description":"Unified interface to all LLM providers with essential infrastructure for tool calling, streaming, and model management","license":"MIT","license_risk":"permissive","commercial_use_notes":"Permissive: commercial closed-source use OK; preserve the copyright notice.","homepage":"https://pypi.org/project/abstractcore/","repository":"https://github.com/lpalbou/AbstractCore","downloads_weekly":0,"health":{"score":57,"risk":"high","breakdown":{"maintenance":20,"popularity":0,"security":25,"maturity":12,"community":0},"deprecated":false,"max_score":100},"vulnerabilities":{"count":0,"critical":0,"high":0,"medium":0,"low":0,"details":[]},"versions":{"latest":"2.11.9","total_count":50,"recent":["2.5.0","2.5.2","2.5.3","2.6.0","2.6.2","2.6.3","2.6.5","2.6.6","2.6.7","2.6.8","2.6.9","2.9.0","2.9.1","2.11.2","2.11.4","2.11.5","2.11.6","2.11.7","2.11.8","2.11.9"]},"metadata":{"deprecated":false,"deprecated_message":null,"maintainers_count":0,"first_published":null,"last_published":"2026-02-10T17:22:26.753304Z","dependencies_count":221,"dependencies":["pydantic<3.0.0,>=2.0.0","httpx<1.0.0,>=0.24.0","openai<2.0.0,>=1.0.0; extra == \"openai\"","anthropic<1.0.0,>=0.25.0; extra == \"anthropic\"","transformers<6.0.0,>=4.57.1; extra == \"huggingface\"","torch<3.0.0,>=2.6.0; extra == \"huggingface\"","torchvision>=0.17.0; extra == \"huggingface\"","torchaudio>=2.1.0; extra == \"huggingface\"","llama-cpp-python<1.0.0,>=0.2.0; extra == \"huggingface\"","outlines>=0.1.0; extra == \"huggingface\"","mlx<1.0.0,>=0.30.0; extra == \"mlx\"","mlx-lm<1.0.0,>=0.30.0; extra == \"mlx\"","outlines>=0.1.0; extra == \"mlx\"","matplotlib<4.0.0,>=3.8.0; extra == \"mlx-bench\"","vllm<1.0.0,>=0.6.0; extra == \"vllm\"","sentence-transformers<6.0.0,>=5.1.0; extra == \"embeddings\"","numpy<2.0.0,>=1.20.0; extra == \"embeddings\"","tiktoken<1.0.0,>=0.5.0; extra == \"tokens\"","requests<3.0.0,>=2.25.0; extra == \"tools\"","beautifulsoup4<5.0.0,>=4.12.0; extra == \"tools\"","lxml<6.0.0,>=4.9.0; extra == \"tools\"","ddgs<10.0.0,>=9.10.0; python_version >= \"3.10\" and extra == \"tools\"","duckduckgo-search<4.0.0,>=3.8.0; python_version < \"3.10\" and extra == \"tools\"","psutil<6.0.0,>=5.9.0; extra == \"tools\"","requests<3.0.0,>=2.25.0; extra == \"tool\"","beautifulsoup4<5.0.0,>=4.12.0; extra == \"tool\"","lxml<6.0.0,>=4.9.0; extra == \"tool\"","ddgs<10.0.0,>=9.10.0; python_version >= \"3.10\" and extra == \"tool\"","duckduckgo-search<4.0.0,>=3.8.0; python_version < \"3.10\" and extra == \"tool\"","psutil<6.0.0,>=5.9.0; extra == \"tool\"","Pillow<12.0.0,>=10.0.0; extra == \"media\"","pymupdf4llm<1.0.0,>=0.0.20; extra == \"media\"","pymupdf-layout<2.0.0,>=1.26.6; extra == \"media\"","unstructured[docx,odt,pptx,rtf,xlsx]<1.0.0,>=0.10.0; extra == \"media\"","pandas<3.0.0,>=1.0.0; extra == \"media\"","Pillow<12.0.0,>=10.0.0; extra == \"compression\"","openai<2.0.0,>=1.0.0; extra == \"all\"","anthropic<1.0.0,>=0.25.0; extra == \"all\"","transformers<6.0.0,>=4.57.1; extra == \"all\"","torch<3.0.0,>=2.6.0; extra == \"all\"","torchvision>=0.17.0; extra == \"all\"","torchaudio>=2.1.0; extra == \"all\"","llama-cpp-python<1.0.0,>=0.2.0; extra == \"all\"","outlines>=0.1.0; extra == \"all\"","mlx<1.0.0,>=0.30.0; extra == \"all\"","mlx-lm<1.0.0,>=0.30.0; extra == \"all\"","vllm<1.0.0,>=0.6.0; extra == \"all\"","sentence-transformers<6.0.0,>=5.1.0; extra == \"all\"","numpy<2.0.0,>=1.20.0; extra == \"all\"","tiktoken<1.0.0,>=0.5.0; extra == \"all\"","requests<3.0.0,>=2.25.0; extra == \"all\"","beautifulsoup4<5.0.0,>=4.12.0; extra == \"all\"","lxml<6.0.0,>=4.9.0; extra == \"all\"","ddgs<10.0.0,>=9.10.0; python_version >= \"3.10\" and extra == \"all\"","duckduckgo-search<4.0.0,>=3.8.0; python_version < \"3.10\" and extra == \"all\"","psutil<6.0.0,>=5.9.0; extra == \"all\"","Pillow<12.0.0,>=10.0.0; extra == \"all\"","pymupdf4llm<1.0.0,>=0.0.20; extra == \"all\"","pymupdf-layout<2.0.0,>=1.26.6; extra == \"all\"","unstructured[docx,odt,pptx,rtf,xlsx]<1.0.0,>=0.10.0; extra == \"all\"","pandas<3.0.0,>=1.0.0; extra == \"all\"","fastapi<1.0.0,>=0.100.0; extra == \"all\"","uvicorn[standard]<1.0.0,>=0.23.0; extra == \"all\"","python-multipart<1.0.0,>=0.0.6; extra == \"all\"","sse-starlette<2.0.0,>=1.6.0; extra == \"all\"","abstractvision>=0.2.0; extra == \"all\"","openai<2.0.0,>=1.0.0; extra == \"all-apple\"","anthropic<1.0.0,>=0.25.0; extra == \"all-apple\"","transformers<6.0.0,>=4.57.1; extra == \"all-apple\"","torch<3.0.0,>=2.6.0; extra == \"all-apple\"","torchvision>=0.17.0; extra == \"all-apple\"","torchaudio>=2.1.0; extra == \"all-apple\"","llama-cpp-python<1.0.0,>=0.2.0; extra == \"all-apple\"","outlines>=0.1.0; extra == \"all-apple\"","mlx<1.0.0,>=0.30.0; extra == \"all-apple\"","mlx-lm<1.0.0,>=0.30.0; extra == \"all-apple\"","sentence-transformers<6.0.0,>=5.1.0; extra == \"all-apple\"","numpy<2.0.0,>=1.20.0; extra == \"all-apple\"","tiktoken<1.0.0,>=0.5.0; extra == \"all-apple\"","requests<3.0.0,>=2.25.0; extra == \"all-apple\"","beautifulsoup4<5.0.0,>=4.12.0; extra == \"all-apple\"","lxml<6.0.0,>=4.9.0; extra == \"all-apple\"","ddgs<10.0.0,>=9.10.0; python_version >= \"3.10\" and extra == \"all-apple\"","duckduckgo-search<4.0.0,>=3.8.0; python_version < \"3.10\" and extra == \"all-apple\"","psutil<6.0.0,>=5.9.0; extra == \"all-apple\"","Pillow<12.0.0,>=10.0.0; extra == \"all-apple\"","pymupdf4llm<1.0.0,>=0.0.20; extra == \"all-apple\"","pymupdf-layout<2.0.0,>=1.26.6; extra == \"all-apple\"","unstructured[docx,odt,pptx,rtf,xlsx]<1.0.0,>=0.10.0; extra == \"all-apple\"","pandas<3.0.0,>=1.0.0; extra == \"all-apple\"","fastapi<1.0.0,>=0.100.0; extra == \"all-apple\"","uvicorn[standard]<1.0.0,>=0.23.0; extra == \"all-apple\"","python-multipart<1.0.0,>=0.0.6; extra == \"all-apple\"","sse-starlette<2.0.0,>=1.6.0; extra == \"all-apple\"","abstractvision>=0.2.0; extra == \"all-apple\"","openai<2.0.0,>=1.0.0; extra == \"all-gpu\"","anthropic<1.0.0,>=0.25.0; extra == \"all-gpu\"","transformers<6.0.0,>=4.57.1; extra == \"all-gpu\"","torch<3.0.0,>=2.6.0; extra == \"all-gpu\"","torchvision>=0.17.0; extra == \"all-gpu\"","torchaudio>=2.1.0; extra == \"all-gpu\"","llama-cpp-python<1.0.0,>=0.2.0; extra == \"all-gpu\"","outlines>=0.1.0; extra == \"all-gpu\"","vllm<1.0.0,>=0.6.0; extra == \"all-gpu\"","sentence-transformers<6.0.0,>=5.1.0; extra == \"all-gpu\"","numpy<2.0.0,>=1.20.0; extra == \"all-gpu\"","tiktoken<1.0.0,>=0.5.0; extra == \"all-gpu\"","requests<3.0.0,>=2.25.0; extra == \"all-gpu\"","beautifulsoup4<5.0.0,>=4.12.0; extra == \"all-gpu\"","lxml<6.0.0,>=4.9.0; extra == \"all-gpu\"","ddgs<10.0.0,>=9.10.0; python_version >= \"3.10\" and extra == \"all-gpu\"","duckduckgo-search<4.0.0,>=3.8.0; python_version < \"3.10\" and extra == \"all-gpu\"","psutil<6.0.0,>=5.9.0; extra == \"all-gpu\"","Pillow<12.0.0,>=10.0.0; extra == \"all-gpu\"","pymupdf4llm<1.0.0,>=0.0.20; extra == \"all-gpu\"","pymupdf-layout<2.0.0,>=1.26.6; extra == \"all-gpu\"","unstructured[docx,odt,pptx,rtf,xlsx]<1.0.0,>=0.10.0; extra == \"all-gpu\"","pandas<3.0.0,>=1.0.0; extra == \"all-gpu\"","fastapi<1.0.0,>=0.100.0; extra == \"all-gpu\"","uvicorn[standard]<1.0.0,>=0.23.0; extra == \"all-gpu\"","python-multipart<1.0.0,>=0.0.6; extra == \"all-gpu\"","sse-starlette<2.0.0,>=1.6.0; extra == \"all-gpu\"","abstractvision>=0.2.0; extra == \"all-gpu\"","openai<2.0.0,>=1.0.0; extra == \"all-non-mlx\"","anthropic<1.0.0,>=0.25.0; extra == \"all-non-mlx\"","transformers<6.0.0,>=4.57.1; extra == \"all-non-mlx\"","torch<3.0.0,>=2.6.0; extra == \"all-non-mlx\"","torchvision>=0.17.0; extra == \"all-non-mlx\"","torchaudio>=2.1.0; extra == \"all-non-mlx\"","llama-cpp-python<1.0.0,>=0.2.0; extra == \"all-non-mlx\"","outlines>=0.1.0; extra == \"all-non-mlx\"","sentence-transformers<6.0.0,>=5.1.0; extra == \"all-non-mlx\"","numpy<2.0.0,>=1.20.0; extra == \"all-non-mlx\"","tiktoken<1.0.0,>=0.5.0; extra == \"all-non-mlx\"","requests<3.0.0,>=2.25.0; extra == \"all-non-mlx\"","beautifulsoup4<5.0.0,>=4.12.0; extra == \"all-non-mlx\"","lxml<6.0.0,>=4.9.0; extra == \"all-non-mlx\"","ddgs<10.0.0,>=9.10.0; python_version >= \"3.10\" and extra == \"all-non-mlx\"","duckduckgo-search<4.0.0,>=3.8.0; python_version < \"3.10\" and extra == \"all-non-mlx\"","psutil<6.0.0,>=5.9.0; extra == \"all-non-mlx\"","Pillow<12.0.0,>=10.0.0; extra == \"all-non-mlx\"","pymupdf4llm<1.0.0,>=0.0.20; extra == \"all-non-mlx\"","pymupdf-layout<2.0.0,>=1.26.6; extra == \"all-non-mlx\"","unstructured[docx,odt,pptx,rtf,xlsx]<1.0.0,>=0.10.0; extra == \"all-non-mlx\"","pandas<3.0.0,>=1.0.0; extra == \"all-non-mlx\"","fastapi<1.0.0,>=0.100.0; extra == \"all-non-mlx\"","uvicorn[standard]<1.0.0,>=0.23.0; extra == \"all-non-mlx\"","python-multipart<1.0.0,>=0.0.6; extra == \"all-non-mlx\"","sse-starlette<2.0.0,>=1.6.0; extra == \"all-non-mlx\"","abstractvision>=0.2.0; extra == \"all-non-mlx\"","pytest>=7.0.0; extra == \"dev\"","pytest-asyncio>=0.21.0; extra == \"dev\"","pytest-mock>=3.10.0; extra == \"dev\"","black>=23.0.0; extra == \"dev\"","isort>=5.12.0; extra == \"dev\"","mypy>=1.5.0; extra == \"dev\"","ruff>=0.1.0; extra == \"dev\"","pre-commit>=3.0.0; extra == \"dev\"","fastapi<1.0.0,>=0.100.0; extra == \"server\"","uvicorn[standard]<1.0.0,>=0.23.0; extra == \"server\"","python-multipart<1.0.0,>=0.0.6; extra == \"server\"","sse-starlette<2.0.0,>=1.6.0; extra == \"server\"","abstractvision>=0.2.0; extra == \"server\"","abstractvision>=0.2.0; extra == \"vision\"","abstractvision[huggingface]>=0.2.0; extra == \"vision-diffusers\"","abstractvision[sdcpp]>=0.2.0; extra == \"vision-sdcpp\"","abstractvision[local]>=0.2.0; extra == \"vision-local\"","pytest>=7.0.0; extra == \"test\"","pytest-asyncio>=0.21.0; extra == \"test\"","pytest-mock>=3.10.0; extra == \"test\"","pytest-cov>=4.0.0; extra == \"test\"","responses>=0.23.0; extra == \"test\"","httpx>=0.24.0; extra == \"test\"","mkdocs>=1.5.0; extra == \"docs\"","mkdocs-material>=9.0.0; extra == \"docs\"","mkdocstrings[python]>=0.22.0; extra == \"docs\"","mkdocs-autorefs>=0.4.0; extra == \"docs\"","openai<2.0.0,>=1.0.0; extra == \"full-dev\"","anthropic<1.0.0,>=0.25.0; extra == \"full-dev\"","transformers<6.0.0,>=4.57.1; extra == \"full-dev\"","torch<3.0.0,>=2.6.0; extra == \"full-dev\"","torchvision>=0.17.0; extra == \"full-dev\"","torchaudio>=2.1.0; extra == \"full-dev\"","llama-cpp-python<1.0.0,>=0.2.0; extra == \"full-dev\"","outlines>=0.1.0; extra == \"full-dev\"","mlx<1.0.0,>=0.30.0; extra == \"full-dev\"","mlx-lm<1.0.0,>=0.30.0; extra == \"full-dev\"","vllm<1.0.0,>=0.6.0; extra == \"full-dev\"","sentence-transformers<6.0.0,>=5.1.0; extra == \"full-dev\"","numpy<2.0.0,>=1.20.0; extra == \"full-dev\"","tiktoken<1.0.0,>=0.5.0; extra == \"full-dev\"","requests<3.0.0,>=2.25.0; extra == \"full-dev\"","beautifulsoup4<5.0.0,>=4.12.0; extra == \"full-dev\"","lxml<6.0.0,>=4.9.0; extra == \"full-dev\"","ddgs<10.0.0,>=9.10.0; python_version >= \"3.10\" and extra == \"full-dev\"","duckduckgo-search<4.0.0,>=3.8.0; python_version < \"3.10\" and extra == \"full-dev\"","psutil<6.0.0,>=5.9.0; extra == \"full-dev\"","Pillow<12.0.0,>=10.0.0; extra == \"full-dev\"","pymupdf4llm<1.0.0,>=0.0.20; extra == \"full-dev\"","pymupdf-layout<2.0.0,>=1.26.6; extra == \"full-dev\"","unstructured[docx,odt,pptx,rtf,xlsx]<1.0.0,>=0.10.0; extra == \"full-dev\"","pandas<3.0.0,>=1.0.0; extra == \"full-dev\"","fastapi<1.0.0,>=0.100.0; extra == \"full-dev\"","uvicorn[standard]<1.0.0,>=0.23.0; extra == \"full-dev\"","python-multipart<1.0.0,>=0.0.6; extra == \"full-dev\"","sse-starlette<2.0.0,>=1.6.0; extra == \"full-dev\"","abstractvision>=0.2.0; extra == \"full-dev\"","pytest>=7.0.0; extra == \"full-dev\"","pytest-asyncio>=0.21.0; extra == \"full-dev\"","pytest-mock>=3.10.0; extra == \"full-dev\"","pytest-cov>=4.0.0; extra == \"full-dev\"","responses>=0.23.0; extra == \"full-dev\"","black>=23.0.0; extra == \"full-dev\"","isort>=5.12.0; extra == \"full-dev\"","mypy>=1.5.0; extra == \"full-dev\"","ruff>=0.1.0; extra == \"full-dev\"","pre-commit>=3.0.0; extra == \"full-dev\"","mkdocs>=1.5.0; extra == \"full-dev\"","mkdocs-material>=9.0.0; extra == \"full-dev\"","mkdocstrings[python]>=0.22.0; extra == \"full-dev\"","mkdocs-autorefs>=0.4.0; extra == \"full-dev\""]},"github_stats":null,"bundle":null,"typescript":null,"known_issues":{"bugs_count":0,"bugs_severity":{},"status_breakdown":{},"link":null,"scope":"none"},"historical_compromise":null,"recommendation":{"action":"safe_to_use","issues":[],"use_version":"2.11.9","version_hint":null,"summary":"abstractcore@2.11.9 is safe to use (health: 57/100)"},"version_scoped":null,"requested_version":null,"_cache":"hit","_response_ms":0,"_powered_by":"depscope.dev — free package intelligence for AI agents","typosquat":{"is_suspected":false},"maintainer_trust":{"available":false},"malicious":{"is_malicious":false},"scorecard":{"available":false},"quality":{"available":false},"version_history_summary":{"total_versions":20,"first_release_age_days":null,"last_release_days_ago":77,"avg_days_between_releases":null,"release_velocity":"active"}}