opensearch-project / opensearch-py
Duplication

Places in code with 6 or more lines that are exactly the same.

Intro
  • For duplication, we look at places in code where there are 6 or more lines of code that are exactly the same.
  • Before duplication is calculated, the code is cleaned to remove empty lines, comments, and frequently duplicated constructs such as imports.
  • You should aim at having as little as possible (<5%) of duplicated code as high-level of duplication can lead to maintenance difficulties, poor factoring, and logical contradictions.
Learn more...
Duplication Overall
  • 68% duplication:
    • 15,291 cleaned lines of cleaned code (without empty lines, comments, and frequently duplicated constructs such as imports)
    • 10,530 duplicated lines
  • 54,996 duplicates
system68% (10,530 lines)
Duplication per Extension
pyi90% (7,390 lines)
py43% (3,140 lines)
Duplication per Component (primary)
opensearchpy/_async/client83% (4,853 lines)
opensearchpy/client82% (4,853 lines)
opensearchpy/_async44% (376 lines)
opensearchpy/helpers32% (181 lines)
opensearchpy15% (127 lines)
opensearchpy/connection17% (114 lines)
utils4% (26 lines)
ROOT0% (0 lines)

Duplication Between Components (50+ lines)

G opensearchpy/_async/client opensearchpy/_async/client opensearchpy/client opensearchpy/client opensearchpy/_async/client--opensearchpy/client 9606 opensearchpy/_async opensearchpy/_async opensearchpy/helpers opensearchpy/helpers opensearchpy/_async--opensearchpy/helpers 362 opensearchpy opensearchpy opensearchpy/_async--opensearchpy 206 opensearchpy/connection opensearchpy/connection opensearchpy/_async--opensearchpy/connection 202

Download: SVG DOT (open online Graphviz editor)

Open 3D force graph...

Show more details on duplication between components...
Longest Duplicates
The list of 20 longest duplicates.
See data for all 54,996 duplicates...
Size#FoldersFilesLinesCode
61 x 2 opensearchpy/_async/client
opensearchpy/client
pyi
__init__.pyi
__init__.pyi
792:852 (5%)
792:852 (5%)
view
53 x 2 opensearchpy/_async/client
opensearchpy/client
pyi
__init__.pyi
__init__.pyi
972:1024 (4%)
972:1024 (4%)
view
51 x 2 opensearchpy/_async/client
opensearchpy/client
pyi
__init__.pyi
__init__.pyi
267:317 (4%)
267:317 (4%)
view
47 x 2 opensearchpy/_async/client
opensearchpy/client
__init__.py
__init__.py
1447:1494 (6%)
1437:1484 (6%)
view
39 x 2 opensearchpy/_async/client
opensearchpy/client
__init__.py
__init__.py
1836:1875 (5%)
1824:1863 (5%)
view
39 x 2 opensearchpy/_async
opensearchpy
transport.py
transport.py
340:390 (21%)
369:420 (18%)
view
37 x 2 opensearchpy/_async/client
opensearchpy/client
__init__.py
__init__.py
556:593 (4%)
552:589 (4%)
view
32 x 2 opensearchpy/_async/client
opensearchpy/client
pyi
__init__.pyi
__init__.pyi
207:238 (2%)
207:238 (2%)
view
31 x 2 opensearchpy/_async/client
opensearchpy/client
pyi
__init__.pyi
__init__.pyi
413:443 (2%)
413:443 (2%)
view
31 x 2 opensearchpy/_async/client
opensearchpy/client
pyi
__init__.pyi
__init__.pyi
940:970 (2%)
940:970 (2%)
view
31 x 2 opensearchpy/_async/client
opensearchpy/client
pyi
__init__.pyi
__init__.pyi
877:907 (2%)
877:907 (2%)
view
30 x 2 opensearchpy/_async/client
opensearchpy/client
pyi
__init__.pyi
__init__.pyi
909:938 (2%)
909:938 (2%)
view
30 x 2 opensearchpy/_async/client
opensearchpy/client
pyi
indices.pyi
indices.pyi
635:664 (2%)
635:664 (2%)
view
30 x 2 opensearchpy/_async/client
opensearchpy/client
pyi
__init__.pyi
__init__.pyi
130:159 (2%)
130:159 (2%)
view
30 x 2 opensearchpy/_async/client
opensearchpy/client
pyi
__init__.pyi
__init__.pyi
620:649 (2%)
620:649 (2%)
view
28 x 2 opensearchpy/_async/client
opensearchpy/client
pyi
cat.pyi
cat.pyi
141:168 (5%)
141:168 (5%)
view
28 x 2 opensearchpy/_async/client
opensearchpy/client
pyi
__init__.pyi
__init__.pyi
468:495 (2%)
468:495 (2%)
view
28 x 2 opensearchpy/_async/client
opensearchpy/client
pyi
__init__.pyi
__init__.pyi
356:383 (2%)
356:383 (2%)
view
28 x 2 opensearchpy/_async
opensearchpy/helpers
helpers.py
actions.py
366:398 (11%)
568:600 (7%)
view
27 x 2 opensearchpy/_async/client
opensearchpy/_async/client
pyi
__init__.pyi
__init__.pyi
356:382 (2%)
468:494 (2%)
view
Duplicated Units
The list of top 18 duplicated units.
See data for all 18 unit duplicates...
Size#FoldersFilesLinesCode
27 x 2 opensearchpy/client
opensearchpy/client
pyi
__init__.pyi
__init__.pyi
0:0 
0:0 
view
26 x 2 opensearchpy/client
opensearchpy/client
pyi
__init__.pyi
__init__.pyi
0:0 
0:0 
view
21 x 2 opensearchpy/client
opensearchpy/client
pyi
indices.pyi
indices.pyi
0:0 
0:0 
view
21 x 2 opensearchpy/client
opensearchpy/client
pyi
indices.pyi
indices.pyi
0:0 
0:0 
view
20 x 2 opensearchpy/client
opensearchpy/client
pyi
cat.pyi
cat.pyi
0:0 
0:0 
view
19 x 2 opensearchpy/client
opensearchpy/client
pyi
snapshot.pyi
snapshot.pyi
0:0 
0:0 
view
18 x 2 opensearchpy/client
opensearchpy/client
pyi
indices.pyi
indices.pyi
0:0 
0:0 
view
18 x 2 opensearchpy/client
opensearchpy/client
pyi
indices.pyi
indices.pyi
0:0 
0:0 
view
18 x 2 opensearchpy/client
opensearchpy/client
pyi
dangling_indices.pyi
dangling_indices.pyi
0:0 
0:0 
view
17 x 3 opensearchpy/client
opensearchpy/client
opensearchpy/client
pyi
indices.pyi
indices.pyi
cluster.pyi
0:0 
0:0 
0:0 
view
17 x 2 opensearchpy/client
opensearchpy/client
pyi
ingest.pyi
__init__.pyi
0:0 
0:0 
view
17 x 2 opensearchpy/client
opensearchpy/client
pyi
snapshot.pyi
snapshot.pyi
0:0 
0:0 
view
16 x 2 opensearchpy/client
opensearchpy/client
pyi
indices.pyi
indices.pyi
0:0 
0:0 
view
16 x 2 opensearchpy/client
opensearchpy/client
pyi
__init__.pyi
__init__.pyi
0:0 
0:0 
view
15 x 2 opensearchpy/client
opensearchpy/client
pyi
indices.pyi
indices.pyi
0:0 
0:0 
view
15 x 2 opensearchpy/client
opensearchpy/client
pyi
__init__.pyi
__init__.pyi
0:0 
0:0 
view
14 x 5 opensearchpy/client
opensearchpy/client
opensearchpy/client
opensearchpy/client
opensearchpy/client
pyi
features.pyi
ingest.pyi
dangling_indices.pyi
cluster.pyi
__init__.pyi
0:0 
0:0 
0:0 
0:0 
0:0 
view
24 x 2 opensearchpy/_async/client
opensearchpy/client
__init__.py
__init__.py
0:0 
0:0 
view