{"package":"beanllm","ecosystem":"pypi","latest_version":"0.3.0","description":"Unified toolkit for managing and using multiple LLM providers with automatic model detection","license":"MIT","license_risk":"permissive","commercial_use_notes":"Permissive: commercial closed-source use OK; preserve the copyright notice.","homepage":"https://pypi.org/project/beanllm/","repository":"https://github.com/leebeanbin/beanllm","downloads_weekly":0,"health":{"score":51,"risk":"high","breakdown":{"maintenance":20,"popularity":0,"security":25,"maturity":6,"community":0},"deprecated":false,"max_score":100},"vulnerabilities":{"count":0,"critical":0,"high":0,"medium":0,"low":0,"details":[]},"versions":{"latest":"0.3.0","total_count":6,"recent":["0.1.0","0.1.1","0.2.0","0.2.1","0.2.2","0.3.0"]},"metadata":{"deprecated":false,"deprecated_message":null,"maintainers_count":0,"first_published":null,"last_published":"2026-02-09T08:10:39.185709Z","dependencies_count":92,"dependencies":["httpx<1.0.0,>=0.24.0","python-dotenv<2.0.0,>=1.0.0","rich<15.0.0,>=13.0.0","beautifulsoup4<5.0.0,>=4.12.0","requests<3.0.0,>=2.31.0","numpy<3.0.0,>=1.24.0","tiktoken<1.0.0,>=0.5.0","pydantic<3.0.0,>=2.0.0","ollama<1.0.0,>=0.1.0","PyMuPDF<2.0.0,>=1.23.0","pdfplumber<1.0.0,>=0.10.0","pandas<3.0.0,>=2.0.0","chromadb<2.0.0,>=1.4.1","openai<3.0.0,>=2.16.0","openai<3.0.0,>=1.0.0; extra == \"openai\"","anthropic<1.0.0,>=0.18.0; extra == \"anthropic\"","google-generativeai<1.0.0,>=0.3.0; extra == \"gemini\"","ollama<1.0.0,>=0.1.0; extra == \"ollama\"","openai-whisper<20250626,>=20231117; extra == \"audio\"","marker-pdf<2.0.0,>=0.2.0; extra == \"ml\"","torch<3.0.0,>=2.0.0; extra == \"ml\"","typer[all]<1.0.0,>=0.9.0; extra == \"cli\"","fastmcp<3.0.0,>=2.0.0; extra == \"mcp\"","uvicorn<1.0.0,>=0.23.0; extra == \"mcp\"","sse-starlette<2.0.0,>=1.6.0; extra == \"mcp\"","openai<3.0.0,>=1.0.0; extra == \"all\"","anthropic<1.0.0,>=0.18.0; extra == \"all\"","google-generativeai<1.0.0,>=0.3.0; extra == \"all\"","ollama<1.0.0,>=0.1.0; extra == \"all\"","openai-whisper<20250626,>=20231117; extra == \"all\"","marker-pdf<2.0.0,>=0.2.0; extra == \"all\"","torch<3.0.0,>=2.0.0; extra == \"all\"","typer[all]<1.0.0,>=0.9.0; extra == \"all\"","fastmcp<3.0.0,>=2.0.0; extra == \"all\"","uvicorn<1.0.0,>=0.23.0; extra == \"all\"","sse-starlette<2.0.0,>=1.6.0; extra == \"all\"","chromadb<1.0.0,>=0.4.0; extra == \"vector\"","apscheduler<4.0.0,>=3.10.0; extra == \"evaluation\"","redis<8.0.0,>=7.1.0; extra == \"distributed\"","kafka-python<3.0.0,>=2.0.0; extra == \"distributed\"","hiredis<3.0.0,>=2.0.0; extra == \"distributed\"","kafka-python<3.0.0,>=2.0.0; extra == \"monitoring\"","streamlit<2.0.0,>=1.29.0; extra == \"monitoring\"","plotly<6.0.0,>=5.18.0; extra == \"monitoring\"","pandas<3.0.0,>=2.0.0; extra == \"monitoring\"","umap-learn<1.0.0,>=0.5.0; extra == \"advanced\"","hdbscan<1.0.0,>=0.8.0; extra == \"advanced\"","scikit-learn<2.0.0,>=1.0.0; extra == \"advanced\"","networkx<4.0.0,>=3.0.0; extra == \"advanced\"","bayesian-optimization<2.0.0,>=1.4.0; extra == \"advanced\"","prompt-toolkit<4.0.0,>=3.0.0; extra == \"advanced\"","neo4j<6.0.0,>=5.0.0; extra == \"neo4j\"","psycopg2-binary<3.0.0,>=2.9.0; extra == \"db\"","asyncpg<1.0.0,>=0.29.0; extra == \"db\"","pymongo<5.0.0,>=4.0.0; extra == \"db\"","motor<4.0.0,>=3.3.0; extra == \"db\"","sentence-transformers<4.0.0,>=2.2.0; extra == \"semantic\"","semchunk<1.0.0,>=0.3.0; extra == \"semantic\"","ragatouille<1.0.0,>=0.0.8; extra == \"colbert\"","byaldi<1.0.0,>=0.0.1; extra == \"colpali\"","sentence-transformers<4.0.0,>=2.2.0; extra == \"ragpro\"","semchunk<1.0.0,>=0.3.0; extra == \"ragpro\"","ragatouille<1.0.0,>=0.0.8; extra == \"ragpro\"","psycopg2-binary<3.0.0,>=2.9.0; extra == \"ragpro\"","pymongo<5.0.0,>=4.0.0; extra == \"ragpro\"","motor<4.0.0,>=3.3.0; extra == \"ragpro\"","fastapi<1.0.0,>=0.100.0; extra == \"web\"","uvicorn<1.0.0,>=0.23.0; extra == \"web\"","websockets<16.0.0,>=14.0; extra == \"web\"","python-multipart<0.0.23,>=0.0.22; extra == \"web\"","motor<4.0.0,>=3.3.0; extra == \"web\"","pymongo<5.0.0,>=4.0.0; extra == \"web\"","cryptography<44.0.0,>=41.0.0; extra == \"web\"","redis<8.0.0,>=7.1.0; extra == \"web\"","ollama<1.0.0,>=0.1.0; extra == \"web\"","google-generativeai<1.0.0,>=0.3.0; extra == \"web\"","networkx<4.0.0,>=3.0.0; extra == \"web\"","google-api-python-client<3.0.0,>=2.100.0; extra == \"web\"","google-auth-oauthlib<2.0.0,>=1.1.0; extra == \"web\"","google-auth-httplib2<1.0.0,>=0.1.1; extra == \"web\"","streamlit<2.0.0,>=1.29.0; extra == \"web\"","plotly<6.0.0,>=5.18.0; extra == \"web\"","pytest<10.0.0,>=9.0.2; extra == \"dev\"","pytest-asyncio<2.0.0,>=0.21.0; extra == \"dev\"","pytest-cov<5.0.0,>=4.0.0; extra == \"dev\"","black<26.0.0,>=23.0.0; extra == \"dev\"","ruff<1.0.0,>=0.1.0; extra == \"dev\"","mypy<2.0.0,>=1.0.0; extra == \"dev\"","bandit<2.0.0,>=1.7.0; extra == \"dev\"","pre-commit<4.0.0,>=3.0.0; extra == \"dev\"","faker<25.0.0,>=20.0.0; extra == \"dev\"","typer[all]<1.0.0,>=0.9.0; extra == \"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":"0.3.0","version_hint":null,"summary":"beanllm@0.3.0 is safe to use (health: 51/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":6,"first_release_age_days":null,"last_release_days_ago":79,"avg_days_between_releases":null,"release_velocity":"active"}}