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 51eb5202acaa1d1ffa6c4cbc8b293eef4a25e54e..c90f61238508af66e0abf5b028608426211fc45d 100644
--- a/grudge/symbolic/compiler.py
+++ b/grudge/symbolic/compiler.py
@@ -95,6 +95,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 4c2b718dc4cf873e06b2b9c47845c7de5dd50d08..59dcb5c85c39006f335642f400b9f991778f985f 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>=2018.5.2",