Skip to content

shakha-de/simity

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

7 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Simity

Notebook Similarity Checker for Plagiarism Detection

Features

  • Compares Jupyter notebooks for similarity using sentence-transformer embeddings
  • Supports comparison of only markdown, only code, or both
  • Visualizes similarity matrix as a heatmap
  • CLI interface for flexible usage

Installation

  1. Clone the repository:
    git clone https://github.com/shakha-de/simity.git
    cd simity
  2. Install dependencies (Python >=3.11 recommended) using uv:
    uv sync
    or use old, but still gold:
    pip install -r requirements.txt

Usage

python main.py <NOTEBOOK_ROOT_PATH> [--mode all|markdown|code] [--window]
  • <NOTEBOOK_ROOT_PATH>: Root directory to search for Jupyter notebooks (.ipynb)
  • --mode: Comparison mode (default: all)
    • all: Compare both code and markdown
    • markdown: Compare only markdown cells
    • code: Compare only code cells
  • --window: Show the heatmap in a dedicated window (blocks execution)

Example

python main.py Exercise-1 --mode markdown --window

Output

  • Lists pairs of submissions with high similarity (>85%)
  • Shows a heatmap of all similarities

Requirements

  • Python >=3.11
  • numpy
  • pandas
  • seaborn
  • matplotlib
  • scikit-learn
  • sentence-transformers
  • uv (for installation)

License

MIT

About

search for similarities

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages