.github/linters/pylintrc (.github/linters/pylintrc)| Line | Col. | Type | Symbol | ID | Obj | Message |
|---|---|---|---|---|---|---|
| 1 | 0 | error | unrecognized-option |
E0015 | Unrecognized option found: suggestion-mode |
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 |
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 |
jstark.features (jstark/features/__init__.py)| Line | Col. | Type | Symbol | ID | Obj | Message |
|---|---|---|---|---|---|---|
| 1 | 0 | convention | missing-module-docstring |
C0114 | Missing module docstring |
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 |
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 |
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 |
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 |
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 |
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' |
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 |
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 |
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 |
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 |
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 |
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 |
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 |
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 |
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 |
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 |
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 |
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 |
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 |
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 |
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 |
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 |
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 |
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 |
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 |
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 |
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 |
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 |
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 |
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__ |
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 |
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 |
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 |
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 |
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 |
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 |
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 |
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 |
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 |
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 |
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) |
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 |
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 |
jstark.mealkit (jstark/mealkit/__init__.py)| Line | Col. | Type | Symbol | ID | Obj | Message |
|---|---|---|---|---|---|---|
| 1 | 0 | convention | missing-module-docstring |
C0114 | Missing module docstring |
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 |
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 |
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 |
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 |
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 |
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 |
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 |
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 |
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) |
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 |
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 |
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 |
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 |
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) |
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) |
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) |
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 |
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 |
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 |
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 |
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 |
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' |
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) |
| Name | Count |
|---|---|
| error | 3 |
| convention | 388 |
| refactor | 37 |
| warning | 13 |
| 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 |
| 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 |
| 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 |