{"package":"datarobot-genai","ecosystem":"pypi","latest_version":"0.15.41","description":"Generic helpers for GenAI","license":"Apache-2.0","license_risk":"permissive","commercial_use_notes":"Permissive: commercial closed-source use OK; preserve the copyright notice.","homepage":"https://pypi.org/project/datarobot-genai/","repository":"https://github.com/datarobot-oss/datarobot-genai","downloads_weekly":12550,"health":{"score":77,"risk":"moderate","breakdown":{"maintenance":25,"popularity":10,"security":25,"maturity":15,"community":2},"deprecated":false,"max_score":100},"vulnerabilities":{"count":0,"critical":0,"high":0,"medium":0,"low":0,"details":[]},"versions":{"latest":"0.15.41","total_count":261,"recent":["0.15.22","0.15.23","0.15.24","0.15.25","0.15.26","0.15.27","0.15.28","0.15.29","0.15.30","0.15.31","0.15.32","0.15.33","0.15.34","0.15.35","0.15.36","0.15.37","0.15.38","0.15.39","0.15.40","0.15.41"]},"metadata":{"deprecated":false,"deprecated_message":null,"maintainers_count":1,"first_published":null,"last_published":"2026-05-07T14:28:32.446304Z","dependencies_count":185,"dependencies":["requests<3.0.0,>=2.32.4; extra == \"core\"","datarobot<4.0.0,>=3.10.0; extra == \"core\"","datarobot-early-access==3.14.0.2026.3.18.162920; extra == \"core\"","datarobot-predict<2.0.0,>=1.13.2; extra == \"core\"","openai<3.0.0,>=2.0.0; extra == \"core\"","ragas<0.4.0,>=0.3.8; extra == \"core\"","pyjwt<3.0.0,>=2.12.0; extra == \"core\"","opentelemetry-instrumentation-requests<1.0.0,>=0.43b0; extra == \"core\"","opentelemetry-instrumentation-aiohttp-client<1.0.0,>=0.43b0; extra == \"core\"","opentelemetry-instrumentation-httpx<1.0.0,>=0.43b0; extra == \"core\"","opentelemetry-instrumentation-openai<1.0.0,>=0.40.5; extra == \"core\"","opentelemetry-instrumentation-threading<1.0.0,>=0.43b0; extra == \"core\"","ag-ui-protocol==0.1.15; extra == \"core\"","pyarrow==21.0.0; extra == \"core\"","colorama<1.0.0,>=0.4.6; extra == \"core\"","requests<3.0.0,>=2.32.4; extra == \"crewai\"","datarobot<4.0.0,>=3.10.0; extra == \"crewai\"","datarobot-early-access==3.14.0.2026.3.18.162920; extra == \"crewai\"","datarobot-predict<2.0.0,>=1.13.2; extra == \"crewai\"","openai<3.0.0,>=2.0.0; extra == \"crewai\"","ragas<0.4.0,>=0.3.8; extra == \"crewai\"","pyjwt<3.0.0,>=2.12.0; extra == \"crewai\"","opentelemetry-instrumentation-requests<1.0.0,>=0.43b0; extra == \"crewai\"","opentelemetry-instrumentation-aiohttp-client<1.0.0,>=0.43b0; extra == \"crewai\"","opentelemetry-instrumentation-httpx<1.0.0,>=0.43b0; extra == \"crewai\"","opentelemetry-instrumentation-openai<1.0.0,>=0.40.5; extra == \"crewai\"","opentelemetry-instrumentation-threading<1.0.0,>=0.43b0; extra == \"crewai\"","ag-ui-protocol==0.1.15; extra == \"crewai\"","pyarrow==21.0.0; extra == \"crewai\"","colorama<1.0.0,>=0.4.6; extra == \"crewai\"","anthropic<1.0.0,~=0.71.0; extra == \"crewai\"","azure-ai-inference<2.0.0,>=1.0.0b9; extra == \"crewai\"","crewai[litellm]>=1.11.0; extra == \"crewai\"","litellm<2.0.0,>=1.83.0; extra == \"crewai\"","crewai-tools[mcp]<0.77.0,>=0.69.0; extra == \"crewai\"","nvidia-nat-crewai==1.6.0; extra == \"crewai\"","opentelemetry-instrumentation-crewai<1.0.0,>=0.40.5; extra == \"crewai\"","pybase64<2.0.0,>=1.4.2; extra == \"crewai\"","requests<3.0.0,>=2.32.4; extra == \"langgraph\"","datarobot<4.0.0,>=3.10.0; extra == \"langgraph\"","datarobot-early-access==3.14.0.2026.3.18.162920; extra == \"langgraph\"","datarobot-predict<2.0.0,>=1.13.2; extra == \"langgraph\"","openai<3.0.0,>=2.0.0; extra == \"langgraph\"","ragas<0.4.0,>=0.3.8; extra == \"langgraph\"","pyjwt<3.0.0,>=2.12.0; extra == \"langgraph\"","opentelemetry-instrumentation-requests<1.0.0,>=0.43b0; extra == \"langgraph\"","opentelemetry-instrumentation-aiohttp-client<1.0.0,>=0.43b0; extra == \"langgraph\"","opentelemetry-instrumentation-httpx<1.0.0,>=0.43b0; extra == \"langgraph\"","opentelemetry-instrumentation-openai<1.0.0,>=0.40.5; extra == \"langgraph\"","opentelemetry-instrumentation-threading<1.0.0,>=0.43b0; extra == \"langgraph\"","ag-ui-protocol==0.1.15; extra == \"langgraph\"","pyarrow==21.0.0; extra == \"langgraph\"","colorama<1.0.0,>=0.4.6; extra == \"langgraph\"","langchain-mcp-adapters<0.2.0,>=0.1.12; extra == \"langgraph\"","langgraph<2.0.0,>=1.0.0; extra == \"langgraph\"","langgraph-prebuilt<2.0.0,>=1.0.0; extra == \"langgraph\"","litellm<2.0.0,>=1.83.0; extra == \"langgraph\"","nvidia-nat-langchain==1.6.0; extra == \"langgraph\"","opentelemetry-instrumentation-langchain<1.0.0,>=0.40.5; extra == \"langgraph\"","requests<3.0.0,>=2.32.4; extra == \"llamaindex\"","datarobot<4.0.0,>=3.10.0; extra == \"llamaindex\"","datarobot-early-access==3.14.0.2026.3.18.162920; extra == \"llamaindex\"","datarobot-predict<2.0.0,>=1.13.2; extra == \"llamaindex\"","openai<3.0.0,>=2.0.0; extra == \"llamaindex\"","ragas<0.4.0,>=0.3.8; extra == \"llamaindex\"","pyjwt<3.0.0,>=2.12.0; extra == \"llamaindex\"","opentelemetry-instrumentation-requests<1.0.0,>=0.43b0; extra == \"llamaindex\"","opentelemetry-instrumentation-aiohttp-client<1.0.0,>=0.43b0; extra == \"llamaindex\"","opentelemetry-instrumentation-httpx<1.0.0,>=0.43b0; extra == \"llamaindex\"","opentelemetry-instrumentation-openai<1.0.0,>=0.40.5; extra == \"llamaindex\"","opentelemetry-instrumentation-threading<1.0.0,>=0.43b0; extra == \"llamaindex\"","ag-ui-protocol==0.1.15; extra == \"llamaindex\"","pyarrow==21.0.0; extra == \"llamaindex\"","colorama<1.0.0,>=0.4.6; extra == \"llamaindex\"","llama-index<0.15.0,>=0.14.0; extra == \"llamaindex\"","llama-index-core<0.15.0,>=0.14.0; extra == \"llamaindex\"","llama-index-llms-langchain<0.8.0,>=0.6.1; extra == \"llamaindex\"","llama-index-llms-litellm<0.7.0,>=0.4.1; extra == \"llamaindex\"","litellm<2.0.0,>=1.83.0; extra == \"llamaindex\"","llama-index-llms-openai<0.7.0,>=0.6.0; extra == \"llamaindex\"","llama-index-tools-mcp<0.5.0,>=0.1.0; extra == \"llamaindex\"","nvidia-nat-llama-index==1.6.0; extra == \"llamaindex\"","opentelemetry-instrumentation-llamaindex<1.0.0,>=0.40.5; extra == \"llamaindex\"","pypdf<7.0.0,>=6.10.1; extra == \"llamaindex\"","requests<3.0.0,>=2.32.4; extra == \"nat\"","datarobot<4.0.0,>=3.10.0; extra == \"nat\"","datarobot-early-access==3.14.0.2026.3.18.162920; extra == \"nat\"","datarobot-predict<2.0.0,>=1.13.2; extra == \"nat\"","openai<3.0.0,>=2.0.0; extra == \"nat\"","ragas<0.4.0,>=0.3.8; extra == \"nat\"","pyjwt<3.0.0,>=2.12.0; extra == \"nat\"","opentelemetry-instrumentation-requests<1.0.0,>=0.43b0; extra == \"nat\"","opentelemetry-instrumentation-aiohttp-client<1.0.0,>=0.43b0; extra == \"nat\"","opentelemetry-instrumentation-httpx<1.0.0,>=0.43b0; extra == \"nat\"","opentelemetry-instrumentation-openai<1.0.0,>=0.40.5; extra == \"nat\"","opentelemetry-instrumentation-threading<1.0.0,>=0.43b0; extra == \"nat\"","ag-ui-protocol==0.1.15; extra == \"nat\"","pyarrow==21.0.0; extra == \"nat\"","colorama<1.0.0,>=0.4.6; extra == \"nat\"","litellm<2.0.0,>=1.83.0; extra == \"nat\"","nvidia-nat==1.6.0; extra == \"nat\"","nvidia-nat-a2a==1.6.0; extra == \"nat\"","nvidia-nat-opentelemetry==1.6.0; extra == \"nat\"","nvidia-nat-langchain==1.6.0; extra == \"nat\"","nvidia-nat-mcp==1.6.0; extra == \"nat\"","anyio==4.11.0; extra == \"nat\"","datarobot[auth]<4.0.0,>=3.10.0; extra == \"auth\"","aiohttp<4.0.0,>=3.13.3; extra == \"auth\"","pydantic<3.0.0,>=2.6.1; extra == \"auth\"","okta-client-python<1.0.0,>=0.2.0; extra == \"auth\"","datarobot[auth]<4.0.0,>=3.10.0; extra == \"drmcp\"","aiohttp<4.0.0,>=3.13.3; extra == \"drmcp\"","pydantic<3.0.0,>=2.6.1; extra == \"drmcp\"","okta-client-python<1.0.0,>=0.2.0; extra == \"drmcp\"","beautifulsoup4<5.0.0,>=4.12.0; extra == \"drmcp\"","httpx<1.0.0,>=0.28.1; extra == \"drmcp\"","tavily-python<1.0.0,>=0.7.20; extra == \"drmcp\"","perplexityai<1.0,>=0.27; extra == \"drmcp\"","pypdf<7.0.0,>=6.10.1; extra == \"drmcp\"","polars<2.0.0,>=1.0.0; extra == \"drmcp\"","pyarrow<22.0.0,>=21.0.0; extra == \"drmcp\"","python-dateutil<3.0.0,>=2.9.0; extra == \"drmcp\"","datarobot-predict<2.0.0,>=1.13.2; extra == \"drmcp\"","pydantic<3.0.0,>=2.6.1; extra == \"drmcp\"","datarobot<4.0.0,>=3.10.0; extra == \"drmcp\"","aiohttp<4.0.0,>=3.13.3; extra == \"drmcp\"","fastmcp<4.0.0,>=3.2.0; extra == \"drmcp\"","requests<3.0.0,>=2.32.4; extra == \"drmcp\"","openai<3.0.0,>=2.0.0; extra == \"drmcp\"","pyjwt<3.0.0,>=2.12.0; extra == \"drmcp\"","opentelemetry-instrumentation-requests<1.0.0,>=0.43b0; extra == \"drmcp\"","opentelemetry-instrumentation-aiohttp-client<1.0.0,>=0.43b0; extra == \"drmcp\"","opentelemetry-instrumentation-httpx<1.0.0,>=0.43b0; extra == \"drmcp\"","rich<16.0.0,>=13.0.0; extra == \"drmcp\"","datarobot-asgi-middleware<1.0.0,>=0.2.0; extra == \"drmcp\"","python-dotenv<2.0.0,>=1.1.0; extra == \"drmcp\"","boto3<2.0.0,>=1.34.0; extra == \"drmcp\"","pydantic-settings<3.0.0,>=2.1.0; extra == \"drmcp\"","opentelemetry-api<2.0.0,>=1.22.0; extra == \"drmcp\"","opentelemetry-sdk<2.0.0,>=1.22.0; extra == \"drmcp\"","opentelemetry-exporter-otlp<2.0.0,>=1.22.0; extra == \"drmcp\"","opentelemetry-exporter-otlp-proto-http<2.0.0,>=1.22.0; extra == \"drmcp\"","aiohttp-retry<3.0.0,>=2.8.3; extra == \"drmcp\"","datarobot-early-access==3.14.0.2026.3.18.162920; extra == \"drmcp\"","datarobot[auth]<4.0.0,>=3.10.0; extra == \"drtools\"","aiohttp<4.0.0,>=3.13.3; extra == \"drtools\"","pydantic<3.0.0,>=2.6.1; extra == \"drtools\"","okta-client-python<1.0.0,>=0.2.0; extra == \"drtools\"","beautifulsoup4<5.0.0,>=4.12.0; extra == \"drtools\"","httpx<1.0.0,>=0.28.1; extra == \"drtools\"","tavily-python<1.0.0,>=0.7.20; extra == \"drtools\"","perplexityai<1.0,>=0.27; extra == \"drtools\"","pypdf<7.0.0,>=6.10.1; extra == \"drtools\"","polars<2.0.0,>=1.0.0; extra == \"drtools\"","pyarrow<22.0.0,>=21.0.0; extra == \"drtools\"","python-dateutil<3.0.0,>=2.9.0; extra == \"drtools\"","datarobot-predict<2.0.0,>=1.13.2; extra == \"drtools\"","pydantic<3.0.0,>=2.6.1; extra == \"drtools\"","datarobot<4.0.0,>=3.10.0; extra == \"drtools\"","aiohttp<4.0.0,>=3.13.3; extra == \"drtools\"","requests<3.0.0,>=2.32.4; extra == \"dragent\"","datarobot<4.0.0,>=3.10.0; extra == \"dragent\"","datarobot-early-access==3.14.0.2026.3.18.162920; extra == \"dragent\"","datarobot-predict<2.0.0,>=1.13.2; extra == \"dragent\"","openai<3.0.0,>=2.0.0; extra == \"dragent\"","ragas<0.4.0,>=0.3.8; extra == \"dragent\"","pyjwt<3.0.0,>=2.12.0; extra == \"dragent\"","opentelemetry-instrumentation-requests<1.0.0,>=0.43b0; extra == \"dragent\"","opentelemetry-instrumentation-aiohttp-client<1.0.0,>=0.43b0; extra == \"dragent\"","opentelemetry-instrumentation-httpx<1.0.0,>=0.43b0; extra == \"dragent\"","opentelemetry-instrumentation-openai<1.0.0,>=0.40.5; extra == \"dragent\"","opentelemetry-instrumentation-threading<1.0.0,>=0.43b0; extra == \"dragent\"","ag-ui-protocol==0.1.15; extra == \"dragent\"","pyarrow==21.0.0; extra == \"dragent\"","colorama<1.0.0,>=0.4.6; extra == \"dragent\"","litellm<2.0.0,>=1.83.0; extra == \"dragent\"","nvidia-nat==1.6.0; extra == \"dragent\"","nvidia-nat-a2a==1.6.0; extra == \"dragent\"","nvidia-nat-opentelemetry==1.6.0; extra == \"dragent\"","nvidia-nat-langchain==1.6.0; extra == \"dragent\"","nvidia-nat-mcp==1.6.0; extra == \"dragent\"","anyio==4.11.0; extra == \"dragent\"","fastapi<0.133.0; extra == \"dragent\"","starlette<1.0.0; extra == \"dragent\"","mem0ai<2.0.0,>=1.0.4; extra == \"memory\""]},"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.15.41","version_hint":null,"summary":"datarobot-genai@0.15.41 is safe to use (health: 77/100)"},"version_scoped":null,"_meta":{"endpoint":"check","tier":"full","philosophy":"DepScope is free. Use the cheapest endpoint that answers your real question.","cheaper_alternatives":[{"endpoint":"/api/exists/pypi/datarobot-genai","tokens_estimated":12,"use_when":"you only need to know if the package exists (hallucination guard)"},{"endpoint":"/api/health/pypi/datarobot-genai","tokens_estimated":80,"use_when":"you only need a 0-100 score for go/no-go (>=70 = safe)"},{"endpoint":"/api/prompt/pypi/datarobot-genai","tokens_estimated":280,"use_when":"you want a plain-text LLM-friendly brief instead of JSON"},{"endpoint":"POST /api/check_bulk","tokens_estimated":60,"use_when":"you have 5+ packages to check; sends one round-trip instead of N"}],"docs":"https://depscope.dev/integrate","hint_bulk":"You've called /api/check 92 times in 60s. Save bandwidth + tokens with POST /api/check_bulk (1 round-trip for N pkgs)."},"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":0,"avg_days_between_releases":null,"release_velocity":"active"}}