{"package":"scrapli","ecosystem":"pypi","latest_version":"2026.2.20","description":"Fast, flexible, sync/async, Python 3.7+ screen scraping client specifically for network devices","license":"MIT","license_risk":"permissive","commercial_use_notes":"Permissive: commercial closed-source use OK; preserve the copyright notice.","homepage":"https://pypi.org/project/scrapli/","repository":"https://github.com/carlmontanari/scrapli","downloads_weekly":29043,"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":"2026.2.20","total_count":55,"recent":["2022.1.30","2022.1.30.post1","2022.7.30","2022.7.30.post1","2023.1.30","2023.7.30","2024.1.30","2024.7.30","2024.7.30.post1","2025.1.30","2025.8.16b1","2025.8.16b2","2025.8.16b3","2026.2.20","2026.2.22rc1","2026.3.19rc2","2026.3.23rc3","2026.4.24rc4","2026.4.28rc6","2026.4.29rc7"]},"metadata":{"deprecated":false,"deprecated_message":null,"maintainers_count":0,"first_published":null,"last_published":"2026-02-20T23:42:56.113351Z","dependencies_count":64,"dependencies":["black<25.0.0,>=23.3.0; extra == \"dev-darwin\"","darglint<2.0.0,>=1.8.1; extra == \"dev-darwin\"","isort<6.0.0,>=5.10.1; extra == \"dev-darwin\"","mypy<2.0.0,>=1.4.1; extra == \"dev-darwin\"","nox==2024.4.15; extra == \"dev-darwin\"","pydocstyle<7.0.0,>=6.1.1; extra == \"dev-darwin\"","pyfakefs<6.0.0,>=5.4.1; extra == \"dev-darwin\"","pylint<4.0.0,>=3.0.0; extra == \"dev-darwin\"","pytest-asyncio<1.0.0,>=0.17.0; extra == \"dev-darwin\"","pytest-cov<5.0.0,>=3.0.0; extra == \"dev-darwin\"","pytest<8.0.0,>=7.0.0; extra == \"dev-darwin\"","scrapli-cfg==2023.7.30; extra == \"dev-darwin\"","scrapli-replay==2023.7.30; extra == \"dev-darwin\"","toml<1.0.0,>=0.10.2; extra == \"dev-darwin\"","types-paramiko<4.0.0,>=2.8.6; extra == \"dev-darwin\"","ntc-templates<8.0.0,>=1.1.0; extra == \"dev-darwin\"","textfsm<2.0.0,>=1.1.0; extra == \"dev-darwin\"","genie>=20.2; (sys_platform != \"win32\" and python_version < \"3.13\") and extra == \"dev-darwin\"","pyats>=20.2; (sys_platform != \"win32\" and python_version < \"3.13\") and extra == \"dev-darwin\"","ttp<1.0.0,>=0.5.0; extra == \"dev-darwin\"","paramiko<4.0.0,>=2.6.0; extra == \"dev-darwin\"","asyncssh<3.0.0,>=2.2.1; extra == \"dev-darwin\"","scrapli_community>=2021.01.30; extra == \"dev-darwin\"","black<25.0.0,>=23.3.0; extra == \"dev\"","darglint<2.0.0,>=1.8.1; extra == \"dev\"","isort<6.0.0,>=5.10.1; extra == \"dev\"","mypy<2.0.0,>=1.4.1; extra == \"dev\"","nox==2024.4.15; extra == \"dev\"","pydocstyle<7.0.0,>=6.1.1; extra == \"dev\"","pyfakefs<6.0.0,>=5.4.1; extra == \"dev\"","pylint<4.0.0,>=3.0.0; extra == \"dev\"","pytest-asyncio<1.0.0,>=0.17.0; extra == \"dev\"","pytest-cov<5.0.0,>=3.0.0; extra == \"dev\"","pytest<8.0.0,>=7.0.0; extra == \"dev\"","scrapli-cfg==2023.7.30; extra == \"dev\"","scrapli-replay==2023.7.30; extra == \"dev\"","toml<1.0.0,>=0.10.2; extra == \"dev\"","types-paramiko<4.0.0,>=2.8.6; extra == \"dev\"","ntc-templates<8.0.0,>=1.1.0; extra == \"dev\"","textfsm<2.0.0,>=1.1.0; extra == \"dev\"","genie>=20.2; (sys_platform != \"win32\" and python_version < \"3.13\") and extra == \"dev\"","pyats>=20.2; (sys_platform != \"win32\" and python_version < \"3.13\") and extra == \"dev\"","ttp<1.0.0,>=0.5.0; extra == \"dev\"","paramiko<4.0.0,>=2.6.0; extra == \"dev\"","ssh2-python<2.0.0,>=0.23.0; python_version < \"3.12\" and extra == \"dev\"","asyncssh<3.0.0,>=2.2.1; extra == \"dev\"","scrapli_community>=2021.01.30; extra == \"dev\"","mdx-gh-links<1.0,>=0.2; extra == \"docs\"","mkdocs<2.0.0,>=1.2.3; extra == \"docs\"","mkdocs-gen-files<1.0.0,>=0.4.0; extra == \"docs\"","mkdocs-literate-nav<1.0.0,>=0.5.0; extra == \"docs\"","mkdocs-material<10.0.0,>=8.1.6; extra == \"docs\"","mkdocs-material-extensions<2.0.0,>=1.0.3; extra == \"docs\"","mkdocs-section-index<1.0.0,>=0.3.4; extra == \"docs\"","mkdocstrings[python]<1.0.0,>=0.19.0; extra == \"docs\"","ntc-templates<8.0.0,>=1.1.0; extra == \"textfsm\"","textfsm<2.0.0,>=1.1.0; extra == \"textfsm\"","genie>=20.2; (sys_platform != \"win32\" and python_version < \"3.13\") and extra == \"genie\"","pyats>=20.2; (sys_platform != \"win32\" and python_version < \"3.13\") and extra == \"genie\"","ttp<1.0.0,>=0.5.0; extra == \"ttp\"","paramiko<4.0.0,>=2.6.0; extra == \"paramiko\"","ssh2-python<2.0.0,>=0.23.0; python_version < \"3.12\" and extra == \"ssh2\"","asyncssh<3.0.0,>=2.2.1; extra == \"asyncssh\"","scrapli_community>=2021.01.30; extra == \"community\""]},"github_stats":{"stars":677,"forks":72,"open_issues":1,"is_archived":false,"pushed_at":"2026-05-02T16:10:38Z","subscribers_count":24},"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":"2026.2.20","version_hint":null,"summary":"scrapli@2026.2.20 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/scrapli","tokens_estimated":12,"use_when":"you only need to know if the package exists (hallucination guard)"},{"endpoint":"/api/health/pypi/scrapli","tokens_estimated":80,"use_when":"you only need a 0-100 score for go/no-go (>=70 = safe)"},{"endpoint":"/api/prompt/pypi/scrapli","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 10 times in 60s. Save bandwidth + tokens with POST /api/check_bulk (1 round-trip for N pkgs)."},"requested_version":null,"_cache":"miss","_response_ms":1173,"_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":71,"avg_days_between_releases":null,"release_velocity":"active"}}