diff --git a/erpnext/e_commerce/api.py b/erpnext/e_commerce/api.py
index c58081e..43cb36c 100644
--- a/erpnext/e_commerce/api.py
+++ b/erpnext/e_commerce/api.py
@@ -2,14 +2,16 @@
 # Copyright (c) 2021, Frappe Technologies Pvt. Ltd. and contributors
 # For license information, please see license.txt
 
-import frappe
 import json
+
+import frappe
 from frappe.utils import cint
 
-from erpnext.e_commerce.product_data_engine.query import ProductQuery
 from erpnext.e_commerce.product_data_engine.filters import ProductFiltersBuilder
+from erpnext.e_commerce.product_data_engine.query import ProductQuery
 from erpnext.setup.doctype.item_group.item_group import get_child_groups_for_website
 
+
 @frappe.whitelist(allow_guest=True)
 def get_product_filter_data(query_args=None):
 	"""
diff --git a/erpnext/e_commerce/doctype/e_commerce_settings/e_commerce_settings.py b/erpnext/e_commerce/doctype/e_commerce_settings/e_commerce_settings.py
index 1ff3152..1f3b388 100644
--- a/erpnext/e_commerce/doctype/e_commerce_settings/e_commerce_settings.py
+++ b/erpnext/e_commerce/doctype/e_commerce_settings/e_commerce_settings.py
@@ -3,11 +3,16 @@
 # For license information, please see license.txt
 
 import frappe
-from frappe.utils import comma_and, flt
-from frappe import _, msgprint
+from frappe import _
 from frappe.model.document import Document
-from frappe.utils import unique
-from erpnext.e_commerce.redisearch import create_website_items_index, get_indexable_web_fields, is_search_module_loaded
+from frappe.utils import comma_and, flt, unique
+
+from erpnext.e_commerce.redisearch import (
+	create_website_items_index,
+	get_indexable_web_fields,
+	is_search_module_loaded,
+)
+
 
 class ShoppingCartSetupError(frappe.ValidationError): pass
 
diff --git a/erpnext/e_commerce/doctype/e_commerce_settings/test_e_commerce_settings.py b/erpnext/e_commerce/doctype/e_commerce_settings/test_e_commerce_settings.py
index 9257b7d..1f8cd4e 100644
--- a/erpnext/e_commerce/doctype/e_commerce_settings/test_e_commerce_settings.py
+++ b/erpnext/e_commerce/doctype/e_commerce_settings/test_e_commerce_settings.py
@@ -1,11 +1,14 @@
 # -*- coding: utf-8 -*-
 # Copyright (c) 2021, Frappe Technologies Pvt. Ltd. and Contributors
 # See license.txt
-from __future__ import unicode_literals
-import frappe
 import unittest
 
-from erpnext.e_commerce.doctype.e_commerce_settings.e_commerce_settings import ShoppingCartSetupError
+import frappe
+
+from erpnext.e_commerce.doctype.e_commerce_settings.e_commerce_settings import (
+	ShoppingCartSetupError,
+)
+
 
 class TestECommerceSettings(unittest.TestCase):
 	def setUp(self):
@@ -22,8 +25,9 @@
 		cart_settings.price_list = "_Test Price List Rest of the World"
 		self.assertRaises(ShoppingCartSetupError, cart_settings.validate_exchange_rates_exist)
 
-		from erpnext.setup.doctype.currency_exchange.test_currency_exchange import test_records as \
-			currency_exchange_records
+		from erpnext.setup.doctype.currency_exchange.test_currency_exchange import (
+			test_records as currency_exchange_records,
+		)
 		frappe.get_doc(currency_exchange_records[0]).insert()
 		cart_settings.validate_exchange_rates_exist()
 
diff --git a/erpnext/e_commerce/doctype/item_review/item_review.py b/erpnext/e_commerce/doctype/item_review/item_review.py
index 3f34c4a..966ec35 100644
--- a/erpnext/e_commerce/doctype/item_review/item_review.py
+++ b/erpnext/e_commerce/doctype/item_review/item_review.py
@@ -2,14 +2,18 @@
 # Copyright (c) 2021, Frappe Technologies Pvt. Ltd. and contributors
 # For license information, please see license.txt
 
-from __future__ import unicode_literals
 from datetime import datetime
+
 import frappe
 from frappe import _
-from frappe.model.document import Document
 from frappe.contacts.doctype.contact.contact import get_contact_name
-from frappe.utils import flt, cint
-from erpnext.e_commerce.doctype.e_commerce_settings.e_commerce_settings import get_shopping_cart_settings
+from frappe.model.document import Document
+from frappe.utils import cint, flt
+
+from erpnext.e_commerce.doctype.e_commerce_settings.e_commerce_settings import (
+	get_shopping_cart_settings,
+)
+
 
 class UnverifiedReviewer(frappe.ValidationError):
 	pass
diff --git a/erpnext/e_commerce/doctype/item_review/test_item_review.py b/erpnext/e_commerce/doctype/item_review/test_item_review.py
index b19f42a..d02d137 100644
--- a/erpnext/e_commerce/doctype/item_review/test_item_review.py
+++ b/erpnext/e_commerce/doctype/item_review/test_item_review.py
@@ -1,17 +1,22 @@
 # -*- coding: utf-8 -*-
 # Copyright (c) 2021, Frappe Technologies Pvt. Ltd. and Contributors
 # See license.txt
-import frappe
 import unittest
 
+import frappe
 from frappe.core.doctype.user_permission.test_user_permission import create_user
 
-from erpnext.stock.doctype.item.test_item import make_item
+from erpnext.e_commerce.doctype.e_commerce_settings.test_e_commerce_settings import (
+	setup_e_commerce_settings,
+)
+from erpnext.e_commerce.doctype.item_review.item_review import (
+	UnverifiedReviewer,
+	add_item_review,
+	get_item_reviews,
+)
 from erpnext.e_commerce.doctype.website_item.website_item import make_website_item
-from erpnext.e_commerce.doctype.item_review.item_review import get_item_reviews, \
-	add_item_review, UnverifiedReviewer
 from erpnext.e_commerce.shopping_cart.cart import get_party
-from erpnext.e_commerce.doctype.e_commerce_settings.test_e_commerce_settings import setup_e_commerce_settings
+from erpnext.stock.doctype.item.test_item import make_item
 
 class TestItemReview(unittest.TestCase):
 	def setUp(self):
diff --git a/erpnext/e_commerce/doctype/recommended_items/recommended_items.py b/erpnext/e_commerce/doctype/recommended_items/recommended_items.py
index 9782abd..16b6e52 100644
--- a/erpnext/e_commerce/doctype/recommended_items/recommended_items.py
+++ b/erpnext/e_commerce/doctype/recommended_items/recommended_items.py
@@ -4,5 +4,6 @@
 # import frappe
 from frappe.model.document import Document
 
+
 class RecommendedItems(Document):
 	pass
diff --git a/erpnext/e_commerce/doctype/website_item/test_website_item.py b/erpnext/e_commerce/doctype/website_item/test_website_item.py
index 4a8e820..b6aaa8a 100644
--- a/erpnext/e_commerce/doctype/website_item/test_website_item.py
+++ b/erpnext/e_commerce/doctype/website_item/test_website_item.py
@@ -1,17 +1,22 @@
 # -*- coding: utf-8 -*-
 # Copyright (c) 2021, Frappe Technologies Pvt. Ltd. and Contributors
 # See license.txt
-from __future__ import unicode_literals
+
+import unittest
 
 import frappe
-import unittest
+
+from erpnext.controllers.item_variant import create_variant
+from erpnext.e_commerce.doctype.e_commerce_settings.e_commerce_settings import (
+	get_shopping_cart_settings,
+)
+from erpnext.e_commerce.doctype.e_commerce_settings.test_e_commerce_settings import (
+	setup_e_commerce_settings,
+)
+from erpnext.e_commerce.doctype.website_item.website_item import make_website_item
+from erpnext.e_commerce.shopping_cart.product_info import get_product_info_for_website
 from erpnext.stock.doctype.item.item import DataValidationError
 from erpnext.stock.doctype.item.test_item import make_item
-from erpnext.e_commerce.doctype.website_item.website_item import make_website_item
-from erpnext.controllers.item_variant import create_variant
-from erpnext.e_commerce.doctype.e_commerce_settings.test_e_commerce_settings import setup_e_commerce_settings
-from erpnext.e_commerce.doctype.e_commerce_settings.e_commerce_settings import get_shopping_cart_settings
-from erpnext.e_commerce.shopping_cart.product_info import get_product_info_for_website
 
 WEBITEM_DESK_TESTS = ("test_website_item_desk_item_sync", "test_publish_variant_and_template")
 WEBITEM_PRICE_TESTS = ('test_website_item_price_for_logged_in_user', 'test_website_item_price_for_guest_user')
diff --git a/erpnext/e_commerce/doctype/website_item/website_item.py b/erpnext/e_commerce/doctype/website_item/website_item.py
index bb5149c..256b158 100644
--- a/erpnext/e_commerce/doctype/website_item/website_item.py
+++ b/erpnext/e_commerce/doctype/website_item/website_item.py
@@ -2,28 +2,29 @@
 # Copyright (c) 2021, Frappe Technologies Pvt. Ltd. and contributors
 # For license information, please see license.txt
 
-import frappe
-import json
 import itertools
-from frappe import _
+import json
 
-from frappe.website.website_generator import WebsiteGenerator
-from frappe.utils import cstr, random_string, cint, flt
+import frappe
+from frappe import _
+from frappe.utils import cint, cstr, flt, random_string
 from frappe.website.doctype.website_slideshow.website_slideshow import get_slideshow
+from frappe.website.website_generator import WebsiteGenerator
 
 from erpnext.e_commerce.doctype.item_review.item_review import get_item_reviews
 from erpnext.e_commerce.redisearch import (
+	delete_item_from_index,
 	insert_item_to_index,
 	update_index_for_item,
-	delete_item_from_index
 )
 from erpnext.e_commerce.shopping_cart.cart import _set_price_list
 from erpnext.setup.doctype.item_group.item_group import (
 	get_parent_item_groups,
-	invalidate_cache_for
+	invalidate_cache_for,
 )
 from erpnext.utilities.product import get_price
 
+
 class WebsiteItem(WebsiteGenerator):
 	website = frappe._dict(
 		page_title_field="web_item_name",
diff --git a/erpnext/e_commerce/doctype/website_item_tabbed_section/website_item_tabbed_section.py b/erpnext/e_commerce/doctype/website_item_tabbed_section/website_item_tabbed_section.py
index 8459e62..91148b8 100644
--- a/erpnext/e_commerce/doctype/website_item_tabbed_section/website_item_tabbed_section.py
+++ b/erpnext/e_commerce/doctype/website_item_tabbed_section/website_item_tabbed_section.py
@@ -2,9 +2,9 @@
 # Copyright (c) 2021, Frappe Technologies Pvt. Ltd. and contributors
 # For license information, please see license.txt
 
-from __future__ import unicode_literals
 # import frappe
 from frappe.model.document import Document
 
+
 class WebsiteItemTabbedSection(Document):
 	pass
diff --git a/erpnext/e_commerce/doctype/website_offer/website_offer.py b/erpnext/e_commerce/doctype/website_offer/website_offer.py
index e446f85..d73c132 100644
--- a/erpnext/e_commerce/doctype/website_offer/website_offer.py
+++ b/erpnext/e_commerce/doctype/website_offer/website_offer.py
@@ -2,10 +2,10 @@
 # Copyright (c) 2021, Frappe Technologies Pvt. Ltd. and contributors
 # For license information, please see license.txt
 
-from __future__ import unicode_literals
 import frappe
 from frappe.model.document import Document
 
+
 class WebsiteOffer(Document):
 	pass
 
diff --git a/erpnext/e_commerce/doctype/wishlist/test_wishlist.py b/erpnext/e_commerce/doctype/wishlist/test_wishlist.py
index 42cf868..504bb65 100644
--- a/erpnext/e_commerce/doctype/wishlist/test_wishlist.py
+++ b/erpnext/e_commerce/doctype/wishlist/test_wishlist.py
@@ -1,14 +1,15 @@
 # -*- coding: utf-8 -*-
 # Copyright (c) 2021, Frappe Technologies Pvt. Ltd. and Contributors
 # See license.txt
-import frappe
 import unittest
 
+import frappe
 from frappe.core.doctype.user_permission.test_user_permission import create_user
 
-from erpnext.stock.doctype.item.test_item import make_item
 from erpnext.e_commerce.doctype.website_item.website_item import make_website_item
 from erpnext.e_commerce.doctype.wishlist.wishlist import add_to_wishlist, remove_from_wishlist
+from erpnext.stock.doctype.item.test_item import make_item
+
 
 class TestWishlist(unittest.TestCase):
 	def setUp(self):
diff --git a/erpnext/e_commerce/doctype/wishlist/wishlist.py b/erpnext/e_commerce/doctype/wishlist/wishlist.py
index 276ecae..5724a2d 100644
--- a/erpnext/e_commerce/doctype/wishlist/wishlist.py
+++ b/erpnext/e_commerce/doctype/wishlist/wishlist.py
@@ -2,10 +2,10 @@
 # Copyright (c) 2021, Frappe Technologies Pvt. Ltd. and contributors
 # For license information, please see license.txt
 
-from __future__ import unicode_literals
 import frappe
 from frappe.model.document import Document
 
+
 class Wishlist(Document):
 	pass
 
diff --git a/erpnext/e_commerce/doctype/wishlist_item/wishlist_item.py b/erpnext/e_commerce/doctype/wishlist_item/wishlist_item.py
index ee08cfe..75ebccb 100644
--- a/erpnext/e_commerce/doctype/wishlist_item/wishlist_item.py
+++ b/erpnext/e_commerce/doctype/wishlist_item/wishlist_item.py
@@ -2,9 +2,9 @@
 # Copyright (c) 2021, Frappe Technologies Pvt. Ltd. and contributors
 # For license information, please see license.txt
 
-from __future__ import unicode_literals
 # import frappe
 from frappe.model.document import Document
 
+
 class WishlistItem(Document):
 	pass
diff --git a/erpnext/e_commerce/product_data_engine/filters.py b/erpnext/e_commerce/product_data_engine/filters.py
index daf679f..6d44b2c 100644
--- a/erpnext/e_commerce/product_data_engine/filters.py
+++ b/erpnext/e_commerce/product_data_engine/filters.py
@@ -1,9 +1,9 @@
 # Copyright (c) 2021, Frappe Technologies Pvt. Ltd. and Contributors
 # License: GNU General Public License v3. See license.txt
 import frappe
-from frappe import _dict
 from frappe.utils import floor
 
+
 class ProductFiltersBuilder:
 	def __init__(self, item_group=None):
 		if not item_group:
diff --git a/erpnext/e_commerce/product_data_engine/query.py b/erpnext/e_commerce/product_data_engine/query.py
index f7a48c0..6cbdc7f 100644
--- a/erpnext/e_commerce/product_data_engine/query.py
+++ b/erpnext/e_commerce/product_data_engine/query.py
@@ -3,11 +3,10 @@
 
 import frappe
 from frappe.utils import flt
-from erpnext.e_commerce.shopping_cart.product_info import get_product_info_for_website
-from erpnext.e_commerce.doctype.item_review.item_review import get_customer
-from erpnext.utilities.product import get_non_stock_item_status
 
+from erpnext.e_commerce.doctype.item_review.item_review import get_customer
 from erpnext.e_commerce.shopping_cart.product_info import get_product_info_for_website
+from erpnext.utilities.product import get_non_stock_item_status
 
 
 class ProductQuery:
diff --git a/erpnext/e_commerce/product_data_engine/test_item_group_product_data_engine.py b/erpnext/e_commerce/product_data_engine/test_item_group_product_data_engine.py
index 264fbd8..f0f7918 100644
--- a/erpnext/e_commerce/product_data_engine/test_item_group_product_data_engine.py
+++ b/erpnext/e_commerce/product_data_engine/test_item_group_product_data_engine.py
@@ -1,9 +1,10 @@
 # Copyright (c) 2021, Frappe Technologies Pvt. Ltd. and contributors
 # For license information, please see license.txt
 
-import frappe
 import unittest
 
+import frappe
+
 from erpnext.e_commerce.api import get_product_filter_data
 from erpnext.e_commerce.doctype.website_item.test_website_item import create_regular_web_item
 
diff --git a/erpnext/e_commerce/product_data_engine/test_product_data_engine.py b/erpnext/e_commerce/product_data_engine/test_product_data_engine.py
index 78687d3..925e6e7 100644
--- a/erpnext/e_commerce/product_data_engine/test_product_data_engine.py
+++ b/erpnext/e_commerce/product_data_engine/test_product_data_engine.py
@@ -1,13 +1,16 @@
 # Copyright (c) 2021, Frappe Technologies Pvt. Ltd. and contributors
 # For license information, please see license.txt
 
-import frappe
 import unittest
 
-from erpnext.e_commerce.product_data_engine.query import ProductQuery
-from erpnext.e_commerce.product_data_engine.filters import ProductFiltersBuilder
+import frappe
+
+from erpnext.e_commerce.doctype.e_commerce_settings.test_e_commerce_settings import (
+	setup_e_commerce_settings,
+)
 from erpnext.e_commerce.doctype.website_item.test_website_item import create_regular_web_item
-from erpnext.e_commerce.doctype.e_commerce_settings.test_e_commerce_settings import setup_e_commerce_settings
+from erpnext.e_commerce.product_data_engine.filters import ProductFiltersBuilder
+from erpnext.e_commerce.product_data_engine.query import ProductQuery
 
 test_dependencies = ["Item", "Item Group"]
 
@@ -201,7 +204,10 @@
 
 	def test_product_list_discount_filter_builder(self):
 		"Test if discount filters are fetched correctly."
-		from erpnext.e_commerce.doctype.website_item.test_website_item import make_web_item_price, make_web_pricing_rule
+		from erpnext.e_commerce.doctype.website_item.test_website_item import (
+			make_web_item_price,
+			make_web_pricing_rule,
+		)
 
 		item_code = "Test 12I Laptop"
 		make_web_item_price(item_code=item_code)
@@ -234,7 +240,10 @@
 
 	def test_product_list_with_discount_filters(self):
 		"Test if discount filters are applied correctly."
-		from erpnext.e_commerce.doctype.website_item.test_website_item import make_web_item_price, make_web_pricing_rule
+		from erpnext.e_commerce.doctype.website_item.test_website_item import (
+			make_web_item_price,
+			make_web_pricing_rule,
+		)
 
 		field_filters = {"discount": [10]}
 
@@ -322,9 +331,9 @@
 
 def create_variant_web_item():
 	"Create Variant and Template Website Items."
-	from erpnext.stock.doctype.item.test_item import make_item
 	from erpnext.controllers.item_variant import create_variant
 	from erpnext.e_commerce.doctype.website_item.website_item import make_website_item
+	from erpnext.stock.doctype.item.test_item import make_item
 
 	make_item("Test Web Item", {
 		"has_variant": 1,
diff --git a/erpnext/e_commerce/redisearch.py b/erpnext/e_commerce/redisearch.py
index 00265e2..59c7f32 100644
--- a/erpnext/e_commerce/redisearch.py
+++ b/erpnext/e_commerce/redisearch.py
@@ -3,7 +3,7 @@
 
 import frappe
 from frappe.utils.redis_wrapper import RedisWrapper
-from redisearch import (Client, AutoCompleter, Suggestion, IndexDefinition, TextField, TagField)
+from redisearch import AutoCompleter, Client, IndexDefinition, Suggestion, TagField, TextField
 
 WEBSITE_ITEM_INDEX = 'website_items_index'
 WEBSITE_ITEM_KEY_PREFIX = 'website_item:'
diff --git a/erpnext/e_commerce/shopping_cart/cart.py b/erpnext/e_commerce/shopping_cart/cart.py
index be3b6b2..a8c9b8e 100644
--- a/erpnext/e_commerce/shopping_cart/cart.py
+++ b/erpnext/e_commerce/shopping_cart/cart.py
@@ -9,8 +9,10 @@
 from frappe.utils import cint, cstr, flt, get_fullname
 from frappe.utils.nestedset import get_root_of
 
-from erpnext.e_commerce.doctype.e_commerce_settings.e_commerce_settings import get_shopping_cart_settings
 from erpnext.accounts.utils import get_account_name
+from erpnext.e_commerce.doctype.e_commerce_settings.e_commerce_settings import (
+	get_shopping_cart_settings,
+)
 from erpnext.utilities.product import get_web_item_qty_in_stock
 
 
diff --git a/erpnext/e_commerce/shopping_cart/product_info.py b/erpnext/e_commerce/shopping_cart/product_info.py
index 82ea9ba..595fed0 100644
--- a/erpnext/e_commerce/shopping_cart/product_info.py
+++ b/erpnext/e_commerce/shopping_cart/product_info.py
@@ -3,12 +3,17 @@
 
 import frappe
 
-from erpnext.e_commerce.shopping_cart.cart import _get_cart_quotation, _set_price_list
 from erpnext.e_commerce.doctype.e_commerce_settings.e_commerce_settings import (
 	get_shopping_cart_settings,
-	show_quantity_in_website
+	show_quantity_in_website,
 )
-from erpnext.utilities.product import get_price, get_web_item_qty_in_stock, get_non_stock_item_status
+from erpnext.e_commerce.shopping_cart.cart import _get_cart_quotation, _set_price_list
+from erpnext.utilities.product import (
+	get_non_stock_item_status,
+	get_price,
+	get_web_item_qty_in_stock,
+)
+
 
 @frappe.whitelist(allow_guest=True)
 def get_product_info_for_website(item_code, skip_quotation_creation=False):
diff --git a/erpnext/e_commerce/shopping_cart/utils.py b/erpnext/e_commerce/shopping_cart/utils.py
index 12eb78d..e9745a4 100644
--- a/erpnext/e_commerce/shopping_cart/utils.py
+++ b/erpnext/e_commerce/shopping_cart/utils.py
@@ -4,6 +4,7 @@
 
 from erpnext.e_commerce.doctype.e_commerce_settings.e_commerce_settings import is_cart_enabled
 
+
 def show_cart_count():
 	if (is_cart_enabled() and
 		frappe.db.get_value("User", frappe.session.user, "user_type") == "Website User"):
diff --git a/erpnext/e_commerce/variant_selector/test_variant_selector.py b/erpnext/e_commerce/variant_selector/test_variant_selector.py
index 3eeca17..c04de62 100644
--- a/erpnext/e_commerce/variant_selector/test_variant_selector.py
+++ b/erpnext/e_commerce/variant_selector/test_variant_selector.py
@@ -1,5 +1,7 @@
-# import frappe
 import unittest
+
+# import frappe
+
 # from erpnext.e_commerce.product_data_engine.query import ProductQuery
 # from erpnext.e_commerce.doctype.website_item.website_item import make_website_item
 
diff --git a/erpnext/e_commerce/variant_selector/utils.py b/erpnext/e_commerce/variant_selector/utils.py
index 2e1852c..61df3ad 100644
--- a/erpnext/e_commerce/variant_selector/utils.py
+++ b/erpnext/e_commerce/variant_selector/utils.py
@@ -1,7 +1,9 @@
 import frappe
 from frappe.utils import cint
+
 from erpnext.e_commerce.variant_selector.item_variants_cache import ItemVariantsCacheManager
 
+
 def get_item_codes_by_attributes(attribute_filters, template_item_code=None):
 	items = []
 
diff --git a/erpnext/patches/v13_0/create_website_items.py b/erpnext/patches/v13_0/create_website_items.py
index 96d49fc..6f798bc 100644
--- a/erpnext/patches/v13_0/create_website_items.py
+++ b/erpnext/patches/v13_0/create_website_items.py
@@ -1,6 +1,8 @@
 import frappe
+
 from erpnext.e_commerce.doctype.website_item.website_item import make_website_item
 
+
 def execute():
 	frappe.reload_doc("e_commerce", "doctype", "website_item")
 	frappe.reload_doc("e_commerce", "doctype", "website_item_tabbed_section")
diff --git a/erpnext/patches/v13_0/make_homepage_products_website_items.py b/erpnext/patches/v13_0/make_homepage_products_website_items.py
index 8be5875..7a7ddba 100644
--- a/erpnext/patches/v13_0/make_homepage_products_website_items.py
+++ b/erpnext/patches/v13_0/make_homepage_products_website_items.py
@@ -1,6 +1,6 @@
-from __future__ import unicode_literals
 import frappe
 
+
 def execute():
 	homepage = frappe.get_doc("Homepage")
 
diff --git a/erpnext/patches/v13_0/populate_e_commerce_settings.py b/erpnext/patches/v13_0/populate_e_commerce_settings.py
index 1565ac2..d471923 100644
--- a/erpnext/patches/v13_0/populate_e_commerce_settings.py
+++ b/erpnext/patches/v13_0/populate_e_commerce_settings.py
@@ -1,7 +1,7 @@
-from __future__ import unicode_literals
 import frappe
 from frappe.utils import cint
 
+
 def execute():
 	frappe.reload_doc("e_commerce", "doctype", "e_commerce_settings")
 	frappe.reload_doc("portal", "doctype", "website_filter_field")
diff --git a/erpnext/portal/utils.py b/erpnext/portal/utils.py
index a87471f..24bcab4 100644
--- a/erpnext/portal/utils.py
+++ b/erpnext/portal/utils.py
@@ -1,10 +1,10 @@
 import frappe
 from frappe.utils.nestedset import get_root_of
 
-from erpnext.e_commerce.shopping_cart.cart import get_debtors_account
 from erpnext.e_commerce.doctype.e_commerce_settings.e_commerce_settings import (
 	get_shopping_cart_settings,
 )
+from erpnext.e_commerce.shopping_cart.cart import get_debtors_account
 
 
 def set_default_role(doc, method):
diff --git a/erpnext/stock/doctype/price_list/price_list.py b/erpnext/stock/doctype/price_list/price_list.py
index 897b352..8a3172e 100644
--- a/erpnext/stock/doctype/price_list/price_list.py
+++ b/erpnext/stock/doctype/price_list/price_list.py
@@ -37,7 +37,9 @@
 
 	def check_impact_on_shopping_cart(self):
 		"Check if Price List currency change impacts E Commerce Cart."
-		from erpnext.e_commerce.doctype.e_commerce_settings.e_commerce_settings import validate_cart_settings
+		from erpnext.e_commerce.doctype.e_commerce_settings.e_commerce_settings import (
+			validate_cart_settings,
+		)
 
 		doc_before_save = self.get_doc_before_save()
 		currency_changed = self.currency != doc_before_save.currency
diff --git a/erpnext/templates/pages/customer_reviews.py b/erpnext/templates/pages/customer_reviews.py
index 10cb28a..c1f0c93 100644
--- a/erpnext/templates/pages/customer_reviews.py
+++ b/erpnext/templates/pages/customer_reviews.py
@@ -1,9 +1,13 @@
 # Copyright (c) 2015, Frappe Technologies Pvt. Ltd. and Contributors
 # License: GNU General Public License v3. See license.txt
 import frappe
+
+from erpnext.e_commerce.doctype.e_commerce_settings.e_commerce_settings import (
+	get_shopping_cart_settings,
+)
 from erpnext.e_commerce.doctype.item_review.item_review import get_item_reviews
 from erpnext.e_commerce.doctype.website_item.website_item import check_if_user_is_customer
-from erpnext.e_commerce.doctype.e_commerce_settings.e_commerce_settings import get_shopping_cart_settings
+
 
 def get_context(context):
 	context.body_class = "product-page"
diff --git a/erpnext/templates/pages/order.py b/erpnext/templates/pages/order.py
index d174850..712b141 100644
--- a/erpnext/templates/pages/order.py
+++ b/erpnext/templates/pages/order.py
@@ -1,12 +1,12 @@
 # Copyright (c) 2015, Frappe Technologies Pvt. Ltd. and Contributors
 # License: GNU General Public License v3. See license.txt
 
-
 import frappe
 from frappe import _
 
 from erpnext.e_commerce.doctype.e_commerce_settings.e_commerce_settings import show_attachments
 
+
 def get_context(context):
 	context.no_cache = 1
 	context.show_sidebar = True
diff --git a/erpnext/templates/pages/product_search.py b/erpnext/templates/pages/product_search.py
index c005f08..8d7ddbe 100644
--- a/erpnext/templates/pages/product_search.py
+++ b/erpnext/templates/pages/product_search.py
@@ -2,19 +2,18 @@
 # License: GNU General Public License v3. See license.txt
 
 import frappe
-from frappe.utils import cint, cstr, nowdate
-
-from erpnext.setup.doctype.item_group.item_group import get_item_for_list_in_html
-from erpnext.e_commerce.shopping_cart.product_info import set_product_info_for_website
-
+from frappe.utils import cint, cstr
 from redisearch import AutoCompleter, Client, Query
+
 from erpnext.e_commerce.redisearch import (
-	is_search_module_loaded,
+	WEBSITE_ITEM_CATEGORY_AUTOCOMPLETE,
 	WEBSITE_ITEM_INDEX,
 	WEBSITE_ITEM_NAME_AUTOCOMPLETE,
-	WEBSITE_ITEM_CATEGORY_AUTOCOMPLETE,
-	make_key
+	is_search_module_loaded,
+	make_key,
 )
+from erpnext.e_commerce.shopping_cart.product_info import set_product_info_for_website
+from erpnext.setup.doctype.item_group.item_group import get_item_for_list_in_html
 
 no_cache = 1
 
diff --git a/erpnext/templates/pages/wishlist.py b/erpnext/templates/pages/wishlist.py
index 339e51b..72ee34e 100644
--- a/erpnext/templates/pages/wishlist.py
+++ b/erpnext/templates/pages/wishlist.py
@@ -1,9 +1,13 @@
 # Copyright (c) 2021, Frappe Technologies Pvt. Ltd. and Contributors
 # License: GNU General Public License v3. See license.txt
 import frappe
-from erpnext.utilities.product import get_price
+
+from erpnext.e_commerce.doctype.e_commerce_settings.e_commerce_settings import (
+	get_shopping_cart_settings,
+)
 from erpnext.e_commerce.shopping_cart.cart import _set_price_list
-from erpnext.e_commerce.doctype.e_commerce_settings.e_commerce_settings import get_shopping_cart_settings
+from erpnext.utilities.product import get_price
+
 
 def get_context(context):
 	is_guest = frappe.session.user == "Guest"
diff --git a/erpnext/utilities/product.py b/erpnext/utilities/product.py
index 6b514b6..1947c29 100644
--- a/erpnext/utilities/product.py
+++ b/erpnext/utilities/product.py
@@ -7,6 +7,7 @@
 from erpnext.accounts.doctype.pricing_rule.pricing_rule import get_pricing_rule_for_item
 from erpnext.stock.doctype.batch.batch import get_batch_qty
 
+
 def get_web_item_qty_in_stock(item_code, item_warehouse_field, warehouse=None):
 	in_stock, stock_qty = 0, ''
 	template_item_code, is_stock_item = frappe.db.get_value("Item", item_code, ["variant_of", "is_stock_item"])
diff --git a/erpnext/www/all-products/index.py b/erpnext/www/all-products/index.py
index 0f6f59f..ffaead6 100644
--- a/erpnext/www/all-products/index.py
+++ b/erpnext/www/all-products/index.py
@@ -1,5 +1,6 @@
 import frappe
 from frappe.utils import cint
+
 from erpnext.e_commerce.product_data_engine.filters import ProductFiltersBuilder
 
 sitemap = 1
