{"package":"redup","ecosystem":"pypi","latest_version":"0.4.22","description":"Code duplication analyzer and refactoring planner for LLMs","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/redup/","repository":"https://github.com/semcod/redup","downloads_weekly":77,"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":"0.4.22","total_count":64,"recent":["0.4.3","0.4.4","0.4.5","0.4.6","0.4.7","0.4.8","0.4.9","0.4.10","0.4.11","0.4.12","0.4.13","0.4.14","0.4.15","0.4.16","0.4.17","0.4.18","0.4.19","0.4.20","0.4.21","0.4.22"]},"metadata":{"deprecated":false,"deprecated_message":null,"maintainers_count":0,"first_published":null,"last_published":"2026-04-16T12:53:43.228865Z","dependencies_count":64,"dependencies":["pyyaml>=6.0","typer>=0.12.0","rich>=13.0","pydantic>=2.0","tomli>=2.0; python_version < \"3.11\"","python-dotenv>=1.0","goal>=2.1.0","costs>=0.1.20","pfix>=0.1.60","redup[fast]; extra == \"all\"","redup[fuzzy]; extra == \"all\"","redup[ast]; extra == \"all\"","redup[lsh]; extra == \"all\"","redup[semantic]; extra == \"all\"","redup[compare]; extra == \"all\"","networkx>=3.0; extra == \"compare\"","litellm>=1.0; extra == \"llm\"","xxhash>=3.0; extra == \"fast\"","libcst>=1.0; extra == \"fast\"","pybloom-live>=4.0; extra == \"fast\"","rapidfuzz>=3.0; extra == \"fuzzy\"","tree-sitter>=0.21; extra == \"ast\"","tree-sitter-javascript>=0.20; extra == \"ast\"","tree-sitter-typescript>=0.20; extra == \"ast\"","tree-sitter-go>=0.20; extra == \"ast\"","tree-sitter-rust>=0.20; extra == \"ast\"","tree-sitter-java>=0.20; extra == \"ast\"","tree-sitter-c>=0.20; extra == \"ast\"","tree-sitter-cpp>=0.20; extra == \"ast\"","tree-sitter-html>=0.20; extra == \"ast\"","tree-sitter-css>=0.20; extra == \"ast\"","tree-sitter-sql>=0.20; extra == \"ast\"","tree-sitter-json>=0.20; extra == \"ast\"","tree-sitter-yaml>=0.20; extra == \"ast\"","tree-sitter-toml>=0.20; extra == \"ast\"","tree-sitter-xml>=0.20; extra == \"ast\"","tree-sitter-markdown>=0.20; extra == \"ast\"","tree-sitter-bash>=0.20; extra == \"ast\"","tree-sitter-ruby>=0.20; extra == \"ast\"","tree-sitter-php>=0.20; extra == \"ast\"","tree-sitter-embedded-template>=0.20; extra == \"ast\"","tree-sitter-regex>=0.20; extra == \"ast\"","tree-sitter-scala>=0.20; extra == \"ast\"","tree-sitter-kotlin>=0.20; extra == \"ast\"","tree-sitter-swift>=0.20; extra == \"ast\"","tree-sitter-objc>=0.20; extra == \"ast\"","tree-sitter-c-sharp>=0.20; extra == \"ast\"","tree-sitter-lua>=0.20; extra == \"ast\"","tree-sitter-graphql>=0.20; extra == \"ast\"","tree-sitter-dockerfile>=0.20; extra == \"ast\"","tree-sitter-make>=0.20; extra == \"ast\"","tree-sitter-vim>=0.20; extra == \"ast\"","tree-sitter-nginx>=0.20; extra == \"ast\"","tree-sitter-svelte>=0.20; extra == \"ast\"","tree-sitter-vue>=0.20; extra == \"ast\"","datasketch>=1.6; extra == \"lsh\"","sentence-transformers>=2.0; extra == \"semantic\"","pytest>=7.0; extra == \"dev\"","pytest-cov>=4.0; extra == \"dev\"","ruff>=0.4; extra == \"dev\"","mypy>=1.8; extra == \"dev\"","goal>=2.1.0; extra == \"dev\"","costs>=0.1.20; extra == \"dev\"","pfix>=0.1.60; 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.4.22","version_hint":null,"summary":"redup@0.4.22 is safe to use (health: 65/100)"},"version_scoped":null,"requested_version":null,"_cache":"miss","_response_ms":875,"_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":13,"avg_days_between_releases":null,"release_velocity":"active"}}