{"package":"ethnicolr","ecosystem":"pypi","latest_version":"0.21.1","description":"Modern ML library for race/ethnicity prediction from names with intuitive CLI","license":"MIT","license_risk":"permissive","commercial_use_notes":"Permissive: commercial closed-source use OK; preserve the copyright notice.","homepage":"https://pypi.org/project/ethnicolr/","repository":"https://github.com/appeler/ethnicolr","downloads_weekly":13093,"health":{"score":64,"risk":"moderate","breakdown":{"maintenance":15,"popularity":10,"security":25,"maturity":12,"community":2},"deprecated":false,"max_score":100},"vulnerabilities":{"count":0,"critical":0,"high":0,"medium":0,"low":0,"details":[]},"versions":{"latest":"0.21.1","total_count":38,"recent":["0.9.3","0.9.6","0.9.8","0.10.0","0.11.0","0.12.0","0.13.0","0.14.0","0.15.0","0.17.0","0.18.0","0.18.1","0.18.2","0.18.3","0.18.4","0.19.0","0.20.0","0.20.1","0.21.0","0.21.1"]},"metadata":{"deprecated":false,"deprecated_message":null,"maintainers_count":1,"first_published":null,"last_published":"2025-12-27T22:11:42.028765Z","dependencies_count":26,"dependencies":["pandas>=2.2.0","numpy<2.0.0,>=1.26.0","click>=8.0.0","pytest>=7.0; extra == \"dev\"","pytest-cov>=4.0; extra == \"dev\"","pytest-xdist>=3.0; extra == \"dev\"","ruff>=0.7.0; extra == \"dev\"","mypy>=1.0; extra == \"dev\"","pre-commit>=3.0; extra == \"dev\"","sphinx>=7.0; extra == \"docs\"","furo>=2024.1.29; extra == \"docs\"","sphinx-autodoc-typehints>=1.25; extra == \"docs\"","sphinx-copybutton>=0.5; extra == \"docs\"","myst-parser>=2.0; extra == \"docs\"","nbsphinx>=0.9.0; extra == \"docs\"","pandoc>=2.0; extra == \"docs\"","ipykernel>=6.0; extra == \"docs\"","ipython>=8.0.0; extra == \"docs\"","matplotlib>=3.5.0; extra == \"docs\"","tensorflow<3.0.0,>=2.15.0; sys_platform != \"win32\" and extra == \"inference\"","tensorflow-intel<3.0.0,>=2.15.0; sys_platform == \"win32\" and extra == \"inference\"","protobuf<7.0.0,>=4.21.0; extra == \"inference\"","typing-extensions<5.0,>=4.4; extra == \"inference\"","pytest>=7.0; extra == \"test\"","pytest-cov>=4.0; extra == \"test\"","pytest-xdist>=3.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 (64/100) — verify manually"],"use_version":"0.21.1","version_hint":null,"summary":"ethnicolr@0.21.1 low health (64/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/ethnicolr","tokens_estimated":12,"use_when":"you only need to know if the package exists (hallucination guard)"},{"endpoint":"/api/health/pypi/ethnicolr","tokens_estimated":80,"use_when":"you only need a 0-100 score for go/no-go (>=70 = safe)"},{"endpoint":"/api/prompt/pypi/ethnicolr","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 32 times in 60s. Save bandwidth + tokens with POST /api/check_bulk (1 round-trip for N pkgs)."},"requested_version":null,"_cache":"miss","_response_ms":760,"_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":126,"avg_days_between_releases":null,"release_velocity":"moderate"}}