diff --git a/.editorconfig b/.editorconfig
new file mode 100644
index 0000000000000000000000000000000000000000..dcbc21d86f9e4b17ea7e8803d538c4c0f0b6276a
--- /dev/null
+++ b/.editorconfig
@@ -0,0 +1,32 @@
+# https://editorconfig.org/
+# https://github.com/editorconfig/editorconfig-vim 
+# https://github.com/editorconfig/editorconfig-emacs 
+
+root = true
+
+[*]
+indent_style = space
+end_of_line = lf
+charset = utf-8
+trim_trailing_whitespace = true
+insert_final_newline = true
+
+[*.py]
+indent_size = 4
+
+[*.rst]
+indent_size = 4
+
+[*.cpp]
+indent_size = 2
+
+[*.hpp]
+indent_size = 2
+
+# There may be one in doc/
+[Makefile]
+indent_style = tab
+
+# https://github.com/microsoft/vscode/issues/1679
+[*.md]
+trim_trailing_whitespace = false
diff --git a/grudge/symbolic/compiler.py b/grudge/symbolic/compiler.py
index d4fe781e0607b74b2b5961508f28eac4bbd8eedc..9ff67b5c7791045f14a80028bfe314805c8a48a5 100644
--- a/grudge/symbolic/compiler.py
+++ b/grudge/symbolic/compiler.py
@@ -97,6 +97,7 @@ class LoopyKernelInstruction(Instruction):
     scope_indicator = ""
 
     def __init__(self, kernel_descriptor):
+        super(LoopyKernelInstruction, self).__init__()
         self.kernel_descriptor = kernel_descriptor
 
     @memoize_method
diff --git a/setup.py b/setup.py
index 01fc0ef4a192088132f930c6161a292d80747e8d..dd85b0dbc1f6b20bdae108442ba1bea58a7f2f1f 100644
--- a/setup.py
+++ b/setup.py
@@ -42,6 +42,7 @@ def main():
 
           packages=find_packages(),
 
+          python_requires="~=3.6",
           install_requires=[
               "pytest>=2.3",
               "pytools>=2020.3",