You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@kibble.apache.org by tu...@apache.org on 2020/11/17 09:36:13 UTC

[kibble] branch main updated: Add isort pre-commit hook (#96)

This is an automated email from the ASF dual-hosted git repository.

turbaszek pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/kibble.git


The following commit(s) were added to refs/heads/main by this push:
     new 639f10c  Add isort pre-commit hook (#96)
639f10c is described below

commit 639f10c260dcb3d9f2fa1098d4ee0ca30ecc9aeb
Author: Tomek Urbaszek <tu...@gmail.com>
AuthorDate: Tue Nov 17 10:36:03 2020 +0100

    Add isort pre-commit hook (#96)
---
 .pre-commit-config.yaml                    |  7 +++++++
 kibble/__main__.py                         |  3 +--
 kibble/api/handler.py                      |  6 +++---
 kibble/api/pages/account.py                |  7 ++++---
 kibble/api/pages/bio/bio.py                |  2 +-
 kibble/api/pages/bio/newtimers.py          |  2 +-
 kibble/api/pages/ci/queue.py               |  2 +-
 kibble/api/pages/ci/status.py              |  2 +-
 kibble/api/pages/ci/top-buildcount.py      |  2 +-
 kibble/api/pages/ci/top-buildtime.py       |  2 +-
 kibble/api/pages/code/commits.py           |  2 +-
 kibble/api/pages/code/committers.py        |  2 +-
 kibble/api/pages/code/evolution.py         |  2 +-
 kibble/api/pages/code/pony-timeseries.py   |  5 +++--
 kibble/api/pages/code/pony.py              |  2 +-
 kibble/api/pages/code/punchcard.py         |  2 +-
 kibble/api/pages/code/relationships.py     |  8 ++++----
 kibble/api/pages/code/retention.py         |  4 ++--
 kibble/api/pages/code/top-commits.py       |  2 +-
 kibble/api/pages/code/top-sloc.py          |  2 +-
 kibble/api/pages/forum/actors.py           |  2 +-
 kibble/api/pages/forum/creators.py         |  2 +-
 kibble/api/pages/forum/issues.py           |  3 ++-
 kibble/api/pages/forum/responders.py       |  2 +-
 kibble/api/pages/forum/top-count.py        |  2 +-
 kibble/api/pages/forum/top.py              |  2 +-
 kibble/api/pages/issue/actors.py           |  2 +-
 kibble/api/pages/issue/age.py              |  2 +-
 kibble/api/pages/issue/closers.py          |  2 +-
 kibble/api/pages/issue/issues.py           |  3 ++-
 kibble/api/pages/issue/openers.py          |  2 +-
 kibble/api/pages/issue/pony-timeseries.py  |  5 +++--
 kibble/api/pages/issue/relationships.py    |  8 ++++----
 kibble/api/pages/issue/retention.py        |  4 ++--
 kibble/api/pages/issue/top-count.py        |  2 +-
 kibble/api/pages/issue/top.py              |  2 +-
 kibble/api/pages/mail/keyphrases.py        |  2 +-
 kibble/api/pages/mail/map.py               |  8 ++++----
 kibble/api/pages/mail/pony-timeseries.py   |  5 +++--
 kibble/api/pages/mail/relationships.py     |  8 ++++----
 kibble/api/pages/mail/retention.py         |  4 ++--
 kibble/api/pages/mail/timeseries-single.py |  2 +-
 kibble/api/pages/mail/timeseries.py        |  2 +-
 kibble/api/pages/mail/top-authors.py       |  4 ++--
 kibble/api/pages/mail/top-topics.py        |  2 +-
 kibble/api/pages/mail/trends.py            |  2 +-
 kibble/api/pages/org/contributors.py       |  2 +-
 kibble/api/pages/org/members.py            |  2 +-
 kibble/api/pages/org/sourcetypes.py        |  2 +-
 kibble/api/pages/session.py                |  5 +++--
 kibble/api/pages/sources.py                |  3 ++-
 kibble/api/pages/views.py                  |  2 +-
 kibble/api/pages/widgets.py                |  2 +-
 kibble/api/plugins/openapi.py              |  5 +++--
 kibble/api/plugins/session.py              |  4 ++--
 kibble/api/yaml/openapi/combine.py         |  5 +++--
 kibble/cli/setup_command.py                |  6 +++---
 kibble/scanners/brokers/kibbleES.py        |  3 ++-
 kibble/scanners/kibble-scanner.py          |  7 ++++---
 kibble/scanners/scanners/bugzilla.py       |  9 +++++----
 kibble/scanners/scanners/buildbot.py       |  4 ++--
 kibble/scanners/scanners/discourse.py      |  6 +++---
 kibble/scanners/scanners/gerrit.py         |  7 ++++---
 kibble/scanners/scanners/git-census.py     |  8 ++++----
 kibble/scanners/scanners/git-evolution.py  |  6 +++---
 kibble/scanners/scanners/git-sloc.py       |  2 +-
 kibble/scanners/scanners/github-issues.py  |  5 +++--
 kibble/scanners/scanners/jenkins.py        |  4 ++--
 kibble/scanners/scanners/jira.py           |  5 +++--
 kibble/scanners/scanners/pipermail.py      | 12 ++++++------
 kibble/scanners/scanners/ponymail-kpe.py   |  2 +-
 kibble/scanners/scanners/ponymail-tone.py  |  2 +-
 kibble/scanners/scanners/ponymail.py       |  6 +++---
 kibble/scanners/scanners/travis.py         |  5 +++--
 kibble/scanners/scanners/twitter.py        |  3 ++-
 kibble/scanners/utils/git.py               |  4 ++--
 kibble/scanners/utils/github.py            |  3 ++-
 kibble/scanners/utils/jsonapi.py           |  5 +++--
 kibble/scanners/utils/kpe.py               |  3 ++-
 kibble/scanners/utils/sloc.py              |  4 ++--
 kibble/scanners/utils/tone.py              |  3 ++-
 kibble/scanners/utils/urlmisc.py           |  4 ++--
 kibble/setup/makeaccount.py                | 11 +++++++----
 83 files changed, 176 insertions(+), 145 deletions(-)

diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml
index 889d623..c80ddd9 100644
--- a/.pre-commit-config.yaml
+++ b/.pre-commit-config.yaml
@@ -74,3 +74,10 @@ repos:
     - id: black
       name: Black
       types: [python]
+  - repo: https://github.com/timothycrosley/isort
+    rev: 5.6.4
+    hooks:
+      - id: isort
+        name: Run isort to sort imports
+        args: ['--multi-line', '3', '--trailing-comma']
+        files: \.py$
diff --git a/kibble/__main__.py b/kibble/__main__.py
index b63d27c..2807c35 100644
--- a/kibble/__main__.py
+++ b/kibble/__main__.py
@@ -18,9 +18,8 @@
 import click
 
 from kibble.cli import setup_command
-from kibble.version import version as kibble_version
-
 from kibble.configuration import conf
+from kibble.version import version as kibble_version
 
 
 @click.group()
diff --git a/kibble/api/handler.py b/kibble/api/handler.py
index 798e668..d409b54 100644
--- a/kibble/api/handler.py
+++ b/kibble/api/handler.py
@@ -21,21 +21,21 @@ It compiles a list of valid URLs from the 'pages' library folder,
 and if a URL matches it runs the specific submodule's run() function. It
 also handles CGI parsing and exceptions in the applications.
 """
+import json
 import os
 import re
 import sys
 import traceback
+
 import yaml
-import json
 
 from kibble.api.plugins import openapi
 from kibble.api.plugins.database import KibbleDatabase
 from kibble.api.plugins.session import KibbleSession
-
+from kibble.settings import KIBBLE_YAML, YAML_DIRECTORY
 
 # Compile valid API URLs from the pages library
 # Allow backwards compatibility by also accepting .lua URLs
-from kibble.settings import KIBBLE_YAML, YAML_DIRECTORY
 
 urls = []
 if __name__ != "__main__":
diff --git a/kibble/api/pages/account.py b/kibble/api/pages/account.py
index 196d06a..3b4c119 100644
--- a/kibble/api/pages/account.py
+++ b/kibble/api/pages/account.py
@@ -95,13 +95,14 @@ This is the user account handler for Kibble.
 adds, removes and edits accounts.
 """
 
+import email.message
+import hashlib
 import json
 import re
+import smtplib
 import time
+
 import bcrypt
-import hashlib
-import smtplib
-import email.message
 
 
 def sendCode(session, addr, code):
diff --git a/kibble/api/pages/bio/bio.py b/kibble/api/pages/bio/bio.py
index 32f62c4..9e7a60b 100644
--- a/kibble/api/pages/bio/bio.py
+++ b/kibble/api/pages/bio/bio.py
@@ -65,9 +65,9 @@
 This is the contributor trends renderer for Kibble
 """
 
+import hashlib
 import json
 import time
-import hashlib
 
 
 def run(API, environ, indata, session):
diff --git a/kibble/api/pages/bio/newtimers.py b/kibble/api/pages/bio/newtimers.py
index 57b590a..b07cc50 100644
--- a/kibble/api/pages/bio/newtimers.py
+++ b/kibble/api/pages/bio/newtimers.py
@@ -65,9 +65,9 @@
 This is the newtimers list renderer for Kibble
 """
 
+import hashlib
 import json
 import time
-import hashlib
 
 
 def find_earlier(session, query, when, who, which, where, doctype, dOrg):
diff --git a/kibble/api/pages/ci/queue.py b/kibble/api/pages/ci/queue.py
index d539bee..d01e51f 100644
--- a/kibble/api/pages/ci/queue.py
+++ b/kibble/api/pages/ci/queue.py
@@ -65,9 +65,9 @@
 This is the CI queue timeseries renderer for Kibble
 """
 
+import hashlib
 import json
 import time
-import hashlib
 
 
 def run(API, environ, indata, session):
diff --git a/kibble/api/pages/ci/status.py b/kibble/api/pages/ci/status.py
index 954c461..c89ae14 100644
--- a/kibble/api/pages/ci/status.py
+++ b/kibble/api/pages/ci/status.py
@@ -65,9 +65,9 @@
 This is the CI queue status (blocked/stuck) timeseries renderer for Kibble
 """
 
+import hashlib
 import json
 import time
-import hashlib
 
 
 def run(API, environ, indata, session):
diff --git a/kibble/api/pages/ci/top-buildcount.py b/kibble/api/pages/ci/top-buildcount.py
index 52a59e9..30012b0 100644
--- a/kibble/api/pages/ci/top-buildcount.py
+++ b/kibble/api/pages/ci/top-buildcount.py
@@ -66,8 +66,8 @@ This is the TopN CI jobs by total build time renderer for Kibble
 """
 
 import json
-import time
 import re
+import time
 
 
 def run(API, environ, indata, session):
diff --git a/kibble/api/pages/ci/top-buildtime.py b/kibble/api/pages/ci/top-buildtime.py
index f3a8c80..2500530 100644
--- a/kibble/api/pages/ci/top-buildtime.py
+++ b/kibble/api/pages/ci/top-buildtime.py
@@ -66,8 +66,8 @@ This is the TopN CI jobs by total build time renderer for Kibble
 """
 
 import json
-import time
 import re
+import time
 
 
 def run(API, environ, indata, session):
diff --git a/kibble/api/pages/code/commits.py b/kibble/api/pages/code/commits.py
index c5377df..cc0bf51 100644
--- a/kibble/api/pages/code/commits.py
+++ b/kibble/api/pages/code/commits.py
@@ -65,9 +65,9 @@
 This is the TopN committers list renderer for Kibble
 """
 
+import hashlib
 import json
 import time
-import hashlib
 
 
 def run(API, environ, indata, session):
diff --git a/kibble/api/pages/code/committers.py b/kibble/api/pages/code/committers.py
index 4bc0d36..3add5ed 100644
--- a/kibble/api/pages/code/committers.py
+++ b/kibble/api/pages/code/committers.py
@@ -65,9 +65,9 @@
 This is the TopN committers list renderer for Kibble
 """
 
+import hashlib
 import json
 import time
-import hashlib
 
 
 def run(API, environ, indata, session):
diff --git a/kibble/api/pages/code/evolution.py b/kibble/api/pages/code/evolution.py
index 0fa9cdc..e9b5916 100644
--- a/kibble/api/pages/code/evolution.py
+++ b/kibble/api/pages/code/evolution.py
@@ -65,9 +65,9 @@
 This is the TopN committers list renderer for Kibble
 """
 
+import hashlib
 import json
 import time
-import hashlib
 
 
 def run(API, environ, indata, session):
diff --git a/kibble/api/pages/code/pony-timeseries.py b/kibble/api/pages/code/pony-timeseries.py
index 8e1d254..cff42df 100644
--- a/kibble/api/pages/code/pony-timeseries.py
+++ b/kibble/api/pages/code/pony-timeseries.py
@@ -65,10 +65,11 @@
 This is the pony factor renderer for Kibble
 """
 
+import datetime
 import json
-import time
 import re
-import datetime
+import time
+
 import dateutil.relativedelta
 
 
diff --git a/kibble/api/pages/code/pony.py b/kibble/api/pages/code/pony.py
index 2c5b48d..68f648a 100644
--- a/kibble/api/pages/code/pony.py
+++ b/kibble/api/pages/code/pony.py
@@ -66,8 +66,8 @@ This is the pony factor renderer for Kibble
 """
 
 import json
-import time
 import re
+import time
 
 
 def run(API, environ, indata, session):
diff --git a/kibble/api/pages/code/punchcard.py b/kibble/api/pages/code/punchcard.py
index f588b3b..1a99a43 100644
--- a/kibble/api/pages/code/punchcard.py
+++ b/kibble/api/pages/code/punchcard.py
@@ -65,9 +65,9 @@
 This is the commit punch-card renderer for Kibble
 """
 
+import hashlib
 import json
 import time
-import hashlib
 
 
 def run(API, environ, indata, session):
diff --git a/kibble/api/pages/code/relationships.py b/kibble/api/pages/code/relationships.py
index 43b1a9e..a3944a7 100644
--- a/kibble/api/pages/code/relationships.py
+++ b/kibble/api/pages/code/relationships.py
@@ -65,12 +65,12 @@
 This is the committer relationship list renderer for Kibble
 """
 
-import json
-import time
-import hashlib
 import copy
-import re
+import hashlib
+import json
 import math
+import re
+import time
 
 
 def run(API, environ, indata, session):
diff --git a/kibble/api/pages/code/retention.py b/kibble/api/pages/code/retention.py
index 0ae308a..9d4fde1 100644
--- a/kibble/api/pages/code/retention.py
+++ b/kibble/api/pages/code/retention.py
@@ -65,10 +65,10 @@
 This is the code contributor retention factor renderer for Kibble
 """
 
+import datetime
 import json
-import time
 import re
-import datetime
+import time
 
 
 def run(API, environ, indata, session):
diff --git a/kibble/api/pages/code/top-commits.py b/kibble/api/pages/code/top-commits.py
index 9cda87a..6d031d5 100644
--- a/kibble/api/pages/code/top-commits.py
+++ b/kibble/api/pages/code/top-commits.py
@@ -66,8 +66,8 @@ This is the TopN repos by commits list renderer for Kibble
 """
 
 import json
-import time
 import re
+import time
 
 
 def run(API, environ, indata, session):
diff --git a/kibble/api/pages/code/top-sloc.py b/kibble/api/pages/code/top-sloc.py
index 6950ca0..eeb3af7 100644
--- a/kibble/api/pages/code/top-sloc.py
+++ b/kibble/api/pages/code/top-sloc.py
@@ -66,8 +66,8 @@ This is the TopN repos by SLoC list renderer for Kibble
 """
 
 import json
-import time
 import re
+import time
 
 
 def run(API, environ, indata, session):
diff --git a/kibble/api/pages/forum/actors.py b/kibble/api/pages/forum/actors.py
index a9b1d18..2962dc4 100644
--- a/kibble/api/pages/forum/actors.py
+++ b/kibble/api/pages/forum/actors.py
@@ -65,9 +65,9 @@
 This is the forum actors stats page for Kibble
 """
 
+import hashlib
 import json
 import time
-import hashlib
 
 
 def run(API, environ, indata, session):
diff --git a/kibble/api/pages/forum/creators.py b/kibble/api/pages/forum/creators.py
index 1a9e8b6..32f636d 100644
--- a/kibble/api/pages/forum/creators.py
+++ b/kibble/api/pages/forum/creators.py
@@ -65,9 +65,9 @@
 This is the TopN issue openers list renderer for Kibble
 """
 
+import hashlib
 import json
 import time
-import hashlib
 
 
 def run(API, environ, indata, session):
diff --git a/kibble/api/pages/forum/issues.py b/kibble/api/pages/forum/issues.py
index 8c4bbe8..e08c2ae 100644
--- a/kibble/api/pages/forum/issues.py
+++ b/kibble/api/pages/forum/issues.py
@@ -65,9 +65,10 @@
 This is the forum timeseries renderer for Kibble
 """
 
+import hashlib
 import json
 import time
-import hashlib
+
 
 # This creates an empty timeseries object with
 # all categories initialized as 0 opened, 0 closed.
diff --git a/kibble/api/pages/forum/responders.py b/kibble/api/pages/forum/responders.py
index a25481d..b314fcd 100644
--- a/kibble/api/pages/forum/responders.py
+++ b/kibble/api/pages/forum/responders.py
@@ -65,9 +65,9 @@
 This is the TopN forum posters list renderer for Kibble
 """
 
+import hashlib
 import json
 import time
-import hashlib
 
 
 def run(API, environ, indata, session):
diff --git a/kibble/api/pages/forum/top-count.py b/kibble/api/pages/forum/top-count.py
index 35947b0..c7a4894 100644
--- a/kibble/api/pages/forum/top-count.py
+++ b/kibble/api/pages/forum/top-count.py
@@ -66,8 +66,8 @@ This is the TopN repos by commits list renderer for Kibble
 """
 
 import json
-import time
 import re
+import time
 
 
 def run(API, environ, indata, session):
diff --git a/kibble/api/pages/forum/top.py b/kibble/api/pages/forum/top.py
index 7775a17..13005dc 100644
--- a/kibble/api/pages/forum/top.py
+++ b/kibble/api/pages/forum/top.py
@@ -65,9 +65,9 @@
 This is the issue actors stats page for Kibble
 """
 
+import hashlib
 import json
 import time
-import hashlib
 
 
 def run(API, environ, indata, session):
diff --git a/kibble/api/pages/issue/actors.py b/kibble/api/pages/issue/actors.py
index 29308fd..39e1e8e 100644
--- a/kibble/api/pages/issue/actors.py
+++ b/kibble/api/pages/issue/actors.py
@@ -65,9 +65,9 @@
 This is the issue actors stats page for Kibble
 """
 
+import hashlib
 import json
 import time
-import hashlib
 
 
 def run(API, environ, indata, session):
diff --git a/kibble/api/pages/issue/age.py b/kibble/api/pages/issue/age.py
index d5d9869..b51beed 100644
--- a/kibble/api/pages/issue/age.py
+++ b/kibble/api/pages/issue/age.py
@@ -65,9 +65,9 @@
 This is the issue actors stats page for Kibble
 """
 
+import hashlib
 import json
 import time
-import hashlib
 
 
 def run(API, environ, indata, session):
diff --git a/kibble/api/pages/issue/closers.py b/kibble/api/pages/issue/closers.py
index 94a409a..79ad41a 100644
--- a/kibble/api/pages/issue/closers.py
+++ b/kibble/api/pages/issue/closers.py
@@ -65,9 +65,9 @@
 This is the TopN issue closers list renderer for Kibble
 """
 
+import hashlib
 import json
 import time
-import hashlib
 
 
 def run(API, environ, indata, session):
diff --git a/kibble/api/pages/issue/issues.py b/kibble/api/pages/issue/issues.py
index bdc6ae0..0a59778 100644
--- a/kibble/api/pages/issue/issues.py
+++ b/kibble/api/pages/issue/issues.py
@@ -65,9 +65,10 @@
 This is the issue timeseries renderer for Kibble
 """
 
+import hashlib
 import json
 import time
-import hashlib
+
 
 # This creates an empty timeseries object with
 # all categories initialized as 0 opened, 0 closed.
diff --git a/kibble/api/pages/issue/openers.py b/kibble/api/pages/issue/openers.py
index cee81ab..66d6ab5 100644
--- a/kibble/api/pages/issue/openers.py
+++ b/kibble/api/pages/issue/openers.py
@@ -65,9 +65,9 @@
 This is the TopN issue openers list renderer for Kibble
 """
 
+import hashlib
 import json
 import time
-import hashlib
 
 
 def run(API, environ, indata, session):
diff --git a/kibble/api/pages/issue/pony-timeseries.py b/kibble/api/pages/issue/pony-timeseries.py
index 1c1b2b8..46c1645 100644
--- a/kibble/api/pages/issue/pony-timeseries.py
+++ b/kibble/api/pages/issue/pony-timeseries.py
@@ -65,10 +65,11 @@
 This is the pony factor renderer for Kibble
 """
 
+import datetime
 import json
-import time
 import re
-import datetime
+import time
+
 import dateutil.relativedelta
 
 
diff --git a/kibble/api/pages/issue/relationships.py b/kibble/api/pages/issue/relationships.py
index 3b4985b..74d784c 100644
--- a/kibble/api/pages/issue/relationships.py
+++ b/kibble/api/pages/issue/relationships.py
@@ -65,12 +65,12 @@
 This is the issue tracker relationship list renderer for Kibble
 """
 
-import json
-import time
-import hashlib
 import copy
-import re
+import hashlib
+import json
 import math
+import re
+import time
 
 
 def run(API, environ, indata, session):
diff --git a/kibble/api/pages/issue/retention.py b/kibble/api/pages/issue/retention.py
index 3766e67..94d35d6 100644
--- a/kibble/api/pages/issue/retention.py
+++ b/kibble/api/pages/issue/retention.py
@@ -67,10 +67,10 @@
 This is the code contributor retention factor renderer for Kibble
 """
 
+import datetime
 import json
-import time
 import re
-import datetime
+import time
 
 
 def run(API, environ, indata, session):
diff --git a/kibble/api/pages/issue/top-count.py b/kibble/api/pages/issue/top-count.py
index 38273ce..9fa39f6 100644
--- a/kibble/api/pages/issue/top-count.py
+++ b/kibble/api/pages/issue/top-count.py
@@ -66,8 +66,8 @@ This is the TopN repos by commits list renderer for Kibble
 """
 
 import json
-import time
 import re
+import time
 
 
 def run(API, environ, indata, session):
diff --git a/kibble/api/pages/issue/top.py b/kibble/api/pages/issue/top.py
index 70fae4d..1785176 100644
--- a/kibble/api/pages/issue/top.py
+++ b/kibble/api/pages/issue/top.py
@@ -65,9 +65,9 @@
 This is the issue actors stats page for Kibble
 """
 
+import hashlib
 import json
 import time
-import hashlib
 
 
 def run(API, environ, indata, session):
diff --git a/kibble/api/pages/mail/keyphrases.py b/kibble/api/pages/mail/keyphrases.py
index ead6d4b..367304e 100644
--- a/kibble/api/pages/mail/keyphrases.py
+++ b/kibble/api/pages/mail/keyphrases.py
@@ -65,9 +65,9 @@
 This is the common key phrases renderer for Kibble
 """
 
+import hashlib
 import json
 import time
-import hashlib
 
 
 def run(API, environ, indata, session):
diff --git a/kibble/api/pages/mail/map.py b/kibble/api/pages/mail/map.py
index ba188ea..8f906cc 100644
--- a/kibble/api/pages/mail/map.py
+++ b/kibble/api/pages/mail/map.py
@@ -65,12 +65,12 @@
 This is the committer relationship list renderer for Kibble
 """
 
-import json
-import time
-import hashlib
 import copy
-import re
+import hashlib
+import json
 import math
+import re
+import time
 
 badBots = r"(JIRA|Hudson|jira|jenkins|GitHub|git@|dev@|bugzilla|gerrit)"
 
diff --git a/kibble/api/pages/mail/pony-timeseries.py b/kibble/api/pages/mail/pony-timeseries.py
index 578ae70..bfa31d0 100644
--- a/kibble/api/pages/mail/pony-timeseries.py
+++ b/kibble/api/pages/mail/pony-timeseries.py
@@ -65,10 +65,11 @@
 This is the pony factor renderer for Kibble
 """
 
+import datetime
 import json
-import time
 import re
-import datetime
+import time
+
 import dateutil.relativedelta
 
 
diff --git a/kibble/api/pages/mail/relationships.py b/kibble/api/pages/mail/relationships.py
index 69e3df4..70fd7c3 100644
--- a/kibble/api/pages/mail/relationships.py
+++ b/kibble/api/pages/mail/relationships.py
@@ -65,12 +65,12 @@
 This is the committer relationship list renderer for Kibble
 """
 
-import json
-import time
-import hashlib
 import copy
-import re
+import hashlib
+import json
 import math
+import re
+import time
 
 
 def run(API, environ, indata, session):
diff --git a/kibble/api/pages/mail/retention.py b/kibble/api/pages/mail/retention.py
index dd54a7b..57f26d9 100644
--- a/kibble/api/pages/mail/retention.py
+++ b/kibble/api/pages/mail/retention.py
@@ -67,10 +67,10 @@
 This is the code contributor retention factor renderer for Kibble
 """
 
+import datetime
 import json
-import time
 import re
-import datetime
+import time
 
 
 def run(API, environ, indata, session):
diff --git a/kibble/api/pages/mail/timeseries-single.py b/kibble/api/pages/mail/timeseries-single.py
index d615715..51f3cd8 100644
--- a/kibble/api/pages/mail/timeseries-single.py
+++ b/kibble/api/pages/mail/timeseries-single.py
@@ -66,9 +66,9 @@ This is the email-only timeseries renderer for Kibble
 unlike timeseries.py, this only shows mail sent, not topics or authors.
 """
 
+import hashlib
 import json
 import time
-import hashlib
 
 
 def run(API, environ, indata, session):
diff --git a/kibble/api/pages/mail/timeseries.py b/kibble/api/pages/mail/timeseries.py
index 639d728..a5942c4 100644
--- a/kibble/api/pages/mail/timeseries.py
+++ b/kibble/api/pages/mail/timeseries.py
@@ -65,9 +65,9 @@
 This is the email timeseries renderer for Kibble
 """
 
+import hashlib
 import json
 import time
-import hashlib
 
 
 def run(API, environ, indata, session):
diff --git a/kibble/api/pages/mail/top-authors.py b/kibble/api/pages/mail/top-authors.py
index d2d14c1..cad69b8 100644
--- a/kibble/api/pages/mail/top-authors.py
+++ b/kibble/api/pages/mail/top-authors.py
@@ -65,10 +65,10 @@
 This is the TopN committers list renderer for Kibble
 """
 
-import json
-import time
 import hashlib
+import json
 import re
+import time
 
 ROBITS = r"(git|jira|jenkins|gerrit)@"
 
diff --git a/kibble/api/pages/mail/top-topics.py b/kibble/api/pages/mail/top-topics.py
index 7696736..ce91c84 100644
--- a/kibble/api/pages/mail/top-topics.py
+++ b/kibble/api/pages/mail/top-topics.py
@@ -65,9 +65,9 @@
 This is the TopN committers list renderer for Kibble
 """
 
+import hashlib
 import json
 import time
-import hashlib
 
 
 def run(API, environ, indata, session):
diff --git a/kibble/api/pages/mail/trends.py b/kibble/api/pages/mail/trends.py
index 5348bc3..2ddf22a 100644
--- a/kibble/api/pages/mail/trends.py
+++ b/kibble/api/pages/mail/trends.py
@@ -65,9 +65,9 @@
 This is the Email trends renderer for Kibble
 """
 
+import datetime
 import json
 import time
-import datetime
 
 
 def run(API, environ, indata, session):
diff --git a/kibble/api/pages/org/contributors.py b/kibble/api/pages/org/contributors.py
index 632bc71..a71dd29 100644
--- a/kibble/api/pages/org/contributors.py
+++ b/kibble/api/pages/org/contributors.py
@@ -48,9 +48,9 @@
 This is the contributor list renderer for Kibble
 """
 
+import hashlib
 import json
 import time
-import hashlib
 
 cached_people = {}  # Store people we know, so we don't have to fetch them again.
 
diff --git a/kibble/api/pages/org/members.py b/kibble/api/pages/org/members.py
index 79641b6..f890db3 100644
--- a/kibble/api/pages/org/members.py
+++ b/kibble/api/pages/org/members.py
@@ -115,9 +115,9 @@
 This is the Org list renderer for Kibble
 """
 
+import hashlib
 import json
 import time
-import hashlib
 
 
 def canInvite(session):
diff --git a/kibble/api/pages/org/sourcetypes.py b/kibble/api/pages/org/sourcetypes.py
index df4dab9..e7f8eed 100644
--- a/kibble/api/pages/org/sourcetypes.py
+++ b/kibble/api/pages/org/sourcetypes.py
@@ -64,10 +64,10 @@
 """
 This is the source types handler for Kibble
 """
+import json
 import os
 
 import yaml
-import json
 
 from kibble.settings import YAML_DIRECTORY
 
diff --git a/kibble/api/pages/session.py b/kibble/api/pages/session.py
index 225927b..91e21a9 100644
--- a/kibble/api/pages/session.py
+++ b/kibble/api/pages/session.py
@@ -94,13 +94,14 @@
 This is the user session handler for Kibble
 """
 
+import hashlib
 import json
 import re
 import time
-import bcrypt
-import hashlib
 import uuid
 
+import bcrypt
+
 
 def run(API, environ, indata, session):
 
diff --git a/kibble/api/pages/sources.py b/kibble/api/pages/sources.py
index fc8923c..851182b 100644
--- a/kibble/api/pages/sources.py
+++ b/kibble/api/pages/sources.py
@@ -123,11 +123,12 @@
 This is the source list handler for Kibble
 """
 
+import hashlib
 import json
 import os
 import re
 import time
-import hashlib
+
 import yaml
 
 from kibble.settings import YAML_DIRECTORY
diff --git a/kibble/api/pages/views.py b/kibble/api/pages/views.py
index a70607b..4b0a144 100644
--- a/kibble/api/pages/views.py
+++ b/kibble/api/pages/views.py
@@ -137,10 +137,10 @@
 This is the views (filters) list handler for Kibble
 """
 
+import hashlib
 import json
 import re
 import time
-import hashlib
 
 
 def run(API, environ, indata, session):
diff --git a/kibble/api/pages/widgets.py b/kibble/api/pages/widgets.py
index 35a7c96..a7cd843 100644
--- a/kibble/api/pages/widgets.py
+++ b/kibble/api/pages/widgets.py
@@ -46,10 +46,10 @@
 """
 This is the widget design handler for Kibble
 """
+import json
 import os
 
 import yaml
-import json
 
 from kibble.settings import YAML_DIRECTORY
 
diff --git a/kibble/api/plugins/openapi.py b/kibble/api/plugins/openapi.py
index 6265fc2..fa500b9 100644
--- a/kibble/api/plugins/openapi.py
+++ b/kibble/api/plugins/openapi.py
@@ -21,12 +21,13 @@ Validates input using the OpenAPI specification version 3 from
 https://github.com/OAI/OpenAPI-Specification (a simplified version, ahem)
 """
 
-import yaml
-import json
 import functools
+import json
 import operator
 import re
 
+import yaml
+
 
 class OpenAPIException(Exception):
     def __init__(self, message):
diff --git a/kibble/api/plugins/session.py b/kibble/api/plugins/session.py
index 035fb76..282b3f3 100644
--- a/kibble/api/plugins/session.py
+++ b/kibble/api/plugins/session.py
@@ -20,10 +20,10 @@ This is the session library for Apache Kibble.
 It handles setting/getting cookies and user prefs
 """
 
-import re
 import http.cookies
-import uuid
+import re
 import time
+import uuid
 
 
 class KibbleSession(object):
diff --git a/kibble/api/yaml/openapi/combine.py b/kibble/api/yaml/openapi/combine.py
index da61828..0b04380 100644
--- a/kibble/api/yaml/openapi/combine.py
+++ b/kibble/api/yaml/openapi/combine.py
@@ -15,10 +15,11 @@
 # specific language governing permissions and limitations
 # under the License.
 
-import yaml
 import os
-import sys
 import re
+import sys
+
+import yaml
 
 from kibble.settings import YAML_DIRECTORY
 
diff --git a/kibble/cli/setup_command.py b/kibble/cli/setup_command.py
index 842701c..a88b7ab 100644
--- a/kibble/cli/setup_command.py
+++ b/kibble/cli/setup_command.py
@@ -15,15 +15,15 @@
 # specific language governing permissions and limitations
 # under the License.
 
+import json
+import logging
 import os
 import sys
-import logging
 from getpass import getpass
 
+import bcrypt
 import click
 import tenacity
-import bcrypt
-import json
 from elasticsearch import Elasticsearch
 
 from kibble.configuration import conf
diff --git a/kibble/scanners/brokers/kibbleES.py b/kibble/scanners/brokers/kibbleES.py
index 2e1d7c4..c061e30 100644
--- a/kibble/scanners/brokers/kibbleES.py
+++ b/kibble/scanners/brokers/kibbleES.py
@@ -15,9 +15,10 @@
 # specific language governing permissions and limitations
 # under the License.
 
+import sys
+
 import elasticsearch
 import elasticsearch.helpers
-import sys
 
 KIBBLE_DB_VERSION = 2  # Current DB struct version
 ACCEPTED_DB_VERSIONS = [1, 2]  # Versions we know how to work with.
diff --git a/kibble/scanners/kibble-scanner.py b/kibble/scanners/kibble-scanner.py
index 953505d..52b2954 100644
--- a/kibble/scanners/kibble-scanner.py
+++ b/kibble/scanners/kibble-scanner.py
@@ -15,14 +15,15 @@
 # specific language governing permissions and limitations
 # under the License.
 
+import argparse
+import multiprocessing
 import os
 import threading
-import multiprocessing
+import time
 from pprint import pprint
 
 import yaml
-import time
-import argparse
+
 from kibble.scanners import scanners
 from kibble.scanners.brokers import kibbleES
 
diff --git a/kibble/scanners/scanners/bugzilla.py b/kibble/scanners/scanners/bugzilla.py
index e45a69e..b0eb19d 100644
--- a/kibble/scanners/scanners/bugzilla.py
+++ b/kibble/scanners/scanners/bugzilla.py
@@ -17,13 +17,14 @@
 
 """ This is the BugZilla scanner plugin for Kible """
 
-import re
+import hashlib
 import json
+import re
 import time
-import hashlib
-from threading import Thread, Lock
-from kibble.scanners.utils import jsonapi
 import urllib
+from threading import Lock, Thread
+
+from kibble.scanners.utils import jsonapi
 
 title = "Scanner for BugZilla"
 version = "0.1.0"
diff --git a/kibble/scanners/scanners/buildbot.py b/kibble/scanners/scanners/buildbot.py
index 8a89e33..e4f7b2d 100644
--- a/kibble/scanners/scanners/buildbot.py
+++ b/kibble/scanners/scanners/buildbot.py
@@ -15,11 +15,11 @@
 # specific language governing permissions and limitations
 # under the License.
 
-import time
 import datetime
-import re
 import hashlib
+import re
 import threading
+import time
 
 from kibble.scanners.utils import jsonapi
 
diff --git a/kibble/scanners/scanners/discourse.py b/kibble/scanners/scanners/discourse.py
index 8ed1159..eeb15de 100644
--- a/kibble/scanners/scanners/discourse.py
+++ b/kibble/scanners/scanners/discourse.py
@@ -15,12 +15,12 @@
 # specific language governing permissions and limitations
 # under the License.
 
-import time
 import datetime
-import re
 import hashlib
-import threading
 import os
+import re
+import threading
+import time
 
 from kibble.scanners.utils import jsonapi
 
diff --git a/kibble/scanners/scanners/gerrit.py b/kibble/scanners/scanners/gerrit.py
index 70f0b90..ebd15a9 100644
--- a/kibble/scanners/scanners/gerrit.py
+++ b/kibble/scanners/scanners/gerrit.py
@@ -15,12 +15,13 @@
 # specific language governing permissions and limitations
 # under the License.
 
+import hashlib
+import json
 import re
+import time
+
 import requests
-import hashlib
 from dateutil import parser
-import time
-import json
 
 title = "Scanner for Gerrit Code Review"
 version = "0.1.1"
diff --git a/kibble/scanners/scanners/git-census.py b/kibble/scanners/scanners/git-census.py
index 70cbdbc..16ac9cc 100644
--- a/kibble/scanners/scanners/git-census.py
+++ b/kibble/scanners/scanners/git-census.py
@@ -15,14 +15,14 @@
 # specific language governing permissions and limitations
 # under the License.
 
+import datetime
+import email.utils
+import hashlib
 import os
 import re
 import subprocess
-import time
 import tempfile
-import hashlib
-import email.utils
-import datetime, time
+import time
 
 title = "Census Scanner for Git"
 version = "0.1.0"
diff --git a/kibble/scanners/scanners/git-evolution.py b/kibble/scanners/scanners/git-evolution.py
index 6ce2fe9..6c84243 100644
--- a/kibble/scanners/scanners/git-evolution.py
+++ b/kibble/scanners/scanners/git-evolution.py
@@ -16,12 +16,12 @@
 # under the License.
 
 """ Git Evolution scanner """
-import os
-import subprocess
-import time
 import calendar
 import datetime
 import hashlib
+import os
+import subprocess
+import time
 
 from kibble.scanners.utils import sloc
 
diff --git a/kibble/scanners/scanners/git-sloc.py b/kibble/scanners/scanners/git-sloc.py
index f73cf86..b1ef081 100644
--- a/kibble/scanners/scanners/git-sloc.py
+++ b/kibble/scanners/scanners/git-sloc.py
@@ -19,7 +19,7 @@ import os
 import subprocess
 import time
 
-from kibble.scanners.utils import sloc, git
+from kibble.scanners.utils import git, sloc
 
 """ Source Lines of Code counter for Git """
 
diff --git a/kibble/scanners/scanners/github-issues.py b/kibble/scanners/scanners/github-issues.py
index 1b5f0bb..c5edc6e 100644
--- a/kibble/scanners/scanners/github-issues.py
+++ b/kibble/scanners/scanners/github-issues.py
@@ -15,11 +15,12 @@
 # specific language governing permissions and limitations
 # under the License.
 
-import re
 import hashlib
-from dateutil import parser
+import re
 import time
+
 import requests
+from dateutil import parser
 
 from kibble.scanners.utils import github
 
diff --git a/kibble/scanners/scanners/jenkins.py b/kibble/scanners/scanners/jenkins.py
index e9833de..0f7db89 100644
--- a/kibble/scanners/scanners/jenkins.py
+++ b/kibble/scanners/scanners/jenkins.py
@@ -15,11 +15,11 @@
 # specific language governing permissions and limitations
 # under the License.
 
-import time
 import datetime
-import re
 import hashlib
+import re
 import threading
+import time
 import urllib.parse
 
 from kibble.scanners.utils import jsonapi
diff --git a/kibble/scanners/scanners/jira.py b/kibble/scanners/scanners/jira.py
index 410f8d5..f10b3ff 100644
--- a/kibble/scanners/scanners/jira.py
+++ b/kibble/scanners/scanners/jira.py
@@ -15,10 +15,11 @@
 # specific language governing permissions and limitations
 # under the License.
 
-import time
-import re
 import hashlib
+import re
 import threading
+import time
+
 import requests.exceptions
 
 from kibble.scanners.utils import jsonapi
diff --git a/kibble/scanners/scanners/pipermail.py b/kibble/scanners/scanners/pipermail.py
index d8b33dd..59c96ed 100644
--- a/kibble/scanners/scanners/pipermail.py
+++ b/kibble/scanners/scanners/pipermail.py
@@ -15,15 +15,15 @@
 # specific language governing permissions and limitations
 # under the License.
 
-import mailbox
+import datetime
 import email.errors
-import email.utils
 import email.header
-import time
-import re
-import os
+import email.utils
 import hashlib
-import datetime
+import mailbox
+import os
+import re
+import time
 
 from kibble.scanners.utils import urlmisc
 
diff --git a/kibble/scanners/scanners/ponymail-kpe.py b/kibble/scanners/scanners/ponymail-kpe.py
index b5b4007..e2a4129 100644
--- a/kibble/scanners/scanners/ponymail-kpe.py
+++ b/kibble/scanners/scanners/ponymail-kpe.py
@@ -15,8 +15,8 @@
 # specific language governing permissions and limitations
 # under the License.
 
-import time
 import re
+import time
 
 from kibble.scanners.utils import jsonapi, kpe
 
diff --git a/kibble/scanners/scanners/ponymail-tone.py b/kibble/scanners/scanners/ponymail-tone.py
index c616a47..22076de 100644
--- a/kibble/scanners/scanners/ponymail-tone.py
+++ b/kibble/scanners/scanners/ponymail-tone.py
@@ -18,8 +18,8 @@
 """
 This is a Kibble scanner plugin for Apache Pony Mail sources.
 """
-import time
 import re
+import time
 
 from kibble.scanners.utils import jsonapi, tone
 
diff --git a/kibble/scanners/scanners/ponymail.py b/kibble/scanners/scanners/ponymail.py
index 89e1572..1744ea1 100644
--- a/kibble/scanners/scanners/ponymail.py
+++ b/kibble/scanners/scanners/ponymail.py
@@ -15,10 +15,10 @@
 # specific language governing permissions and limitations
 # under the License.
 
-import time
-import re
-import hashlib
 import datetime
+import hashlib
+import re
+import time
 
 from kibble.scanners.utils import jsonapi
 
diff --git a/kibble/scanners/scanners/travis.py b/kibble/scanners/scanners/travis.py
index b8c9282..519cb40 100644
--- a/kibble/scanners/scanners/travis.py
+++ b/kibble/scanners/scanners/travis.py
@@ -15,11 +15,12 @@
 # specific language governing permissions and limitations
 # under the License.
 
-import time
 import datetime
-import re
 import hashlib
+import re
 import threading
+import time
+
 import requests
 import requests.exceptions
 
diff --git a/kibble/scanners/scanners/twitter.py b/kibble/scanners/scanners/twitter.py
index b274fe7..996c048 100644
--- a/kibble/scanners/scanners/twitter.py
+++ b/kibble/scanners/scanners/twitter.py
@@ -18,8 +18,9 @@
 """
 This is a Kibble scanner plugin for Twitter sources.
 """
-import time
 import hashlib
+import time
+
 import twitter
 
 title = "Scanner plugin for Twitter"
diff --git a/kibble/scanners/utils/git.py b/kibble/scanners/utils/git.py
index bd71252..5ea7607 100644
--- a/kibble/scanners/utils/git.py
+++ b/kibble/scanners/utils/git.py
@@ -18,9 +18,9 @@
 """ This is the Kibble git utility plugin """
 
 import os
-import sys
-import subprocess
 import re
+import subprocess
+import sys
 
 
 def defaultBranch(source, datapath, KibbleBit=None):
diff --git a/kibble/scanners/utils/github.py b/kibble/scanners/utils/github.py
index 95b30ea..5284b1b 100644
--- a/kibble/scanners/utils/github.py
+++ b/kibble/scanners/utils/github.py
@@ -17,9 +17,10 @@
 
 """ GitHub utility library """
 import re
-import requests
 import time
 
+import requests
+
 repo_pattern = re.compile(".*[:/]([^/]+)/([^/]+).git")
 issues_api = "https://api.github.com/repos/%s/%s/issues"
 traffic_api = "https://api.github.com/repos/%s/%s/traffic"
diff --git a/kibble/scanners/utils/jsonapi.py b/kibble/scanners/utils/jsonapi.py
index 28fc474..64e7a7c 100644
--- a/kibble/scanners/utils/jsonapi.py
+++ b/kibble/scanners/utils/jsonapi.py
@@ -18,9 +18,10 @@
 """
 This is a Kibble JSON API plugin.
 """
-import requests
-import time
 import base64
+import time
+
+import requests
 
 CONNECT_TIMEOUT = 2  # Max timeout for the connect part of a request.
 
diff --git a/kibble/scanners/utils/kpe.py b/kibble/scanners/utils/kpe.py
index 3589019..c42e8e3 100644
--- a/kibble/scanners/utils/kpe.py
+++ b/kibble/scanners/utils/kpe.py
@@ -33,9 +33,10 @@ azure:
 Currently only pony mail is supported. more to come.
 """
 
+import json
 import re
+
 import requests
-import json
 
 
 def trimBody(body):
diff --git a/kibble/scanners/utils/sloc.py b/kibble/scanners/utils/sloc.py
index 46ab9ed..850ab13 100644
--- a/kibble/scanners/utils/sloc.py
+++ b/kibble/scanners/utils/sloc.py
@@ -17,9 +17,9 @@
 
 """ This is the SLoC counter utility for Kibble """
 
-import subprocess
-import re
 import multiprocessing
+import re
+import subprocess
 
 
 def count(path):
diff --git a/kibble/scanners/utils/tone.py b/kibble/scanners/utils/tone.py
index 87e945d..dab6e73 100644
--- a/kibble/scanners/utils/tone.py
+++ b/kibble/scanners/utils/tone.py
@@ -28,9 +28,10 @@ watson:
 Currently only pony mail is supported. more to come.
 """
 
-import requests
 import json
 
+import requests
+
 
 def watsonTone(KibbleBit, bodies):
     """ Sentiment analysis using IBM Watson """
diff --git a/kibble/scanners/utils/urlmisc.py b/kibble/scanners/utils/urlmisc.py
index 8f655ba..cf0ee69 100644
--- a/kibble/scanners/utils/urlmisc.py
+++ b/kibble/scanners/utils/urlmisc.py
@@ -19,11 +19,11 @@
 This is a Kibble miscellaneous URL functions plugin.
 """
 import base64
-import urllib.request
 import gzip
-import tempfile
 import io
 import subprocess
+import tempfile
+import urllib.request
 
 
 def unzip(url, creds=None, cookie=None):
diff --git a/kibble/setup/makeaccount.py b/kibble/setup/makeaccount.py
index 5036485..2b4e954 100644
--- a/kibble/setup/makeaccount.py
+++ b/kibble/setup/makeaccount.py
@@ -15,13 +15,16 @@
 # specific language governing permissions and limitations
 # under the License.
 
-import sys, os, os.path
-import elasticsearch
 import argparse
-import yaml
+import os
+import os.path
+import sys
+
 import bcrypt
+import elasticsearch
+import yaml
 
-from kibble.settings import YAML_DIRECTORY, KIBBLE_YAML
+from kibble.settings import KIBBLE_YAML, YAML_DIRECTORY
 
 
 class KibbleDatabase(object):