Pylint report from report.jinja2

Messages

Module .github/linters/pylintrc (.github/linters/pylintrc)

Line Col. Type Symbol ID Obj Message
1 0 error unrecognized-option E0015
Unrecognized option found: suggestion-mode

Module jstark._version (jstark/_version.py)

Line Col. Type Symbol ID Obj Message
1 0 convention missing-module-docstring C0114
Missing module docstring
18 4 convention invalid-name C0103
Class name "VERSION_TUPLE" doesn't conform to PascalCase naming style
19 4 convention invalid-name C0103
Type alias name "COMMIT_ID" doesn't conform to predefined naming style
21 4 convention invalid-name C0103
Class name "VERSION_TUPLE" doesn't conform to PascalCase naming style
22 4 convention invalid-name C0103
Class name "COMMIT_ID" doesn't conform to PascalCase naming style

Module jstark.feature_generator (jstark/feature_generator.py)

Line Col. Type Symbol ID Obj Message
27 4 refactor too-many-arguments R0913 FeatureGenerator.__init__
Too many arguments (6/5)
27 4 refactor too-many-positional-arguments R0917 FeatureGenerator.__init__
Too many positional arguments (6/5)
50 4 convention missing-function-docstring C0116 FeatureGenerator.as_at
Missing function or method docstring
58 4 convention missing-function-docstring C0116 FeatureGenerator.feature_periods
Missing function or method docstring
88 4 convention missing-function-docstring C0116 FeatureGenerator.features
Missing function or method docstring
118 4 convention missing-function-docstring C0116 FeatureGenerator.references
Missing function or method docstring
130 4 convention missing-function-docstring C0116 FeatureGenerator.flattened_references
Missing function or method docstring
134 4 convention missing-function-docstring C0116 FeatureGenerator.parse_references
Missing function or method docstring
139 4 convention missing-function-docstring C0116 FeatureGenerator.with_feature_periods
Missing function or method docstring
143 4 convention missing-function-docstring C0116 FeatureGenerator.with_feature_period
Missing function or method docstring
147 4 convention missing-function-docstring C0116 FeatureGenerator.with_feature_stems
Missing function or method docstring
151 4 convention missing-function-docstring C0116 FeatureGenerator.with_feature_stem
Missing function or method docstring
155 4 convention missing-function-docstring C0116 FeatureGenerator.with_first_day_of_week
Missing function or method docstring
159 4 convention missing-function-docstring C0116 FeatureGenerator.with_as_at
Missing function or method docstring
163 4 convention missing-function-docstring C0116 FeatureGenerator.with_use_absolute_periods
Missing function or method docstring
167 4 convention missing-function-docstring C0116 FeatureGenerator.without_feature_period
Missing function or method docstring
179 4 convention missing-function-docstring C0116 FeatureGenerator.without_feature_stem
Missing function or method docstring

Module jstark.features (jstark/features/__init__.py)

Line Col. Type Symbol ID Obj Message
1 0 convention missing-module-docstring C0114
Missing module docstring

Module jstark.features.approx_customer_count (jstark/features/approx_customer_count.py)

Line Col. Type Symbol ID Obj Message
9 0 convention missing-class-docstring C0115 ApproxCustomerCount
Missing class docstring

Module jstark.features.approx_product_count (jstark/features/approx_product_count.py)

Line Col. Type Symbol ID Obj Message
9 0 convention missing-class-docstring C0115 ApproxProductCount
Missing class docstring

Module jstark.features.approxdistinctcount_feature (jstark/features/approxdistinctcount_feature.py)

Line Col. Type Symbol ID Obj Message
12 0 convention missing-class-docstring C0115 ApproxDistinctCount
Missing class docstring

Module jstark.features.collect_set_feature (jstark/features/collect_set_feature.py)

Line Col. Type Symbol ID Obj Message
12 0 convention missing-class-docstring C0115 CollectSet
Missing class docstring

Module jstark.features.count (jstark/features/count.py)

Line Col. Type Symbol ID Obj Message
11 0 convention missing-class-docstring C0115 Count
Missing class docstring

Module jstark.features.count_if (jstark/features/count_if.py)

Line Col. Type Symbol ID Obj Message
11 0 convention missing-class-docstring C0115 CountIf
Missing class docstring
11 0 warning abstract-method W0223 CountIf
Method 'description_subject' is abstract in class 'Feature' but is not overridden in child class 'CountIf'

Module jstark.features.customer_count (jstark/features/customer_count.py)

Line Col. Type Symbol ID Obj Message
9 0 convention missing-class-docstring C0115 CustomerCount
Missing class docstring

Module jstark.features.discount (jstark/features/discount.py)

Line Col. Type Symbol ID Obj Message
9 0 convention missing-class-docstring C0115 Discount
Missing class docstring

Module jstark.features.distinctcount_feature (jstark/features/distinctcount_feature.py)

Line Col. Type Symbol ID Obj Message
12 0 convention missing-class-docstring C0115 DistinctCount
Missing class docstring

Module jstark.features.earliest_purchase_date (jstark/features/earliest_purchase_date.py)

Line Col. Type Symbol ID Obj Message
9 0 convention missing-class-docstring C0115 EarliestPurchaseDate
Missing class docstring

Module jstark.features.feature (jstark/features/feature.py)

Line Col. Type Symbol ID Obj Message
21 0 convention missing-class-docstring C0115 Feature
Missing class docstring
31 12 convention import-outside-toplevel C0415 Feature.__init__
Import outside toplevel (warnings)
42 4 convention missing-function-docstring C0116 Feature.feature_period
Missing function or method docstring
50 4 convention missing-function-docstring C0116 Feature.as_at
Missing function or method docstring
54 4 convention missing-function-docstring C0116 Feature.feature_name
Missing function or method docstring
77 4 convention missing-function-docstring C0116 Feature.commentary
Missing function or method docstring
91 4 convention missing-function-docstring C0116 Feature.start_date
Missing function or method docstring
114 4 convention missing-function-docstring C0116 Feature.end_date
Missing function or method docstring
143 4 convention missing-function-docstring C0116 Feature.column_metadata
Missing function or method docstring
282 4 convention missing-function-docstring C0116 BaseFeature.sum_aggregator
Missing function or method docstring
285 4 convention missing-function-docstring C0116 BaseFeature.count_aggregator
Missing function or method docstring
288 4 convention missing-function-docstring C0116 BaseFeature.count_if_aggregator
Missing function or method docstring
291 4 convention missing-function-docstring C0116 BaseFeature.count_distinct_aggregator
Missing function or method docstring
294 4 convention missing-function-docstring C0116 BaseFeature.approx_count_distinct_aggregator
Missing function or method docstring
297 4 convention missing-function-docstring C0116 BaseFeature.max_aggregator
Missing function or method docstring
300 4 convention missing-function-docstring C0116 BaseFeature.min_aggregator
Missing function or method docstring
303 4 convention missing-function-docstring C0116 BaseFeature.collect_set_aggregator
Missing function or method docstring

Module jstark.features.first_and_last_date_of_period (jstark/features/first_and_last_date_of_period.py)

Line Col. Type Symbol ID Obj Message
38 4 convention missing-function-docstring C0116 FirstAndLastDateOfPeriod.first_date_in_week
Missing function or method docstring
48 4 convention missing-function-docstring C0116 FirstAndLastDateOfPeriod.last_date_in_week
Missing function or method docstring
52 4 convention missing-function-docstring C0116 FirstAndLastDateOfPeriod.first_date_in_month
Missing function or method docstring
56 4 convention missing-function-docstring C0116 FirstAndLastDateOfPeriod.last_date_in_month
Missing function or method docstring
64 4 convention missing-function-docstring C0116 FirstAndLastDateOfPeriod.first_date_in_quarter
Missing function or method docstring
76 4 convention missing-function-docstring C0116 FirstAndLastDateOfPeriod.last_date_in_quarter
Missing function or method docstring
88 4 convention missing-function-docstring C0116 FirstAndLastDateOfPeriod.first_date_in_year
Missing function or method docstring
92 4 convention missing-function-docstring C0116 FirstAndLastDateOfPeriod.last_date_in_year
Missing function or method docstring

Module jstark.features.gross_spend (jstark/features/gross_spend.py)

Line Col. Type Symbol ID Obj Message
9 0 convention missing-class-docstring C0115 GrossSpend
Missing class docstring

Module jstark.features.max_feature (jstark/features/max_feature.py)

Line Col. Type Symbol ID Obj Message
12 0 convention missing-class-docstring C0115 Max
Missing class docstring

Module jstark.features.max_gross_price (jstark/features/max_gross_price.py)

Line Col. Type Symbol ID Obj Message
9 0 convention missing-class-docstring C0115 MaxGrossPrice
Missing class docstring

Module jstark.features.max_gross_spend (jstark/features/max_gross_spend.py)

Line Col. Type Symbol ID Obj Message
9 0 convention missing-class-docstring C0115 MaxGrossSpend
Missing class docstring

Module jstark.features.max_net_price (jstark/features/max_net_price.py)

Line Col. Type Symbol ID Obj Message
9 0 convention missing-class-docstring C0115 MaxNetPrice
Missing class docstring

Module jstark.features.max_net_spend (jstark/features/max_net_spend.py)

Line Col. Type Symbol ID Obj Message
9 0 convention missing-class-docstring C0115 MaxNetSpend
Missing class docstring

Module jstark.features.min_feature (jstark/features/min_feature.py)

Line Col. Type Symbol ID Obj Message
12 0 convention missing-class-docstring C0115 Min
Missing class docstring

Module jstark.features.min_gross_price (jstark/features/min_gross_price.py)

Line Col. Type Symbol ID Obj Message
9 0 convention missing-class-docstring C0115 MinGrossPrice
Missing class docstring

Module jstark.features.min_gross_spend (jstark/features/min_gross_spend.py)

Line Col. Type Symbol ID Obj Message
9 0 convention missing-class-docstring C0115 MinGrossSpend
Missing class docstring

Module jstark.features.min_net_price (jstark/features/min_net_price.py)

Line Col. Type Symbol ID Obj Message
9 0 convention missing-class-docstring C0115 MinNetPrice
Missing class docstring

Module jstark.features.min_net_spend (jstark/features/min_net_spend.py)

Line Col. Type Symbol ID Obj Message
9 0 convention missing-class-docstring C0115 MinNetSpend
Missing class docstring

Module jstark.features.most_recent_purchase_date (jstark/features/most_recent_purchase_date.py)

Line Col. Type Symbol ID Obj Message
9 0 convention missing-class-docstring C0115 MostRecentPurchaseDate
Missing class docstring

Module jstark.features.net_spend (jstark/features/net_spend.py)

Line Col. Type Symbol ID Obj Message
9 0 convention missing-class-docstring C0115 NetSpend
Missing class docstring

Module jstark.features.product_count (jstark/features/product_count.py)

Line Col. Type Symbol ID Obj Message
9 0 convention missing-class-docstring C0115 ProductCount
Missing class docstring

Module jstark.features.quantity (jstark/features/quantity.py)

Line Col. Type Symbol ID Obj Message
9 0 convention missing-class-docstring C0115 Quantity
Missing class docstring

Module jstark.features.recency_days (jstark/features/recency_days.py)

Line Col. Type Symbol ID Obj Message
9 0 convention missing-class-docstring C0115 RecencyDays
Missing class docstring

Module jstark.features.sum_feature (jstark/features/sum_feature.py)

Line Col. Type Symbol ID Obj Message
13 0 convention missing-class-docstring C0115 Sum
Missing class docstring

Module jstark.grocery (jstark/grocery/__init__.py)

Line Col. Type Symbol ID Obj Message
1 0 convention missing-module-docstring C0114
Missing module docstring
7 0 convention wrong-import-order C0411
first party import "jstark.features.customer_count.CustomerCount" should be placed before local imports "basket_count.BasketCount", "store_count.StoreCount"
10 0 convention wrong-import-order C0411
first party import "jstark.features.approx_customer_count.ApproxCustomerCount" should be placed before local imports "basket_count.BasketCount", "store_count.StoreCount", "channel_count.ChannelCount", "approx_basket_count.ApproxBasketCount"
11 0 convention wrong-import-order C0411
first party import "jstark.features.min_gross_spend.MinGrossSpend" should be placed before local imports "basket_count.BasketCount", "store_count.StoreCount", "channel_count.ChannelCount", "approx_basket_count.ApproxBasketCount"
12 0 convention wrong-import-order C0411
first party import "jstark.features.max_gross_spend.MaxGrossSpend" should be placed before local imports "basket_count.BasketCount", "store_count.StoreCount", "channel_count.ChannelCount", "approx_basket_count.ApproxBasketCount"
13 0 convention wrong-import-order C0411
first party import "jstark.features.min_net_spend.MinNetSpend" should be placed before local imports "basket_count.BasketCount", "store_count.StoreCount", "channel_count.ChannelCount", "approx_basket_count.ApproxBasketCount"
14 0 convention wrong-import-order C0411
first party import "jstark.features.max_net_spend.MaxNetSpend" should be placed before local imports "basket_count.BasketCount", "store_count.StoreCount", "channel_count.ChannelCount", "approx_basket_count.ApproxBasketCount"
16 0 convention wrong-import-order C0411
first party import "jstark.features.quantity.Quantity" should be placed before local imports "basket_count.BasketCount", "store_count.StoreCount", "channel_count.ChannelCount", "approx_basket_count.ApproxBasketCount", "average_gross_spend_per_basket.AvgGrossSpendPerBasket"
18 0 convention wrong-import-order C0411
first party import "jstark.features.most_recent_purchase_date.MostRecentPurchaseDate" should be placed before local imports "basket_count.BasketCount", "store_count.StoreCount", "channel_count.ChannelCount", "approx_basket_count.ApproxBasketCount", "average_gross_spend_per_basket.AvgGrossSpendPerBasket", "average_quantity_per_basket.AvgQuantityPerBasket"
19 0 convention wrong-import-order C0411
first party import "jstark.features.min_net_price.MinNetPrice" should be placed before local imports "basket_count.BasketCount", "store_count.StoreCount", "channel_count.ChannelCount", "approx_basket_count.ApproxBasketCount", "average_gross_spend_per_basket.AvgGrossSpendPerBasket", "average_quantity_per_basket.AvgQuantityPerBasket"
20 0 convention wrong-import-order C0411
first party import "jstark.features.max_net_price.MaxNetPrice" should be placed before local imports "basket_count.BasketCount", "store_count.StoreCount", "channel_count.ChannelCount", "approx_basket_count.ApproxBasketCount", "average_gross_spend_per_basket.AvgGrossSpendPerBasket", "average_quantity_per_basket.AvgQuantityPerBasket"
21 0 convention wrong-import-order C0411
first party import "jstark.features.min_gross_price.MinGrossPrice" should be placed before local imports "basket_count.BasketCount", "store_count.StoreCount", "channel_count.ChannelCount", "approx_basket_count.ApproxBasketCount", "average_gross_spend_per_basket.AvgGrossSpendPerBasket", "average_quantity_per_basket.AvgQuantityPerBasket"
22 0 convention wrong-import-order C0411
first party import "jstark.features.max_gross_price.MaxGrossPrice" should be placed before local imports "basket_count.BasketCount", "store_count.StoreCount", "channel_count.ChannelCount", "approx_basket_count.ApproxBasketCount", "average_gross_spend_per_basket.AvgGrossSpendPerBasket", "average_quantity_per_basket.AvgQuantityPerBasket"
23 0 convention wrong-import-order C0411
first party import "jstark.features.earliest_purchase_date.EarliestPurchaseDate" should be placed before local imports "basket_count.BasketCount", "store_count.StoreCount", "channel_count.ChannelCount", "approx_basket_count.ApproxBasketCount", "average_gross_spend_per_basket.AvgGrossSpendPerBasket", "average_quantity_per_basket.AvgQuantityPerBasket"
46 4 error undefined-all-variable E0603
Undefined variable name 'ProductCount' in __all__
51 4 error undefined-all-variable E0603
Undefined variable name 'Discount' in __all__

Module jstark.grocery.approx_basket_count (jstark/grocery/approx_basket_count.py)

Line Col. Type Symbol ID Obj Message
9 0 convention missing-class-docstring C0115 ApproxBasketCount
Missing class docstring

Module jstark.grocery.average_basket (jstark/grocery/average_basket.py)

Line Col. Type Symbol ID Obj Message
5 0 convention wrong-import-order C0411
third party import "pyspark.sql.Column" should be placed before first party import "jstark.features.feature.DerivedFeature" 
6 0 convention wrong-import-order C0411
third party import "pyspark.sql.functions" should be placed before first party import "jstark.features.feature.DerivedFeature" 
8 0 convention ungrouped-imports C0412
Imports from package jstark are not grouped

Module jstark.grocery.average_discount_per_basket (jstark/grocery/average_discount_per_basket.py)

Line Col. Type Symbol ID Obj Message
11 0 convention missing-class-docstring C0115 AvgDiscountPerBasket
Missing class docstring

Module jstark.grocery.average_gross_spend_per_basket (jstark/grocery/average_gross_spend_per_basket.py)

Line Col. Type Symbol ID Obj Message
11 0 convention missing-class-docstring C0115 AvgGrossSpendPerBasket
Missing class docstring

Module jstark.grocery.average_purchase_cycle (jstark/grocery/average_purchase_cycle.py)

Line Col. Type Symbol ID Obj Message
12 0 convention missing-class-docstring C0115 AvgPurchaseCycle
Missing class docstring

Module jstark.grocery.average_quantity_per_basket (jstark/grocery/average_quantity_per_basket.py)

Line Col. Type Symbol ID Obj Message
11 0 convention missing-class-docstring C0115 AvgQuantityPerBasket
Missing class docstring

Module jstark.grocery.basket_count (jstark/grocery/basket_count.py)

Line Col. Type Symbol ID Obj Message
9 0 convention missing-class-docstring C0115 BasketCount
Missing class docstring

Module jstark.grocery.basket_periods (jstark/grocery/basket_periods.py)

Line Col. Type Symbol ID Obj Message
8 0 convention wrong-import-order C0411
third party import "pyspark.sql.Column" should be placed before first party import "jstark.features.feature.DerivedFeature" 
9 0 convention wrong-import-order C0411
third party import "pyspark.sql.functions" should be placed before first party import "jstark.features.feature.DerivedFeature" 
11 0 convention ungrouped-imports C0412
Imports from package jstark are not grouped

Module jstark.grocery.channel_count (jstark/grocery/channel_count.py)

Line Col. Type Symbol ID Obj Message
9 0 convention missing-class-docstring C0115 ChannelCount
Missing class docstring

Module jstark.grocery.cycles_since_last_purchase (jstark/grocery/cycles_since_last_purchase.py)

Line Col. Type Symbol ID Obj Message
8 0 convention wrong-import-order C0411
first party import "jstark.features.recency_days.RecencyDays" should be placed before local import "average_purchase_cycle.AvgPurchaseCycle"
11 0 convention missing-class-docstring C0115 CyclesSinceLastPurchase
Missing class docstring

Module jstark.grocery.grocery_features (jstark/grocery/grocery_features.py)

Line Col. Type Symbol ID Obj Message
1 0 convention missing-module-docstring C0114
Missing module docstring
47 0 convention missing-class-docstring C0115 GroceryFeatures
Missing class docstring
48 4 warning useless-parent-delegation W0246 GroceryFeatures.__init__
Useless parent or super() delegation in method '__init__'
48 4 refactor too-many-arguments R0913 GroceryFeatures.__init__
Too many arguments (6/5)
48 4 refactor too-many-positional-arguments R0917 GroceryFeatures.__init__
Too many positional arguments (6/5)

Module jstark.grocery.recency_weighted_basket (jstark/grocery/recency_weighted_basket.py)

Line Col. Type Symbol ID Obj Message
7 0 convention wrong-import-order C0411
third party import "pyspark.sql.Column" should be placed before first party import "jstark.features.feature.DerivedFeature" 
8 0 convention wrong-import-order C0411
third party import "pyspark.sql.functions" should be placed before first party import "jstark.features.feature.DerivedFeature" 
10 0 convention ungrouped-imports C0412
Imports from package jstark are not grouped
18 4 refactor too-many-arguments R0913 RecencyWeightedApproxBasket.__init__
Too many arguments (6/5)
18 4 refactor too-many-positional-arguments R0917 RecencyWeightedApproxBasket.__init__
Too many positional arguments (6/5)
30 4 convention missing-function-docstring C0116 RecencyWeightedApproxBasket.smoothing_factor
Missing function or method docstring
98 4 warning useless-parent-delegation W0246 RecencyWeightedBasket.__init__
Useless parent or super() delegation in method '__init__'
98 4 refactor too-many-arguments R0913 RecencyWeightedBasket.__init__
Too many arguments (6/5)
98 4 refactor too-many-positional-arguments R0917 RecencyWeightedBasket.__init__
Too many positional arguments (6/5)
170 0 convention missing-class-docstring C0115 RecencyWeightedBasket90
Missing class docstring
183 0 convention missing-class-docstring C0115 RecencyWeightedBasket95
Missing class docstring
196 0 convention missing-class-docstring C0115 RecencyWeightedBasket99
Missing class docstring
209 0 convention missing-class-docstring C0115 RecencyWeightedApproxBasket90
Missing class docstring
222 0 convention missing-class-docstring C0115 RecencyWeightedApproxBasket95
Missing class docstring
235 0 convention missing-class-docstring C0115 RecencyWeightedApproxBasket99
Missing class docstring

Module jstark.grocery.store_count (jstark/grocery/store_count.py)

Line Col. Type Symbol ID Obj Message
9 0 convention missing-class-docstring C0115 StoreCount
Missing class docstring

Module jstark.mealkit (jstark/mealkit/__init__.py)

Line Col. Type Symbol ID Obj Message
1 0 convention missing-module-docstring C0114
Missing module docstring

Module jstark.mealkit.approx_order_count (jstark/mealkit/approx_order_count.py)

Line Col. Type Symbol ID Obj Message
9 0 convention missing-class-docstring C0115 ApproxOrderCount
Missing class docstring

Module jstark.mealkit.approx_recipe_count (jstark/mealkit/approx_recipe_count.py)

Line Col. Type Symbol ID Obj Message
9 0 convention missing-class-docstring C0115 ApproxRecipeCount
Missing class docstring

Module jstark.mealkit.average_order (jstark/mealkit/average_order.py)

Line Col. Type Symbol ID Obj Message
5 0 convention wrong-import-order C0411
third party import "pyspark.sql.Column" should be placed before first party import "jstark.features.feature.DerivedFeature" 
6 0 convention wrong-import-order C0411
third party import "pyspark.sql.functions" should be placed before first party import "jstark.features.feature.DerivedFeature" 
8 0 convention ungrouped-imports C0412
Imports from package jstark are not grouped

Module jstark.mealkit.average_purchase_cycle (jstark/mealkit/average_purchase_cycle.py)

Line Col. Type Symbol ID Obj Message
12 0 convention missing-class-docstring C0115 AvgPurchaseCycle
Missing class docstring

Module jstark.mealkit.average_quantity_per_order (jstark/mealkit/average_quantity_per_order.py)

Line Col. Type Symbol ID Obj Message
11 0 convention missing-class-docstring C0115 AvgQuantityPerOrder
Missing class docstring

Module jstark.mealkit.cuisine_count (jstark/mealkit/cuisine_count.py)

Line Col. Type Symbol ID Obj Message
10 0 convention missing-class-docstring C0115 CuisineCount
Missing class docstring
28 0 convention missing-class-docstring C0115 CuisineCountIf
Missing class docstring
53 0 convention missing-class-docstring C0115 ItalianCuisineCount
Missing class docstring
57 0 convention missing-class-docstring C0115 FrenchCuisineCount
Missing class docstring
61 0 convention missing-class-docstring C0115 SpanishCuisineCount
Missing class docstring
65 0 convention missing-class-docstring C0115 SrilankanCuisineCount
Missing class docstring
69 0 convention missing-class-docstring C0115 LebaneseCuisineCount
Missing class docstring
73 0 convention missing-class-docstring C0115 GreekCuisineCount
Missing class docstring
77 0 convention missing-class-docstring C0115 VietnameseCuisineCount
Missing class docstring
81 0 convention missing-class-docstring C0115 DanishCuisineCount
Missing class docstring
85 0 convention missing-class-docstring C0115 WesternEuropeCuisineCount
Missing class docstring
89 0 convention missing-class-docstring C0115 FusionCuisineCount
Missing class docstring
93 0 convention missing-class-docstring C0115 DutchCuisineCount
Missing class docstring
97 0 convention missing-class-docstring C0115 KoreanCuisineCount
Missing class docstring
101 0 convention missing-class-docstring C0115 SouthEastAsianCuisineCount
Missing class docstring
105 0 convention missing-class-docstring C0115 MalaysianCuisineCount
Missing class docstring
109 0 convention missing-class-docstring C0115 AmericanCuisineCount
Missing class docstring
113 0 convention missing-class-docstring C0115 AsianCuisineCount
Missing class docstring
117 0 convention missing-class-docstring C0115 IndianCuisineCount
Missing class docstring
121 0 convention missing-class-docstring C0115 GermanCuisineCount
Missing class docstring
125 0 convention missing-class-docstring C0115 CentralAmericaCuisineCount
Missing class docstring
129 0 convention missing-class-docstring C0115 ArgentinianCuisineCount
Missing class docstring
133 0 convention missing-class-docstring C0115 NorthAmericanCuisineCount
Missing class docstring
137 0 convention missing-class-docstring C0115 NewZealandCuisineCount
Missing class docstring
141 0 convention missing-class-docstring C0115 CanadianCuisineCount
Missing class docstring
145 0 convention missing-class-docstring C0115 SwedishCuisineCount
Missing class docstring
149 0 convention missing-class-docstring C0115 EgyptianCuisineCount
Missing class docstring
153 0 convention missing-class-docstring C0115 NorthernEuropeanCuisineCount
Missing class docstring
157 0 convention missing-class-docstring C0115 CajunCuisineCount
Missing class docstring
161 0 convention missing-class-docstring C0115 AustrianCuisineCount
Missing class docstring
165 0 convention missing-class-docstring C0115 MexicanCuisineCount
Missing class docstring
169 0 convention missing-class-docstring C0115 MediterraneanCuisineCount
Missing class docstring
173 0 convention missing-class-docstring C0115 ThaiCuisineCount
Missing class docstring
177 0 convention missing-class-docstring C0115 ChineseCuisineCount
Missing class docstring
181 0 convention missing-class-docstring C0115 LatinAmericanCuisineCount
Missing class docstring
185 0 convention missing-class-docstring C0115 SouthAsiaCuisineCount
Missing class docstring
189 0 convention missing-class-docstring C0115 MiddleEasternCuisineCount
Missing class docstring
193 0 convention missing-class-docstring C0115 TraditionalCuisineCount
Missing class docstring
197 0 convention missing-class-docstring C0115 SteakhouseCuisineCount
Missing class docstring
201 0 convention missing-class-docstring C0115 PacificislandsCuisineCount
Missing class docstring
205 0 convention missing-class-docstring C0115 EastAsiaCuisineCount
Missing class docstring
209 0 convention missing-class-docstring C0115 BritishCuisineCount
Missing class docstring
213 0 convention missing-class-docstring C0115 CaribbeanCuisineCount
Missing class docstring
217 0 convention missing-class-docstring C0115 FilipinoCuisineCount
Missing class docstring
221 0 convention missing-class-docstring C0115 TurkishCuisineCount
Missing class docstring
225 0 convention missing-class-docstring C0115 BelgianCuisineCount
Missing class docstring
229 0 convention missing-class-docstring C0115 SouthAmericanCuisineCount
Missing class docstring
233 0 convention missing-class-docstring C0115 NorthAfricanCuisineCount
Missing class docstring
237 0 convention missing-class-docstring C0115 SouthAfricanCuisineCount
Missing class docstring
241 0 convention missing-class-docstring C0115 WestAfricanCuisineCount
Missing class docstring
245 0 convention missing-class-docstring C0115 EastAfricanCuisineCount
Missing class docstring
249 0 convention missing-class-docstring C0115 WesternEuropeanCuisineCount
Missing class docstring
253 0 convention missing-class-docstring C0115 PortugueseCuisineCount
Missing class docstring
257 0 convention missing-class-docstring C0115 PeruvianCuisineCount
Missing class docstring
261 0 convention missing-class-docstring C0115 JapaneseCuisineCount
Missing class docstring
265 0 convention missing-class-docstring C0115 PacificIslandsCuisineCount
Missing class docstring
269 0 convention missing-class-docstring C0115 SouthernEuropeCuisineCount
Missing class docstring
273 0 convention missing-class-docstring C0115 AfricanCuisineCount
Missing class docstring
277 0 convention missing-class-docstring C0115 CentralAsiaCuisineCount
Missing class docstring
281 0 convention missing-class-docstring C0115 NorthamericaCuisineCount
Missing class docstring
285 0 convention missing-class-docstring C0115 EuropeanCuisineCount
Missing class docstring
289 0 convention missing-class-docstring C0115 MoroccanCuisineCount
Missing class docstring
293 0 convention missing-class-docstring C0115 AustralianCuisineCount
Missing class docstring
297 0 convention missing-class-docstring C0115 HungarianCuisineCount
Missing class docstring
301 0 convention missing-class-docstring C0115 IranianCuisineCount
Missing class docstring
305 0 convention missing-class-docstring C0115 SoutheastAsiaCuisineCount
Missing class docstring
309 0 convention missing-class-docstring C0115 HawaiianCuisineCount
Missing class docstring
313 0 convention missing-class-docstring C0115 ScandinavianCuisineCount
Missing class docstring
317 0 convention missing-class-docstring C0115 BrazilianCuisineCount
Missing class docstring
321 0 convention missing-class-docstring C0115 IndonesianCuisineCount
Missing class docstring
325 0 convention missing-class-docstring C0115 MongolianCuisineCount
Missing class docstring
329 0 convention missing-class-docstring C0115 RussianCuisineCount
Missing class docstring
333 0 convention missing-class-docstring C0115 SouthAsianCuisineCount
Missing class docstring
337 0 convention missing-class-docstring C0115 BulgarianCuisineCount
Missing class docstring
341 0 convention missing-class-docstring C0115 FusionCuisineCusiineCount
Missing class docstring
345 0 convention missing-class-docstring C0115 IrishCuisineCount
Missing class docstring
349 0 convention missing-class-docstring C0115 GeorgianCuisineCount
Missing class docstring
353 0 convention missing-class-docstring C0115 SouthwestCuisineCount
Missing class docstring
357 0 convention missing-class-docstring C0115 CambodianCuisineCount
Missing class docstring
361 0 convention missing-class-docstring C0115 LatinCuisineCount
Missing class docstring
365 0 convention missing-class-docstring C0115 CubanCuisineCount
Missing class docstring
369 0 convention missing-class-docstring C0115 SoutheastCuisineCount
Missing class docstring
373 0 convention missing-class-docstring C0115 SouthHyphenAfricanCuisineCount
Missing class docstring
377 0 convention missing-class-docstring C0115 JamaicanCuisineCount
Missing class docstring
381 0 convention missing-class-docstring C0115 IsrealiCuisineCount
Missing class docstring
385 0 convention missing-class-docstring C0115 EasteuropeanCuisineCount
Missing class docstring
389 0 convention missing-class-docstring C0115 SingaporeanCuisineCount
Missing class docstring
393 0 convention missing-class-docstring C0115 NordicCuisineCount
Missing class docstring
397 0 convention missing-class-docstring C0115 WestHyphenAfricanCuisineCount
Missing class docstring
401 0 convention missing-class-docstring C0115 NortheastCuisineCount
Missing class docstring
405 0 convention missing-class-docstring C0115 TonganCuisineCount
Missing class docstring
409 0 convention missing-class-docstring C0115 WestafricaCuisineCount
Missing class docstring
413 0 convention missing-class-docstring C0115 ZanzibarianCuisineCount
Missing class docstring
417 0 convention missing-class-docstring C0115 MidwestCuisineCount
Missing class docstring

Module jstark.mealkit.cuisines (jstark/mealkit/cuisines.py)

Line Col. Type Symbol ID Obj Message
9 0 convention missing-class-docstring C0115 Cuisines
Missing class docstring

Module jstark.mealkit.cycles_since_last_order (jstark/mealkit/cycles_since_last_order.py)

Line Col. Type Symbol ID Obj Message
8 0 convention wrong-import-order C0411
first party import "jstark.features.recency_days.RecencyDays" should be placed before local import "average_purchase_cycle.AvgPurchaseCycle"
11 0 convention missing-class-docstring C0115 CyclesSinceLastOrder
Missing class docstring

Module jstark.mealkit.mealkit_features (jstark/mealkit/mealkit_features.py)

Line Col. Type Symbol ID Obj Message
1 0 convention missing-module-docstring C0114
Missing module docstring
123 0 convention missing-class-docstring C0115 MealkitFeatures
Missing class docstring
124 4 warning useless-parent-delegation W0246 MealkitFeatures.__init__
Useless parent or super() delegation in method '__init__'
124 4 refactor too-many-arguments R0913 MealkitFeatures.__init__
Too many arguments (6/5)
124 4 refactor too-many-positional-arguments R0917 MealkitFeatures.__init__
Too many positional arguments (6/5)

Module jstark.mealkit.order_count (jstark/mealkit/order_count.py)

Line Col. Type Symbol ID Obj Message
9 0 convention missing-class-docstring C0115 OrderCount
Missing class docstring

Module jstark.mealkit.order_periods (jstark/mealkit/order_periods.py)

Line Col. Type Symbol ID Obj Message
8 0 convention wrong-import-order C0411
third party import "pyspark.sql.Column" should be placed before first party import "jstark.features.feature.DerivedFeature" 
9 0 convention wrong-import-order C0411
third party import "pyspark.sql.functions" should be placed before first party import "jstark.features.feature.DerivedFeature" 
12 0 convention wrong-import-order C0411
first party import "jstark.feature_period.FeaturePeriod" should be placed before local import "order_count.OrderCount"
12 0 convention ungrouped-imports C0412
Imports from package jstark are not grouped

Module jstark.mealkit.recipe_count (jstark/mealkit/recipe_count.py)

Line Col. Type Symbol ID Obj Message
9 0 convention missing-class-docstring C0115 RecipeCount
Missing class docstring

Module jstark.period_unit_of_measure (jstark/period_unit_of_measure.py)

Line Col. Type Symbol ID Obj Message
1 0 convention missing-module-docstring C0114
Missing module docstring

Module jstark.sample.mealkit_orders (jstark/sample/mealkit_orders.py)

Line Col. Type Symbol ID Obj Message
1 0 convention missing-module-docstring C0114
Missing module docstring
20 0 convention missing-class-docstring C0115 FakeMealkitOrders
Missing class docstring
26 4 convention missing-function-docstring C0116 FakeMealkitOrders.mealkit_orders_schema
Missing function or method docstring
41 4 convention missing-function-docstring C0116 FakeMealkitOrders.flatten_mealkit_orders
Missing function or method docstring
56 4 convention missing-function-docstring C0116 FakeMealkitOrders.df
Missing function or method docstring
56 4 refactor too-many-locals R0914 FakeMealkitOrders.df
Too many local variables (18/15)

Module jstark.sample.transactions (jstark/sample/transactions.py)

Line Col. Type Symbol ID Obj Message
1 0 convention missing-module-docstring C0114
Missing module docstring
21 0 convention missing-class-docstring C0115 FakeGroceryTransactions
Missing class docstring
27 4 convention missing-function-docstring C0116 FakeGroceryTransactions.transactions_schema
Missing function or method docstring
44 4 convention missing-function-docstring C0116 FakeGroceryTransactions.flatten_transactions
Missing function or method docstring
59 4 convention missing-function-docstring C0116 FakeGroceryTransactions.df
Missing function or method docstring
59 4 refactor too-many-locals R0914 FakeGroceryTransactions.df
Too many local variables (19/15)

Module tests.conftest (tests/conftest.py)

Line Col. Type Symbol ID Obj Message
1 0 convention missing-module-docstring C0114
Missing module docstring
40 0 convention missing-function-docstring C0116 mealkit_orders_schema
Missing function or method docstring
45 0 convention missing-function-docstring C0116 dataframe_of_faker_mealkit_orders
Missing function or method docstring
50 0 convention missing-function-docstring C0116 purchases_schema
Missing function or method docstring
55 0 convention missing-function-docstring C0116 dataframe_of_faker_purchases
Missing function or method docstring
60 0 convention missing-function-docstring C0116 dataframe_of_purchases
Missing function or method docstring
61 4 warning redefined-outer-name W0621 dataframe_of_purchases
Redefining name 'spark_session' from outer scope (line 18)
61 33 warning redefined-outer-name W0621 dataframe_of_purchases
Redefining name 'as_at_timestamp' from outer scope (line 30)
61 60 warning redefined-outer-name W0621 dataframe_of_purchases
Redefining name 'purchases_schema' from outer scope (line 50)
255 0 convention missing-function-docstring C0116 luke_and_leia_purchases
Missing function or method docstring
255 28 warning redefined-outer-name W0621 luke_and_leia_purchases
Redefining name 'dataframe_of_purchases' from outer scope (line 60)
262 0 convention missing-function-docstring C0116 purchasing_feature_generator
Missing function or method docstring
263 4 warning redefined-outer-name W0621 purchasing_feature_generator
Redefining name 'as_at_timestamp' from outer scope (line 30)
290 4 warning redefined-outer-name W0621 luke_and_leia_purchases_first
Redefining name 'luke_and_leia_purchases' from outer scope (line 255)
291 4 warning redefined-outer-name W0621 luke_and_leia_purchases_first
Redefining name 'purchasing_feature_generator' from outer scope (line 262)

Module tests.test_feature (tests/test_feature.py)

Line Col. Type Symbol ID Obj Message
1 0 convention missing-module-docstring C0114
Missing module docstring
1 0 refactor duplicate-code R0801
Similar lines in 2 files
==jstark.grocery.grocery_features:[47:65]
==jstark.mealkit.mealkit_features:[123:143]
    def __init__(
        self,
        as_at: date | None = None,
        feature_periods: FeaturePeriodsType = None,
        feature_stems: set[str] | list[str] | None = None,
        first_day_of_week: str | None = None,
        use_absolute_periods: bool = False,
    ) -> None:
        super().__init__(
            as_at,
            feature_periods,
            feature_stems,
            first_day_of_week,
            use_absolute_periods,
        )

    FEATURE_CLASSES: set[type[Feature]] = {
        Count,
1 0 refactor duplicate-code R0801
Similar lines in 2 files
==jstark.grocery.basket_periods:[23:43]
==jstark.mealkit.order_periods:[23:42]
                        as_at=self.as_at,
                        feature_period=FeaturePeriod(
                            self.feature_period.period_unit_of_measure, period, period
                        ),
                        first_day_of_week=self._first_day_of_week,
                    ).column
                    > 0,
                    1,
                ).otherwise(0)
            )

        return functools.reduce(operator.add, exprs)

    def default_value(self) -> Column:
        return f.lit(None)

    @property
    def description_subject(self) -> str:
        return (
            f"Number of {self.feature_period.period_unit_of_measure.name.lower()}s"
1 0 refactor duplicate-code R0801
Similar lines in 2 files
==jstark.grocery.basket_periods:[44:63]
==jstark.mealkit.order_periods:[43:62]
        )

    @property
    def commentary(self) -> str:
        return (
            f"The number of {self.feature_period.period_unit_of_measure.name.lower()}s "
            + "in which at least one basket was purchased. The value will be in the "
            + f"range 0 to {self.feature_period.start - self.feature_period.end + 1} "
            + f"because {self.feature_period.start - self.feature_period.end + 1} is "
            + f"the number of {self.feature_period.period_unit_of_measure.name.lower()}"
            + f"s between {self.start_date.strftime('%Y-%m-%d')} and"
            + f" {self.end_date.strftime('%Y-%m-%d')}. When grouped by Customer and"
            + " Product this feature is a useful indicator of the frequency of"
            + " which a Customer purchases a Product."
        )

    @property
    def feature_name(self) -> str:
        return (
1 0 refactor duplicate-code R0801
Similar lines in 2 files
==jstark.grocery.cycles_since_last_purchase:[11:27]
==jstark.mealkit.cycles_since_last_order:[11:27]
    def column_expression(self) -> Column:
        return f.try_divide(
            RecencyDays(
                self.as_at,
                self.feature_period,
                first_day_of_week=self._first_day_of_week,
            ).column,
            AvgPurchaseCycle(
                self.as_at,
                self.feature_period,
                first_day_of_week=self._first_day_of_week,
            ).column,
        )

    @property
    def description_subject(self) -> str:
1 0 refactor duplicate-code R0801
Similar lines in 2 files
==jstark.grocery.average_basket:[17:34]
==jstark.mealkit.average_order:[17:34]
                as_at=self.as_at,
                feature_period=FeaturePeriod(
                    self.feature_period.period_unit_of_measure,
                    self.feature_period.start,
                    self.feature_period.end,
                ),
                first_day_of_week=self._first_day_of_week,
            ).column
            / self.feature_period.number_of_periods
        )

    def default_value(self) -> Column:
        return f.lit(None)

    @property
    def description_subject(self) -> str:
        return (
1 0 refactor duplicate-code R0801
Similar lines in 2 files
==jstark.grocery.average_purchase_cycle:[11:26]
==jstark.mealkit.average_purchase_cycle:[11:26]
class AvgPurchaseCycle(DerivedFeature):
    def column_expression(self) -> Column:
        return f.try_divide(
            f.datediff(
                MostRecentPurchaseDate(
                    self.as_at,
                    self.feature_period,
                    first_day_of_week=self._first_day_of_week,
                ).column,
                EarliestPurchaseDate(
                    self.as_at,
                    self.feature_period,
                    first_day_of_week=self._first_day_of_week,
                ).column,
            ),
1 0 refactor duplicate-code R0801
Similar lines in 2 files
==jstark.grocery.average_purchase_cycle:[27:42]
==jstark.mealkit.average_purchase_cycle:[27:42]
                self.as_at,
                self.feature_period,
                first_day_of_week=self._first_day_of_week,
            ).column,
        )

    @property
    def description_subject(self) -> str:
        return "Average purchase cycle"

    @property
    def commentary(self) -> str:
        return (
            "How often (measured in days) is a purchase made. This "
            + "is very useful to determine how often a customer buys "
1 0 refactor duplicate-code R0801
Similar lines in 2 files
==jstark.grocery.average_discount_per_basket:[14:27]
==jstark.grocery.average_gross_spend_per_basket:[14:27]
                self.as_at,
                self.feature_period,
                first_day_of_week=self._first_day_of_week,
            ).column,
            BasketCount(
                self.as_at,
                self.feature_period,
                first_day_of_week=self._first_day_of_week,
            ).column,
        )

    @property
    def description_subject(self) -> str:
1 0 refactor duplicate-code R0801
Similar lines in 2 files
==jstark.feature_generator:[26:34]
==jstark.mealkit.mealkit_features:[123:131]
    def __init__(
        self,
        as_at: date | None = None,
        feature_periods: FeaturePeriodsType = None,
        feature_stems: set[str] | list[str] | None = None,
        first_day_of_week: str | None = None,
        use_absolute_periods: bool = False,
    ) -> None:
1 0 refactor duplicate-code R0801
Similar lines in 2 files
==jstark.features.feature:[223:231]
==jstark.features.first_and_last_date_of_period:[19:27]
            "Monday",
            "Tuesday",
            "Wednesday",
            "Thursday",
            "Friday",
            "Saturday",
            "Sunday",
        ]
1 0 refactor duplicate-code R0801
Similar lines in 2 files
==jstark.mealkit.average_quantity_per_order:[19:27]
==jstark.mealkit.cycles_since_last_order:[19:27]
                self.as_at,
                self.feature_period,
                first_day_of_week=self._first_day_of_week,
            ).column,
        )

    @property
    def description_subject(self) -> str:
1 0 refactor duplicate-code R0801
Similar lines in 2 files
==jstark.grocery.average_quantity_per_basket:[11:18]
==jstark.mealkit.average_quantity_per_order:[11:18]
    def column_expression(self) -> Column:
        return f.try_divide(
            Quantity(
                self.as_at,
                self.feature_period,
                first_day_of_week=self._first_day_of_week,
            ).column,
1 0 refactor duplicate-code R0801
Similar lines in 2 files
==jstark.grocery.average_discount_per_basket:[19:27]
==jstark.mealkit.average_purchase_cycle:[27:35]
                self.as_at,
                self.feature_period,
                first_day_of_week=self._first_day_of_week,
            ).column,
        )

    @property
    def description_subject(self) -> str:
1 0 refactor duplicate-code R0801
Similar lines in 2 files
==jstark.features.feature:[21:28]
==jstark.grocery.recency_weighted_basket:[170:177]
    def __init__(
        self,
        as_at: date,
        feature_period: FeaturePeriod,
        first_day_of_week: str | None = None,
        use_absolute_periods: bool = False,
    ) -> None:
1 0 refactor duplicate-code R0801
Similar lines in 2 files
==jstark.grocery.average_gross_spend_per_basket:[19:27]
==jstark.grocery.cycles_since_last_purchase:[19:27]
                self.as_at,
                self.feature_period,
                first_day_of_week=self._first_day_of_week,
            ).column,
        )

    @property
    def description_subject(self) -> str:
1 0 refactor duplicate-code R0801
Similar lines in 2 files
==jstark.grocery.recency_weighted_basket:[102:107]
==jstark.mealkit.mealkit_features:[128:133]
        first_day_of_week: str | None = None,
        use_absolute_periods: bool = False,
    ) -> None:
        super().__init__(
            as_at,
1 0 refactor duplicate-code R0801
Similar lines in 2 files
==jstark.mealkit.average_purchase_cycle:[26:35]
==jstark.mealkit.average_quantity_per_order:[18:27]
            OrderCount(
                self.as_at,
                self.feature_period,
                first_day_of_week=self._first_day_of_week,
            ).column,
        )

    @property
    def description_subject(self) -> str:
1 0 refactor duplicate-code R0801
Similar lines in 2 files
==jstark.mealkit.average_order:[28:34]
==jstark.mealkit.order_periods:[35:41]
    def default_value(self) -> Column:
        return f.lit(None)

    @property
    def description_subject(self) -> str:
        return (
1 0 refactor duplicate-code R0801
Similar lines in 2 files
==jstark.grocery.basket_periods:[17:22]
==jstark.mealkit.order_periods:[17:22]
    def column_expression(self) -> Column:
        exprs = []
        for period in range(self.feature_period.end, self.feature_period.start + 1):
            exprs.append(
                f.when(
1 0 refactor duplicate-code R0801
Similar lines in 2 files
==jstark.features.feature:[250:255]
==jstark.grocery.recency_weighted_basket:[84:89]
    def __repr__(self) -> str:
        return (
            f"{self.__class__.__name__}"
            f"(as_at={self.as_at}"
            f", feature_period='{self.feature_period.mnemonic}'"
1 0 refactor duplicate-code R0801
Similar lines in 2 files
==jstark.features.earliest_purchase_date:[16:22]
==jstark.features.most_recent_purchase_date:[16:22]
    def default_value(self) -> Column:
        return f.lit(None)

    @property
    def commentary(self) -> str:
        return (
1 0 refactor duplicate-code R0801
Similar lines in 2 files
==jstark.grocery.average_discount_per_basket:[18:27]
==jstark.grocery.average_purchase_cycle:[26:35]
            BasketCount(
                self.as_at,
                self.feature_period,
                first_day_of_week=self._first_day_of_week,
            ).column,
        )

    @property
    def description_subject(self) -> str:
1 0 refactor duplicate-code R0801
Similar lines in 2 files
==jstark.grocery.average_basket:[28:34]
==jstark.grocery.basket_periods:[36:42]
    def default_value(self) -> Column:
        return f.lit(None)

    @property
    def description_subject(self) -> str:
        return (
10 0 convention missing-function-docstring C0116 test_errors_if_as_at_is_not_a_date
Missing function or method docstring
34 0 convention missing-function-docstring C0116 test_start_date_days
Missing function or method docstring
44 0 convention missing-function-docstring C0116 test_start_and_end_date_when_period_unit_of_measure_is_weeks
Missing function or method docstring
66 0 convention missing-function-docstring C0116 test_start_and_end_date_when_period_unit_of_measure_is_months
Missing function or method docstring
87 0 convention missing-function-docstring C0116 test_start_and_end_date_when_period_unit_of_measure_is_quarter
Missing function or method docstring
111 0 convention missing-function-docstring C0116 test_start_and_end_date_when_period_unit_of_measure_is_year
Missing function or method docstring

Module tests.test_feature_generator (tests/test_feature_generator.py)

Line Col. Type Symbol ID Obj Message
1 0 convention missing-module-docstring C0114
Missing module docstring
6 0 convention missing-function-docstring C0116 test_with_feature_periods
Missing function or method docstring
14 0 convention missing-function-docstring C0116 test_with_feature_period
Missing function or method docstring
22 0 convention missing-function-docstring C0116 test_without_feature_period
Missing function or method docstring
28 0 convention missing-function-docstring C0116 test_without_feature_period_mnemonic
Missing function or method docstring
34 0 convention missing-function-docstring C0116 test_with_as_at
Missing function or method docstring
41 0 convention missing-function-docstring C0116 test_with_first_day_of_week
Missing function or method docstring
48 0 convention missing-function-docstring C0116 test_with_use_absolute_periods
Missing function or method docstring

Module tests.test_feature_period (tests/test_feature_period.py)

Line Col. Type Symbol ID Obj Message
1 0 convention missing-module-docstring C0114
Missing module docstring
35 0 convention missing-function-docstring C0116 test_feature_period_description
Missing function or method docstring
42 0 convention missing-function-docstring C0116 test_repr
Missing function or method docstring
45 0 convention line-too-long C0301
Line too long (104/100)
49 0 convention missing-function-docstring C0116 test_eq
Missing function or method docstring
74 0 convention missing-function-docstring C0116 test_str
Missing function or method docstring
80 0 convention missing-function-docstring C0116 test_hash
Missing function or method docstring
104 0 convention missing-function-docstring C0116 test_feature_period_start_is_immutable
Missing function or method docstring
117 0 convention missing-function-docstring C0116 test_feature_period_end_is_immutable
Missing function or method docstring
130 0 convention missing-function-docstring C0116 test_feature_period_periodunitofmeasure_is_immutable
Missing function or method docstring
143 0 convention missing-function-docstring C0116 test_feature_period_end_greater_than_start_raises_exception
Missing function or method docstring
153 0 convention missing-function-docstring C0116 test_feature_period_code_for_day
Missing function or method docstring
157 0 convention missing-function-docstring C0116 test_feature_period_code_for_week
Missing function or method docstring
161 0 convention missing-function-docstring C0116 test_feature_period_code_for_month
Missing function or method docstring
165 0 convention missing-function-docstring C0116 test_feature_period_code_for_quarter
Missing function or method docstring
169 0 convention missing-function-docstring C0116 test_feature_period_code_for_year
Missing function or method docstring
173 0 convention missing-function-docstring C0116 test_argument_of_wrong_types_raises
Missing function or method docstring
182 0 convention missing-function-docstring C0116 test_all_months_last_year
Missing function or method docstring
183 0 convention line-too-long C0301
Line too long (105/100)
193 0 convention missing-function-docstring C0116 test_all_months_this_year
Missing function or method docstring
194 0 convention line-too-long C0301
Line too long (105/100)
205 0 convention missing-function-docstring C0116 test_all_quarters_last_year
Missing function or method docstring
206 0 convention line-too-long C0301
Line too long (107/100)
221 0 convention missing-function-docstring C0116 test_all_quarters_this_year
Missing function or method docstring
222 0 convention line-too-long C0301
Line too long (107/100)
242 0 convention missing-function-docstring C0116 test_today
Missing function or method docstring
251 0 convention missing-function-docstring C0116 test_yesterday
Missing function or method docstring
260 0 convention missing-function-docstring C0116 test_this_week
Missing function or method docstring
270 0 convention missing-function-docstring C0116 test_last_week
Missing function or method docstring
280 0 convention missing-function-docstring C0116 test_this_month
Missing function or method docstring
289 0 convention missing-function-docstring C0116 test_last_month
Missing function or method docstring
298 0 convention missing-function-docstring C0116 test_this_quarter
Missing function or method docstring
316 0 convention missing-function-docstring C0116 test_last_quarter
Missing function or method docstring
342 0 convention missing-function-docstring C0116 test_this_year
Missing function or method docstring
351 0 convention missing-function-docstring C0116 test_last_year
Missing function or method docstring
360 0 convention missing-function-docstring C0116 test_this_month_vs_one_year_prior
Missing function or method docstring
361 0 convention line-too-long C0301
Line too long (113/100)
372 0 convention missing-function-docstring C0116 test_last_month_vs_one_year_prior
Missing function or method docstring
373 0 convention line-too-long C0301
Line too long (113/100)
384 0 convention missing-function-docstring C0116 test_this_quarter_vs_one_year_prior
Missing function or method docstring
408 0 convention missing-function-docstring C0116 test_last_quarter_vs_one_year_prior
Missing function or method docstring
440 0 convention missing-function-docstring C0116 test_last_five_years
Missing function or method docstring

Module tests.test_first_and_last_date_of_period (tests/test_first_and_last_date_of_period.py)

Line Col. Type Symbol ID Obj Message
1 0 convention missing-module-docstring C0114
Missing module docstring
6 0 convention missing-function-docstring C0116 test_invalid_first_day_of_week
Missing function or method docstring
12 0 convention missing-function-docstring C0116 test_first_date_in_week_for_default_first_day_of_week
Missing function or method docstring
18 0 convention missing-function-docstring C0116 test_last_date_in_week_for_default_first_day_of_week
Missing function or method docstring
24 0 convention missing-function-docstring C0116 test_first_date_in_week_with_saturday_as_first_day_of_week
Missing function or method docstring
30 0 convention missing-function-docstring C0116 test_last_date_in_week_with_saturday_as_first_day_of_week
Missing function or method docstring
37 0 convention missing-function-docstring C0116 test_first_date_in_week_with_sunday_as_first_day_of_week
Missing function or method docstring
43 0 convention missing-function-docstring C0116 test_first_date_in_week_with_monday_as_first_day_of_week
Missing function or method docstring
49 0 convention missing-function-docstring C0116 test_first_date_in_week_with_tuesday_as_first_day_of_week
Missing function or method docstring
55 0 convention missing-function-docstring C0116 test_first_date_in_week_with_wednesday_as_first_day_of_week
Missing function or method docstring
61 0 convention missing-function-docstring C0116 test_first_date_in_week_with_thursday_as_first_day_of_week
Missing function or method docstring
67 0 convention missing-function-docstring C0116 test_first_date_in_week_with_friday_as_first_day_of_week
Missing function or method docstring
73 0 convention missing-function-docstring C0116 test_first_date_in_month
Missing function or method docstring
79 0 convention missing-function-docstring C0116 test_last_date_in_month
Missing function or method docstring
85 0 convention missing-function-docstring C0116 test_first_date_in_quarter
Missing function or method docstring
91 0 convention missing-function-docstring C0116 test_last_date_in_quarter
Missing function or method docstring
97 0 convention missing-function-docstring C0116 test_first_date_in_year
Missing function or method docstring
103 0 convention missing-function-docstring C0116 test_last_date_in_year
Missing function or method docstring

Module tests.test_grocery_features (tests/test_grocery_features.py)

Line Col. Type Symbol ID Obj Message
1 0 convention missing-module-docstring C0114
Missing module docstring
3 0 warning redefined-builtin W0622
Redefining built-in 'pow'
3 0 convention wrong-import-order C0411
standard import "math.pow" should be placed before third party import "pytest"
5 0 convention wrong-import-order C0411
third party import "pyspark.sql.DataFrame" should be placed before first party import "jstark.grocery.recency_weighted_basket.RecencyWeightedBasket" 
6 0 convention wrong-import-order C0411
third party import "pyspark.sql.functions" should be placed before first party import "jstark.grocery.recency_weighted_basket.RecencyWeightedBasket" 
8 0 convention ungrouped-imports C0412
Imports from package jstark are not grouped
13 0 convention missing-function-docstring C0116 test_feature_period_mnemonic
Missing function or method docstring
24 0 convention missing-function-docstring C0116 test_feature_period_invalid_mnemonic
Missing function or method docstring
33 0 convention missing-function-docstring C0116 test_feature_period_invalid_mnemonic_empty_string
Missing function or method docstring
42 0 convention missing-function-docstring C0116 test_feature_period_invalid_mnemonic_unit_of_measure
Missing function or method docstring
92 0 convention missing-function-docstring C0116 test_flattened_references
Missing function or method docstring
410 0 convention missing-function-docstring C0116 get_dataframes_for_perweek_feature_tests
Missing function or method docstring
560 0 convention missing-function-docstring C0116 test_feature_generator_repr
Missing function or method docstring
582 0 convention missing-function-docstring C0116 test_feature_repr
Missing function or method docstring

Module tests.test_mealkit_features (tests/test_mealkit_features.py)

Line Col. Type Symbol ID Obj Message
1 0 convention missing-module-docstring C0114
Missing module docstring
43 0 convention missing-function-docstring C0116 test_desired_features
Missing function or method docstring
58 0 convention missing-function-docstring C0116 test_non_existent_desired_features
Missing function or method docstring
72 0 convention missing-function-docstring C0116 test_cuisines
Missing function or method docstring
93 0 convention missing-function-docstring C0116 test_cuisine
Missing function or method docstring
136 0 convention missing-function-docstring C0116 test_none_args
Missing function or method docstring
136 19 warning unused-argument W0613 test_none_args
Unused argument 'spark_session'

Module tests.test_metadata (tests/test_metadata.py)

Line Col. Type Symbol ID Obj Message
1 0 convention missing-module-docstring C0114
Missing module docstring
3 0 convention wrong-import-order C0411
standard import "datetime.date" should be placed before first party imports "jstark.grocery.GroceryFeatures", "jstark.feature_period.FeaturePeriod" 
4 0 convention wrong-import-order C0411
third party import "pyspark.sql.DataFrame" should be placed before first party imports "jstark.grocery.GroceryFeatures", "jstark.feature_period.FeaturePeriod" 
5 0 convention wrong-import-order C0411
third party import "pytest.mark" should be placed before first party imports "jstark.grocery.GroceryFeatures", "jstark.feature_period.FeaturePeriod" 
10 0 convention line-too-long C0301
Line too long (134/100)
12 0 convention line-too-long C0301
Line too long (150/100)
13 0 convention line-too-long C0301
Line too long (150/100)
14 0 convention line-too-long C0301
Line too long (159/100)
16 0 convention line-too-long C0301
Line too long (148/100)
17 0 convention line-too-long C0301
Line too long (148/100)
18 0 convention line-too-long C0301
Line too long (148/100)
19 0 convention line-too-long C0301
Line too long (148/100)
20 0 convention line-too-long C0301
Line too long (148/100)
21 0 convention line-too-long C0301
Line too long (148/100)
22 0 convention line-too-long C0301
Line too long (148/100)
23 0 convention line-too-long C0301
Line too long (148/100)
24 0 convention line-too-long C0301
Line too long (148/100)
25 0 convention line-too-long C0301
Line too long (148/100)
26 0 convention line-too-long C0301
Line too long (150/100)
27 0 convention line-too-long C0301
Line too long (150/100)
28 0 convention line-too-long C0301
Line too long (150/100)
29 0 convention line-too-long C0301
Line too long (150/100)
30 0 convention line-too-long C0301
Line too long (157/100)
31 0 convention line-too-long C0301
Line too long (157/100)
32 0 convention line-too-long C0301
Line too long (148/100)
33 0 convention line-too-long C0301
Line too long (148/100)
34 0 convention line-too-long C0301
Line too long (148/100)
35 0 convention line-too-long C0301
Line too long (148/100)
36 0 convention line-too-long C0301
Line too long (148/100)
37 0 convention line-too-long C0301
Line too long (148/100)
38 0 convention line-too-long C0301
Line too long (148/100)
39 0 convention line-too-long C0301
Line too long (148/100)
40 0 convention line-too-long C0301
Line too long (148/100)
41 0 convention line-too-long C0301
Line too long (148/100)
42 0 convention line-too-long C0301
Line too long (150/100)
43 0 convention line-too-long C0301
Line too long (150/100)
44 0 convention line-too-long C0301
Line too long (150/100)
46 0 convention line-too-long C0301
Line too long (149/100)
47 0 convention line-too-long C0301
Line too long (149/100)
48 0 convention line-too-long C0301
Line too long (157/100)
50 0 convention line-too-long C0301
Line too long (148/100)
51 0 convention line-too-long C0301
Line too long (148/100)
52 0 convention line-too-long C0301
Line too long (155/100)
54 0 convention line-too-long C0301
Line too long (139/100)
55 0 convention line-too-long C0301
Line too long (144/100)
56 0 convention line-too-long C0301
Line too long (144/100)
60 0 convention missing-function-docstring C0116 test_period_absolute
Missing function or method docstring
60 0 refactor too-many-arguments R0913 test_period_absolute
Too many arguments (9/5)
60 0 refactor too-many-positional-arguments R0917 test_period_absolute
Too many positional arguments (9/5)

Metrics

Count per types

Name Count
error 3
convention 388
refactor 37
warning 13

Count per messages

Name Count
unrecognized-option 1
missing-module-docstring 17
too-many-arguments 6
too-many-positional-arguments 6
missing-function-docstring 130
invalid-name 4
missing-class-docstring 149
useless-parent-delegation 3
wrong-import-order 32
ungrouped-imports 6
too-many-locals 2
import-outside-toplevel 1
abstract-method 1
undefined-all-variable 2
line-too-long 49
redefined-builtin 1
redefined-outer-name 7
unused-argument 1
duplicate-code 23

Count per modules

Name Count
.github/linters/pylintrc 1
jstark.period_unit_of_measure 1
jstark.feature_generator 17
jstark._version 5
jstark.mealkit.mealkit_features 5
jstark.mealkit.recipe_count 1
jstark.mealkit.cuisine_count 94
jstark.mealkit.approx_recipe_count 1
jstark.mealkit.average_quantity_per_order 1
jstark.mealkit.order_periods 4
jstark.mealkit 1
jstark.mealkit.cuisines 1
jstark.mealkit.cycles_since_last_order 2
jstark.mealkit.approx_order_count 1
jstark.mealkit.order_count 1
jstark.mealkit.average_order 3
jstark.mealkit.average_purchase_cycle 1
jstark.sample.mealkit_orders 6
jstark.sample.transactions 6
jstark.features.first_and_last_date_of_period 8
jstark.features.feature 17
jstark.features.collect_set_feature 1
jstark.features.min_gross_spend 1
jstark.features.max_feature 1
jstark.features.approx_product_count 1
jstark.features.approx_customer_count 1
jstark.features.approxdistinctcount_feature 1
jstark.features.customer_count 1
jstark.features.min_net_spend 1
jstark.features.discount 1
jstark.features.max_net_spend 1
jstark.features 1
jstark.features.distinctcount_feature 1
jstark.features.max_gross_price 1
jstark.features.most_recent_purchase_date 1
jstark.features.min_net_price 1
jstark.features.product_count 1
jstark.features.max_gross_spend 1
jstark.features.min_feature 1
jstark.features.gross_spend 1
jstark.features.count 1
jstark.features.net_spend 1
jstark.features.sum_feature 1
jstark.features.earliest_purchase_date 1
jstark.features.recency_days 1
jstark.features.quantity 1
jstark.features.max_net_price 1
jstark.features.count_if 2
jstark.features.min_gross_price 1
jstark.grocery.average_discount_per_basket 1
jstark.grocery.cycles_since_last_purchase 2
jstark.grocery.basket_periods 3
jstark.grocery.approx_basket_count 1
jstark.grocery.basket_count 1
jstark.grocery.average_basket 3
jstark.grocery.store_count 1
jstark.grocery.recency_weighted_basket 15
jstark.grocery 16
jstark.grocery.grocery_features 5
jstark.grocery.channel_count 1
jstark.grocery.average_gross_spend_per_basket 1
jstark.grocery.average_quantity_per_basket 1
jstark.grocery.average_purchase_cycle 1
tests.test_metadata 49
tests.test_grocery_features 14
tests.test_first_and_last_date_of_period 18
tests.test_feature_generator 8
tests.test_feature_period 42
tests.conftest 15
tests.test_mealkit_features 7
tests.test_feature 30

Count per path

Name Count
.github/linters/pylintrc 1
jstark/period_unit_of_measure.py 1
jstark/feature_generator.py 17
jstark/_version.py 5
jstark/mealkit/mealkit_features.py 5
jstark/mealkit/recipe_count.py 1
jstark/mealkit/cuisine_count.py 94
jstark/mealkit/approx_recipe_count.py 1
jstark/mealkit/average_quantity_per_order.py 1
jstark/mealkit/order_periods.py 4
jstark/mealkit/__init__.py 1
jstark/mealkit/cuisines.py 1
jstark/mealkit/cycles_since_last_order.py 2
jstark/mealkit/approx_order_count.py 1
jstark/mealkit/order_count.py 1
jstark/mealkit/average_order.py 3
jstark/mealkit/average_purchase_cycle.py 1
jstark/sample/mealkit_orders.py 6
jstark/sample/transactions.py 6
jstark/features/first_and_last_date_of_period.py 8
jstark/features/feature.py 17
jstark/features/collect_set_feature.py 1
jstark/features/min_gross_spend.py 1
jstark/features/max_feature.py 1
jstark/features/approx_product_count.py 1
jstark/features/approx_customer_count.py 1
jstark/features/approxdistinctcount_feature.py 1
jstark/features/customer_count.py 1
jstark/features/min_net_spend.py 1
jstark/features/discount.py 1
jstark/features/max_net_spend.py 1
jstark/features/__init__.py 1
jstark/features/distinctcount_feature.py 1
jstark/features/max_gross_price.py 1
jstark/features/most_recent_purchase_date.py 1
jstark/features/min_net_price.py 1
jstark/features/product_count.py 1
jstark/features/max_gross_spend.py 1
jstark/features/min_feature.py 1
jstark/features/gross_spend.py 1
jstark/features/count.py 1
jstark/features/net_spend.py 1
jstark/features/sum_feature.py 1
jstark/features/earliest_purchase_date.py 1
jstark/features/recency_days.py 1
jstark/features/quantity.py 1
jstark/features/max_net_price.py 1
jstark/features/count_if.py 2
jstark/features/min_gross_price.py 1
jstark/grocery/average_discount_per_basket.py 1
jstark/grocery/cycles_since_last_purchase.py 2
jstark/grocery/basket_periods.py 3
jstark/grocery/approx_basket_count.py 1
jstark/grocery/basket_count.py 1
jstark/grocery/average_basket.py 3
jstark/grocery/store_count.py 1
jstark/grocery/recency_weighted_basket.py 15
jstark/grocery/__init__.py 16
jstark/grocery/grocery_features.py 5
jstark/grocery/channel_count.py 1
jstark/grocery/average_gross_spend_per_basket.py 1
jstark/grocery/average_quantity_per_basket.py 1
jstark/grocery/average_purchase_cycle.py 1
tests/test_metadata.py 49
tests/test_grocery_features.py 14
tests/test_first_and_last_date_of_period.py 18
tests/test_feature_generator.py 8
tests/test_feature_period.py 42
tests/conftest.py 15
tests/test_mealkit_features.py 7
tests/test_feature.py 30