awslabs / aws-lambda-powertools-python
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
  • 6% duplication:
    • 6,204 cleaned lines of cleaned code (without empty lines, comments, and frequently duplicated constructs such as imports)
    • 394 duplicated lines
  • 39 duplicates
system6% (394 lines)
Duplication per Extension
py6% (394 lines)
Duplication per Component (primary)
aws_lambda_powertools/utilities6% (297 lines)
aws_lambda_powertools/tracing23% (81 lines)
aws_lambda_powertools/event_handler4% (16 lines)
aws_lambda_powertools/middleware_factory0% (0 lines)
aws_lambda_powertools0% (0 lines)
aws_lambda_powertools/shared0% (0 lines)
aws_lambda_powertools/logging0% (0 lines)
aws_lambda_powertools/exceptions0% (0 lines)
aws_lambda_powertools/metrics0% (0 lines)
ROOT0% (0 lines)
benchmark0% (0 lines)
benchmark/src0% (0 lines)
Longest Duplicates
The list of 20 longest duplicates.
See data for all 39 duplicates...
Size#FoldersFilesLinesCode
11 x 2 aws_lambda_powertools/utilities/data_classes
aws_lambda_powertools/utilities/data_classes
active_mq_event.py
rabbit_mq_event.py
18:32 (16%)
79:93 (13%)
view
10 x 2 aws_lambda_powertools/utilities/data_classes
aws_lambda_powertools/utilities/data_classes
s3_object_event.py
s3_object_event.py
100:115 (8%)
196:216 (8%)
view
10 x 2 aws_lambda_powertools/utilities/data_classes
aws_lambda_powertools/utilities/data_classes
api_gateway_authorizer_event.py
api_gateway_proxy_event.py
222:236 (3%)
209:221 (6%)
view
9 x 2 aws_lambda_powertools/tracing
aws_lambda_powertools/tracing
tracer.py
tracer.py
578:586 (2%)
608:616 (2%)
view
8 x 2 aws_lambda_powertools/event_handler
aws_lambda_powertools/event_handler
api_gateway.py
api_gateway.py
453:460 (2%)
724:731 (2%)
view
8 x 2 aws_lambda_powertools/tracing
aws_lambda_powertools/tracing
tracer.py
tracer.py
553:561 (2%)
638:646 (2%)
view
8 x 2 aws_lambda_powertools/utilities/jmespath_utils
aws_lambda_powertools/utilities/validation
envelopes.py
envelopes.py
1:8 (100%)
3:10 (100%)
view
7 x 2 aws_lambda_powertools/utilities/data_classes
aws_lambda_powertools/utilities/data_classes
api_gateway_authorizer_event.py
api_gateway_authorizer_event.py
140:148 (2%)
241:250 (2%)
view
7 x 2 aws_lambda_powertools/utilities/data_classes
aws_lambda_powertools/utilities/data_classes
common.py
common.py
246:256 (3%)
344:354 (3%)
view
7 x 2 aws_lambda_powertools/tracing
aws_lambda_powertools/tracing
tracer.py
tracer.py
539:545 (2%)
593:599 (2%)
view
7 x 2 aws_lambda_powertools/tracing
aws_lambda_powertools/tracing
tracer.py
tracer.py
553:559 (2%)
610:616 (2%)
view
7 x 2 aws_lambda_powertools/tracing
aws_lambda_powertools/tracing
tracer.py
tracer.py
566:572 (2%)
593:599 (2%)
view
7 x 2 aws_lambda_powertools/utilities/data_classes
aws_lambda_powertools/utilities/data_classes
appsync_resolver_event.py
appsync_resolver_event.py
23:33 (6%)
68:78 (6%)
view
7 x 2 aws_lambda_powertools/utilities/data_classes
aws_lambda_powertools/utilities/data_classes
active_mq_event.py
rabbit_mq_event.py
111:120 (10%)
112:121 (8%)
view
7 x 2 aws_lambda_powertools/tracing
aws_lambda_powertools/tracing
tracer.py
tracer.py
580:586 (2%)
638:644 (2%)
view
7 x 2 aws_lambda_powertools/tracing
aws_lambda_powertools/tracing
tracer.py
tracer.py
553:559 (2%)
580:586 (2%)
view
7 x 2 aws_lambda_powertools/tracing
aws_lambda_powertools/tracing
tracer.py
tracer.py
539:545 (2%)
566:572 (2%)
view
7 x 2 aws_lambda_powertools/utilities/data_classes
aws_lambda_powertools/utilities/data_classes
kinesis_stream_event.py
sqs_event.py
63:73 (13%)
121:131 (9%)
view
7 x 2 aws_lambda_powertools/utilities/data_classes
aws_lambda_powertools/utilities/data_classes
cognito_user_pool_event.py
cognito_user_pool_event.py
585:596 (1%)
667:677 (1%)
view
7 x 2 aws_lambda_powertools/tracing
aws_lambda_powertools/tracing
tracer.py
tracer.py
610:616 (2%)
638:644 (2%)
view
Duplicated Units
The list of top 2 duplicated units.
See data for all 2 unit duplicates...
Size#FoldersFilesLinesCode
6 x 2 aws_lambda_powertools/tracing
aws_lambda_powertools/tracing
tracer.py
tracer.py
0:0 
0:0 
view
6 x 2 aws_lambda_powertools/event_handler
aws_lambda_powertools/event_handler
api_gateway.py
api_gateway.py
0:0 
0:0 
view