diff --git a/src/_zkapauthorizer/_storage_server.py b/src/_zkapauthorizer/_storage_server.py
index f81f75bd1ad4dc97b30b70986d3effcf97ce15d9..aebccdcf3acb339977a2575505d46c9af6d3842a 100644
--- a/src/_zkapauthorizer/_storage_server.py
+++ b/src/_zkapauthorizer/_storage_server.py
@@ -21,10 +21,7 @@ This is the server part of a storage access protocol.  The client part is
 implemented in ``_storage_client.py``.
 """
 
-from __future__ import absolute_import
-from __future__ import division
-from __future__ import print_function
-from __future__ import unicode_literals
+from __future__ import absolute_import, division, print_function, unicode_literals
 
 from future.utils import PY2
 
diff --git a/src/_zkapauthorizer/controller.py b/src/_zkapauthorizer/controller.py
index c4f202ee5b228591f0b998111fd19d9c14db6f12..b30ed608a37be5b19e408dce3c1b53f2e0b95d12 100644
--- a/src/_zkapauthorizer/controller.py
+++ b/src/_zkapauthorizer/controller.py
@@ -17,12 +17,10 @@ This module implements controllers (in the MVC sense) for the web interface
 for the client side of the storage plugin.
 """
 
-from __future__ import absolute_import
-from __future__ import division
-from __future__ import print_function
-from __future__ import unicode_literals
+from __future__ import absolute_import, division, print_function, unicode_literals
 
 from future.utils import PY2
+
 if PY2:
     from future.builtins import filter, map, zip, ascii, chr, hex, input, next, oct, open, pow, round, super, bytes, dict, list, object, range, str, max, min  # noqa: F401
 
diff --git a/src/_zkapauthorizer/eliot.py b/src/_zkapauthorizer/eliot.py
index 2adc410b6051b829a50ab5358900848668f51ee0..8daabaa712386c1b705cece6491d8b27fb9440e4 100644
--- a/src/_zkapauthorizer/eliot.py
+++ b/src/_zkapauthorizer/eliot.py
@@ -16,10 +16,7 @@
 Eliot field, message, and action definitions for ZKAPAuthorizer.
 """
 
-from __future__ import absolute_import
-from __future__ import division
-from __future__ import print_function
-from __future__ import unicode_literals
+from __future__ import absolute_import, division, print_function, unicode_literals
 
 from future.utils import PY2
 
diff --git a/src/_zkapauthorizer/model.py b/src/_zkapauthorizer/model.py
index 14306b15e2df5a1513197351d578b65911fd404e..e6834f11f37445bd6e90bfdf6bf491acfd731fdc 100644
--- a/src/_zkapauthorizer/model.py
+++ b/src/_zkapauthorizer/model.py
@@ -17,10 +17,7 @@ This module implements models (in the MVC sense) for the client side of
 the storage plugin.
 """
 
-from __future__ import absolute_import
-from __future__ import division
-from __future__ import print_function
-from __future__ import unicode_literals
+from __future__ import absolute_import, division, print_function, unicode_literals
 
 from future.utils import PY2
 
@@ -48,7 +45,6 @@ if PY2:
         max,
         min,
     )  # noqa: F401
-from past.builtins import long
 
 from datetime import datetime
 from functools import wraps
@@ -58,6 +54,7 @@ from sqlite3 import connect as _connect
 
 import attr
 from aniso8601 import parse_datetime as _parse_datetime
+from past.builtins import long
 from twisted.logger import Logger
 from twisted.python.filepath import FilePath
 from zope.interface import Interface, implementer
diff --git a/src/_zkapauthorizer/resource.py b/src/_zkapauthorizer/resource.py
index 9436b19102d4e3d2c4b500b6a8db680e468c562e..556983ed8563b7bb940c2876054cb56192d81106 100644
--- a/src/_zkapauthorizer/resource.py
+++ b/src/_zkapauthorizer/resource.py
@@ -21,10 +21,7 @@ vouchers for fresh tokens.
 In the future it should also allow users to read statistics about token usage.
 """
 
-from __future__ import absolute_import
-from __future__ import division
-from __future__ import print_function
-from __future__ import unicode_literals
+from __future__ import absolute_import, division, print_function, unicode_literals
 
 from future.utils import PY2
 
@@ -52,12 +49,12 @@ if PY2:
         max,
         min,
     )  # noqa: F401
-from past.builtins import long
 
 from itertools import islice
 from json import dumps, load, loads
 from sys import maxint
 
+from past.builtins import long
 from twisted.logger import Logger
 from twisted.web.http import BAD_REQUEST
 from twisted.web.resource import ErrorPage, IResource, NoResource, Resource
diff --git a/src/_zkapauthorizer/storage_common.py b/src/_zkapauthorizer/storage_common.py
index 4239ee552014107348cf5ec6d95b6455d46931a0..2ddd2a8438552206e2bd0df462f891ba85b3ff26 100644
--- a/src/_zkapauthorizer/storage_common.py
+++ b/src/_zkapauthorizer/storage_common.py
@@ -16,10 +16,7 @@
 Functionality shared between the storage client and server.
 """
 
-from __future__ import absolute_import
-from __future__ import division
-from __future__ import print_function
-from __future__ import unicode_literals
+from __future__ import absolute_import, division, print_function, unicode_literals
 
 from future.utils import PY2
 
@@ -47,11 +44,11 @@ if PY2:
         max,
         min,
     )  # noqa: F401
-from past.builtins import long
 
 from base64 import b64encode
 
 import attr
+from past.builtins import long
 from pyutil.mathutil import div_ceil
 
 from .eliot import MUTABLE_PASSES_REQUIRED
diff --git a/src/_zkapauthorizer/tests/strategies.py b/src/_zkapauthorizer/tests/strategies.py
index 1b6528cdc54a2af5571d3b9ab106c6cbe1f3c862..eef58788c61c4688902f1e8798d9d7d69e9c70de 100644
--- a/src/_zkapauthorizer/tests/strategies.py
+++ b/src/_zkapauthorizer/tests/strategies.py
@@ -16,10 +16,7 @@
 Hypothesis strategies for property testing.
 """
 
-from __future__ import absolute_import
-from __future__ import division
-from __future__ import print_function
-from __future__ import unicode_literals
+from __future__ import absolute_import, division, print_function, unicode_literals
 
 from future.utils import PY2
 
diff --git a/src/_zkapauthorizer/tests/test_client_resource.py b/src/_zkapauthorizer/tests/test_client_resource.py
index 6b0d677f23acf877931352156282ae2d4fd48554..c9ef7675bef5e62fc66f99bc1f37390c404feda8 100644
--- a/src/_zkapauthorizer/tests/test_client_resource.py
+++ b/src/_zkapauthorizer/tests/test_client_resource.py
@@ -17,10 +17,7 @@ Tests for the web resource provided by the client part of the Tahoe-LAFS
 plugin.
 """
 
-from __future__ import absolute_import
-from __future__ import division
-from __future__ import print_function
-from __future__ import unicode_literals
+from __future__ import absolute_import, division, print_function, unicode_literals
 
 from future.utils import PY2
 
diff --git a/src/_zkapauthorizer/tests/test_controller.py b/src/_zkapauthorizer/tests/test_controller.py
index fa15e3cc8bb061308707949295ac2948037cb525..4742a1462882b9f49639931d9b531be84a08ebf6 100644
--- a/src/_zkapauthorizer/tests/test_controller.py
+++ b/src/_zkapauthorizer/tests/test_controller.py
@@ -42,8 +42,8 @@ from testtools.matchers import (
     Always,
     Equals,
     HasLength,
-    IsInstance,
     Is,
+    IsInstance,
     MatchesAll,
     MatchesStructure,
 )
@@ -73,8 +73,8 @@ from ..controller import (
     Unpaid,
     UnpaidRedeemer,
     UnrecognizedFailureReason,
-    token_count_for_group,
     bracket,
+    token_count_for_group,
 )
 from ..model import DoubleSpend as model_DoubleSpend
 from ..model import Error as model_Error
diff --git a/src/_zkapauthorizer/tests/test_plugin.py b/src/_zkapauthorizer/tests/test_plugin.py
index 10f25b436e82dc7766dc81fe67c0c96097203857..e3d1f71c433807f54790ceae428f5243b5044583 100644
--- a/src/_zkapauthorizer/tests/test_plugin.py
+++ b/src/_zkapauthorizer/tests/test_plugin.py
@@ -16,10 +16,7 @@
 Tests for the Tahoe-LAFS plugin.
 """
 
-from __future__ import absolute_import
-from __future__ import division
-from __future__ import print_function
-from __future__ import unicode_literals
+from __future__ import absolute_import, division, print_function, unicode_literals
 
 from future.utils import PY2
 
diff --git a/src/_zkapauthorizer/tests/test_pricecalculator.py b/src/_zkapauthorizer/tests/test_pricecalculator.py
index b2b396978d599256bb03d346be80f07fafd5a113..ab8990ffa9281909239e4f6f6588b8ea459e9631 100644
--- a/src/_zkapauthorizer/tests/test_pricecalculator.py
+++ b/src/_zkapauthorizer/tests/test_pricecalculator.py
@@ -17,10 +17,7 @@
 Tests for ``_zkapauthorizer.pricecalculator``.
 """
 
-from __future__ import absolute_import
-from __future__ import division
-from __future__ import print_function
-from __future__ import unicode_literals
+from __future__ import absolute_import, division, print_function, unicode_literals
 
 from future.utils import PY2
 
@@ -48,12 +45,12 @@ if PY2:
         max,
         min,
     )  # noqa: F401
-from past.builtins import long
 
 from functools import partial
 
 from hypothesis import given
 from hypothesis.strategies import integers, lists, tuples
+from past.builtins import long
 from testtools import TestCase
 from testtools.matchers import Equals, GreaterThan, IsInstance, MatchesAll