{"package":"servicex","ecosystem":"pypi","latest_version":"3.3.1","description":"Python SDK and CLI Client for ServiceX","license":"BSD-3-Clause","license_risk":"permissive","commercial_use_notes":"Permissive: commercial closed-source use OK; preserve the copyright notice.","homepage":"https://pypi.org/project/servicex/","repository":"https://github.com/ssl-hep/ServiceX_frontend","downloads_weekly":0,"health":{"score":65,"risk":"moderate","breakdown":{"maintenance":25,"popularity":0,"security":25,"maturity":15,"community":0},"deprecated":false,"max_score":100},"vulnerabilities":{"count":0,"critical":0,"high":0,"medium":0,"low":0,"details":[]},"versions":{"latest":"3.3.1","total_count":130,"recent":["3.1.0","3.1.1","3.2.0rc1","3.2.0","3.2.1rc1","3.2.1","3.2.2b0","3.2.2rc1","3.2.2","3.2.3b0","3.2.3rc1","3.2.3rc2","3.2.3rc3","3.2.3","3.3.0b1","3.3.0rc1","3.3.0","3.3.1a1","3.3.1rc1","3.3.1"]},"metadata":{"deprecated":false,"deprecated_message":null,"maintainers_count":0,"first_published":null,"last_published":"2026-04-22T14:36:35.182749Z","dependencies_count":67,"dependencies":["aioboto3>=14.1.0","filelock>=3.12.0","func-adl>=3.2.6","google-auth>=2.17","httpx-retries>=0.3.2","httpx>=0.24","importlib-metadata; python_version <= \"3.9\"","make-it-sync","pydantic>=2.6.0","pyyaml>=6.0","qastle>=0.17","requests>=2.31","rich>=13.0.0","ruamel-yaml>=0.18.7","tenacity>=9.0.0","tinydb>=4.7","typer>=0.12.1","types-pyyaml>=6.0","typing-extensions; python_version <= \"3.10\"","asyncmock>=0.4.2; extra == \"develop\"","autodoc-pydantic==2.2.0; extra == \"develop\"","coverage>=7.0.0; extra == \"develop\"","enum-tools[sphinx]>=0.12.0; extra == \"develop\"","fastparquet>=2024.11.0; extra == \"develop\"","flake8>=5.0.4; extra == \"develop\"","func-adl-servicex-xaodr22; extra == \"develop\"","furo>=2023.5.20; extra == \"develop\"","mypy>=0.981; extra == \"develop\"","myst-parser>=3.0.1; extra == \"develop\"","pandas<3,>=2.0.2; extra == \"develop\"","pre-commit>=4.0.1; extra == \"develop\"","pytest-aioboto3>=0.6.0; extra == \"develop\"","pytest-asyncio>=0.21.0; extra == \"develop\"","pytest-console-scripts>=1.4.1; extra == \"develop\"","pytest-cov>=4.0.0; extra == \"develop\"","pytest-mock>=3.10.0; extra == \"develop\"","pytest>=7.2.0; extra == \"develop\"","sphinx-code-include>=1.4.0; extra == \"develop\"","sphinx-copybutton>=0.5.2; extra == \"develop\"","sphinx-design; extra == \"develop\"","sphinx-tabs>=3.4.5; extra == \"develop\"","sphinx<8.2.0,>=7.0.1; extra == \"develop\"","types-aiobotocore<=2.26.0,>=2.7.0; extra == \"develop\"","autodoc-pydantic==2.2.0; extra == \"docs\"","enum-tools[sphinx]>=0.12.0; extra == \"docs\"","func-adl-servicex-xaodr22; extra == \"docs\"","furo>=2023.5.20; extra == \"docs\"","myst-parser>=3.0.1; extra == \"docs\"","sphinx-code-include>=1.4.0; extra == \"docs\"","sphinx-copybutton>=0.5.2; extra == \"docs\"","sphinx-design; extra == \"docs\"","sphinx-tabs>=3.4.5; extra == \"docs\"","sphinx<8.2.0,>=7.0.1; extra == \"docs\"","asyncmock>=0.4.2; extra == \"test\"","coverage>=7.0.0; extra == \"test\"","fastparquet>=2024.11.0; extra == \"test\"","flake8>=5.0.4; extra == \"test\"","mypy>=0.981; extra == \"test\"","pandas<3,>=2.0.2; extra == \"test\"","pre-commit>=4.0.1; extra == \"test\"","pytest-aioboto3>=0.6.0; extra == \"test\"","pytest-asyncio>=0.21.0; extra == \"test\"","pytest-console-scripts>=1.4.1; extra == \"test\"","pytest-cov>=4.0.0; extra == \"test\"","pytest-mock>=3.10.0; extra == \"test\"","pytest>=7.2.0; extra == \"test\"","types-aiobotocore<=2.26.0,>=2.7.0; extra == \"test\""]},"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":"use_with_caution","issues":["Moderate health score (65/100) — verify manually"],"use_version":"3.3.1","version_hint":null,"summary":"servicex@3.3.1 low health (65/100) — consider alternatives"},"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/servicex","tokens_estimated":12,"use_when":"you only need to know if the package exists (hallucination guard)"},{"endpoint":"/api/health/pypi/servicex","tokens_estimated":80,"use_when":"you only need a 0-100 score for go/no-go (>=70 = safe)"},{"endpoint":"/api/prompt/pypi/servicex","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 28 times in 60s. Save bandwidth + tokens with POST /api/check_bulk (1 round-trip for N pkgs)."},"requested_version":null,"_cache":"miss","_response_ms":937,"_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":11,"avg_days_between_releases":null,"release_velocity":"active"}}