| Crates.io | dupe-core |
| lib.rs | dupe-core |
| version | 0.1.0 |
| created_at | 2025-12-22 14:22:20.483035+00 |
| updated_at | 2025-12-22 14:22:20.483035+00 |
| description | Cross-language duplicate code detection library using Tree-sitter and Rabin-Karp |
| homepage | https://github.com/wiesnerbernard/polydup |
| repository | https://github.com/wiesnerbernard/polydup |
| max_upload_size | |
| id | 1999779 |
| size | 113,163 |
Cross-language duplicate code detector powered by Tree-sitter and Rust.
Shared Core Architecture: Heavy lifting done in Rust, exposed via FFI bindings.
Install the CLI tool from crates.io:
cargo install dupe-cli
polydup scan ./src
Or download pre-built binaries from GitHub Releases.
Install as a project dependency:
npm install @polydup/core
Or globally:
npm install -g @polydup/core
Usage in your project:
const { findDuplicates } = require('@polydup/core');
const duplicates = findDuplicates(['src/', 'tests/'], 10, 0.85);
console.log(duplicates);
Install from PyPI:
pip install polydup
Usage in your project:
import polydup
duplicates = polydup.find_duplicates(
paths=['src/', 'tests/'],
min_block_size=10,
similarity_threshold=0.85
)
cargo build --release -p dupe-cli
./target/release/polydup scan ./src
cd crates/dupe-node
npm install
npm run build
cd crates/dupe-py
maturin develop
python -c "import polydup; print(polydup.version())"
Scan directories for duplicate code:
# Basic usage
polydup scan ./src
# Custom threshold and output format
polydup scan ./src ./tests --threshold 0.85 --format json
# Adjust block size for granularity
polydup scan ./src --min-block-size 50
--threshold: Similarity threshold (0.0-1.0, default: 0.9)--min-block-size: Minimum lines per block (default: 10)--format: Output format (text or json)MIT OR Apache-2.0