Serranegra/optifarm
View on GitHub ↗
Unique within the repo — the other 19% repeats across its own files.
Unique across all public code — a further 21% is its own but appears in other public repos too.
Tidy, but not new — the code doesn't repeat itself, yet a large share already exists across other public repos. A strong candidate for pulling from (or publishing as) a shared package.
Worth consolidating — in the code
Real, actionable duplication in this repo's source, most concrete first.
Longest identical blocks
The longest runs of identical consecutive lines copied between two files (indentation ignored) — the most concrete copy-paste. Lift the block into a shared function or module.
| Lines | File A | File B | Cross-repo |
|---|---|---|---|
| 17 | Serranegra/optifarm/examples/demo_melon.py:102 |
Serranegra/optifarm/examples/demo_wheat.py:85 |
same repo |
| 12 | Serranegra/optifarm/tests/test_cactus.py:168 |
Serranegra/optifarm/tests/test_sugarcane.py:126 |
same repo |
| 10 | Serranegra/optifarm/examples/demo_cactus.py:45 |
Serranegra/optifarm/examples/demo_sugarcane.py:39 |
same repo |
| 10 | Serranegra/optifarm/examples/demo_cactus.py:225 |
Serranegra/optifarm/examples/demo_wheat.py:306 |
same repo |
| 10 | Serranegra/optifarm/examples/demo_cactus.py:225 |
Serranegra/optifarm/examples/demo_melon.py:474 |
same repo |
| 9 | Serranegra/optifarm/examples/demo_melon.py:621 |
Serranegra/optifarm/examples/demo_sugarcane.py:454 |
same repo |
| 9 | Serranegra/optifarm/examples/demo_sugarcane.py:454 |
Serranegra/optifarm/examples/demo_wheat.py:446 |
same repo |
| 7 | Serranegra/optifarm/examples/generate_readme_images.py:63 |
Serranegra/optifarm/tests/test_demo.py:29 |
same repo |
| 6 | Serranegra/optifarm/examples/_shared.py:19 |
Serranegra/optifarm/examples/demo_melon.py:72 |
same repo |
Top duplication hotspots
| Similarity | Overlap | File A | File B | Cross-repo |
|---|---|---|---|---|
| 24% | 661 | Serranegra/optifarm/examples/demo_melon.py |
Serranegra/optifarm/examples/demo_wheat.py |
same repo |
| 29% | 630 | Serranegra/optifarm/examples/demo_cactus.py |
Serranegra/optifarm/examples/demo_sugarcane.py |
same repo |
| 19% | 554 | Serranegra/optifarm/examples/demo_melon.py |
Serranegra/optifarm/examples/demo_sugarcane.py |
same repo |
| 25% | 529 | Serranegra/optifarm/examples/demo_cactus.py |
Serranegra/optifarm/examples/demo_wheat.py |
same repo |
| 19% | 528 | Serranegra/optifarm/examples/demo_cactus.py |
Serranegra/optifarm/examples/demo_melon.py |
same repo |
| 22% | 526 | Serranegra/optifarm/examples/demo_sugarcane.py |
Serranegra/optifarm/examples/demo_wheat.py |
same repo |
| 8% | 358 | Serranegra/optifarm/examples/demo_melon.py |
Serranegra/optifarm/tests/test_demo.py |
same repo |
| 8% | 313 | Serranegra/optifarm/examples/demo_sugarcane.py |
Serranegra/optifarm/tests/test_demo.py |
same repo |
| 7% | 284 | Serranegra/optifarm/examples/demo_wheat.py |
Serranegra/optifarm/tests/test_demo.py |
same repo |
| 7% | 277 | Serranegra/optifarm/examples/demo_cactus.py |
Serranegra/optifarm/tests/test_demo.py |
same repo |
| 10% | 249 | Serranegra/optifarm/mcfarm_opt/io/svg.py |
Serranegra/optifarm/tests/test_svg.py |
same repo |
| 5% | 217 | Serranegra/optifarm/examples/generate_readme_images.py |
Serranegra/optifarm/tests/test_demo.py |
same repo |
| 7% | 201 | Serranegra/optifarm/examples/demo_melon.py |
Serranegra/optifarm/tests/conftest.py |
same repo |
| 5% | 186 | Serranegra/optifarm/tests/conftest.py |
Serranegra/optifarm/tests/test_demo.py |
same repo |
| 7% | 182 | Serranegra/optifarm/examples/_shared.py |
Serranegra/optifarm/examples/demo_melon.py |
same repo |
| 5% | 181 | Serranegra/optifarm/tests/test_demo.py |
Serranegra/optifarm/tests/test_svg.py |
same repo |
| 10% | 166 | Serranegra/optifarm/mcfarm_opt/crops/melon.py |
Serranegra/optifarm/tests/test_melon.py |
same repo |
| 6% | 164 | Serranegra/optifarm/examples/demo_cactus.py |
Serranegra/optifarm/examples/generate_readme_images.py |
same repo |
| 5% | 164 | Serranegra/optifarm/examples/demo_melon.py |
Serranegra/optifarm/examples/generate_readme_images.py |
same repo |
| 6% | 160 | Serranegra/optifarm/examples/demo_melon.py |
Serranegra/optifarm/mcfarm_opt/crops/melon.py |
same repo |
Duplicate declarations
The same function, variable, class, or type name declared in more than one file — a fast copy-paste signal. Consider extracting a shared definition.
| Files | Declaration | Where |
|---|---|---|
| 9 | class mcfarm_opt |
Serranegra/optifarm/mcfarm_opt/__init__.pySerranegra/optifarm/mcfarm_opt/core/variables.pySerranegra/optifarm/mcfarm_opt/crops/__init__.py+6 more |
| 8 | fn name |
Serranegra/optifarm/mcfarm_opt/crops/base.pySerranegra/optifarm/mcfarm_opt/crops/cactus.pySerranegra/optifarm/mcfarm_opt/crops/melon.py+5 more |
| 5 | fn requirements |
Serranegra/optifarm/mcfarm_opt/crops/base.pySerranegra/optifarm/mcfarm_opt/crops/cactus.pySerranegra/optifarm/mcfarm_opt/crops/sugarcane.py+2 more |
| 5 | fn support_blocks |
Serranegra/optifarm/mcfarm_opt/crops/base.pySerranegra/optifarm/mcfarm_opt/crops/cactus.pySerranegra/optifarm/mcfarm_opt/crops/sugarcane.py+2 more |
| 4 | fn _cell |
Serranegra/optifarm/examples/demo_cactus.pySerranegra/optifarm/examples/demo_melon.pySerranegra/optifarm/examples/demo_sugarcane.py+1 more |
| 4 | fn _gain_cell |
Serranegra/optifarm/examples/demo_cactus.pySerranegra/optifarm/examples/demo_melon.pySerranegra/optifarm/examples/demo_sugarcane.py+1 more |
| 4 | fn print_comparison |
Serranegra/optifarm/examples/demo_cactus.pySerranegra/optifarm/examples/demo_melon.pySerranegra/optifarm/examples/demo_sugarcane.py+1 more |
| 4 | fn RUN_ALL |
Serranegra/optifarm/examples/demo_cactus.pySerranegra/optifarm/examples/demo_melon.pySerranegra/optifarm/examples/demo_sugarcane.py+1 more |
| 4 | fn run_one |
Serranegra/optifarm/examples/demo_cactus.pySerranegra/optifarm/examples/demo_melon.pySerranegra/optifarm/examples/demo_sugarcane.py+1 more |
| 3 | fn add_constraints |
Serranegra/optifarm/mcfarm_opt/crops/base.pySerranegra/optifarm/mcfarm_opt/crops/melon.pySerranegra/optifarm/tests/test_extensibility.py |
| 3 | fn baseline_checkerboard |
Serranegra/optifarm/examples/demo_cactus.pySerranegra/optifarm/examples/demo_melon.pySerranegra/optifarm/examples/demo_sugarcane.py |
| 3 | fn block_types |
Serranegra/optifarm/mcfarm_opt/crops/base.pySerranegra/optifarm/mcfarm_opt/crops/melon.pySerranegra/optifarm/tests/test_extensibility.py |
| 3 | fn crop_blocks |
Serranegra/optifarm/mcfarm_opt/crops/base.pySerranegra/optifarm/mcfarm_opt/crops/melon.pySerranegra/optifarm/tests/test_extensibility.py |
| 3 | fn objective_terms |
Serranegra/optifarm/mcfarm_opt/crops/base.pySerranegra/optifarm/mcfarm_opt/crops/melon.pySerranegra/optifarm/tests/test_extensibility.py |
| 3 | fn solve |
Serranegra/optifarm/mcfarm_opt/solvers/base.pySerranegra/optifarm/mcfarm_opt/solvers/ilp.pySerranegra/optifarm/tests/conftest.py |
| 3 | fn test_empty_terrain_yields_empty_layout |
Serranegra/optifarm/tests/test_cactus.pySerranegra/optifarm/tests/test_sugarcane.pySerranegra/optifarm/tests/test_wheat.py |
| 3 | fn test_fully_blocked_grid_yields_nothing_without_crashing |
Serranegra/optifarm/tests/test_cactus.pySerranegra/optifarm/tests/test_sugarcane.pySerranegra/optifarm/tests/test_wheat.py |
| 3 | class TestAgainstBruteForce |
Serranegra/optifarm/tests/test_cactus.pySerranegra/optifarm/tests/test_sugarcane.pySerranegra/optifarm/tests/test_wheat.py |
| 3 | class TestDegenerate |
Serranegra/optifarm/tests/test_cactus.pySerranegra/optifarm/tests/test_sugarcane.pySerranegra/optifarm/tests/test_wheat.py |
| 3 | class TestSolverBehaviour |
Serranegra/optifarm/tests/test_cactus.pySerranegra/optifarm/tests/test_sugarcane.pySerranegra/optifarm/tests/test_wheat.py |
| 3 | class TestTheRule |
Serranegra/optifarm/tests/test_cactus.pySerranegra/optifarm/tests/test_melon.pySerranegra/optifarm/tests/test_wheat.py |
| 2 | fn _apply_checkerboard |
Serranegra/optifarm/examples/demo_cactus.pySerranegra/optifarm/examples/demo_sugarcane.py |
| 2 | fn augment |
Serranegra/optifarm/examples/demo_melon.pySerranegra/optifarm/tests/conftest.py |
| 2 | fn baseline_greedy |
Serranegra/optifarm/examples/demo_cactus.pySerranegra/optifarm/examples/demo_wheat.py |
| 2 | fn print_metrics |
Serranegra/optifarm/examples/_shared.pySerranegra/optifarm/examples/demo_melon.py |
Docs & prose
Near-identical documentation — often translations (e.g. README.md ⇄ README_zh-CN.md) or mirrored guides. Usually intentional, not cleanup — listed separately so it doesn't inflate the code signal above.
Top duplication hotspots
| Similarity | Overlap | File A | File B | Cross-repo |
|---|---|---|---|---|
| 7% | 313 | Serranegra/optifarm/README.md |
Serranegra/optifarm/examples/README.md |
same repo |
Largest files
Largest files
| LOC | File | Status |
|---|---|---|
| 1095 | Serranegra/optifarm/tests/test_demo.py | indexed |
| 849 | Serranegra/optifarm/README.md | indexed |
| 635 | Serranegra/optifarm/examples/demo_melon.py | indexed |
| 472 | Serranegra/optifarm/tests/test_svg.py | indexed |
| 468 | Serranegra/optifarm/examples/demo_sugarcane.py | indexed |
| 460 | Serranegra/optifarm/examples/demo_wheat.py | indexed |
| 451 | Serranegra/optifarm/examples/generate_readme_images.py | indexed |
| 446 | Serranegra/optifarm/tests/conftest.py | indexed |
| 380 | Serranegra/optifarm/examples/demo_cactus.py | indexed |
| 325 | Serranegra/optifarm/mcfarm_opt/io/svg.py | indexed |