diff --git a/PLAN b/PLAN
index bb937d6df..e879e031c 100644
--- a/PLAN
+++ b/PLAN
@@ -7,13 +7,6 @@ Updated: $Date$
 Planned work in rough order
 ===========================
 
-* Refactor the use of urlopen().  This is triggered by the transition to
-  python 3: All instances of .read() from urlopen() objects return byte
-  streams under Python 3, while the code wants to deal with str objects, which
-  are unicode under Python 3.  Instead of building our own adapter to extract
-  the charset and do the decoding, we should transition to the 'requests'
-  module, which provides decoded unicode text directly from the response.
-
 * Transition to Django 2.x (depends on Python 3.x).  Security updates to
   Django 1.11 will cease around April 2020.
 
diff --git a/bin/check-copyright b/bin/check-copyright
index 1d52e5d3a..6698e3fda 100755
--- a/bin/check-copyright
+++ b/bin/check-copyright
@@ -33,7 +33,7 @@ COPYRIGHT
         Open Source Initiative at http://opensource.org/licenses/BSD-2-Clause.
 
 """
-from __future__ import print_function
+
 
 import datetime
 import os
diff --git a/bin/setupenv b/bin/setupenv
index d63fd8f43..b9f0f72da 100755
--- a/bin/setupenv
+++ b/bin/setupenv
@@ -1,5 +1,5 @@
 #!/usr/bin/env python
-from __future__ import print_function
+
 
 import os
 import subprocess
diff --git a/ietf/__init__.py b/ietf/__init__.py
index dd7b94057..e6185f182 100644
--- a/ietf/__init__.py
+++ b/ietf/__init__.py
@@ -2,8 +2,6 @@
 # -*- coding: utf-8 -*-
 
 
-from __future__ import absolute_import, print_function, unicode_literals
-
 from . import checks                           # pyflakes:ignore
 
 # Don't add patch number here:
diff --git a/ietf/api/__init__.py b/ietf/api/__init__.py
index 22e596ece..b4c6203d9 100644
--- a/ietf/api/__init__.py
+++ b/ietf/api/__init__.py
@@ -2,8 +2,6 @@
 # -*- coding: utf-8 -*-
 
 
-from __future__ import absolute_import, print_function, unicode_literals
-
 import datetime
 import re
 
diff --git a/ietf/api/management/commands/makeresources.py b/ietf/api/management/commands/makeresources.py
index 54830b5c1..087ed1b0f 100644
--- a/ietf/api/management/commands/makeresources.py
+++ b/ietf/api/management/commands/makeresources.py
@@ -1,6 +1,6 @@
-# Copyright The IETF Trust 2014-2019, All Rights Reserved
+# Copyright The IETF Trust 2014-2020, All Rights Reserved
 # -*- coding: utf-8 -*-
-from __future__ import absolute_import, print_function, unicode_literals
+
 
 import os
 import datetime
diff --git a/ietf/api/serializer.py b/ietf/api/serializer.py
index dd178b419..9c26dd6c5 100644
--- a/ietf/api/serializer.py
+++ b/ietf/api/serializer.py
@@ -2,8 +2,6 @@
 # -*- coding: utf-8 -*-
 
 
-from __future__ import absolute_import, print_function, unicode_literals
-
 import hashlib
 import json
 
diff --git a/ietf/api/tests.py b/ietf/api/tests.py
index accc96989..5987c033c 100644
--- a/ietf/api/tests.py
+++ b/ietf/api/tests.py
@@ -1,9 +1,7 @@
-# Copyright The IETF Trust 2015-2019, All Rights Reserved
+# Copyright The IETF Trust 2015-2020, All Rights Reserved
 # -*- coding: utf-8 -*-
 
 
-from __future__ import absolute_import, print_function, unicode_literals
-
 import os
 import sys
 
diff --git a/ietf/api/views.py b/ietf/api/views.py
index c25a25f56..41970bf3f 100644
--- a/ietf/api/views.py
+++ b/ietf/api/views.py
@@ -1,6 +1,6 @@
-# Copyright The IETF Trust 2017-2019, All Rights Reserved
+# Copyright The IETF Trust 2017-2020, All Rights Reserved
 # -*- coding: utf-8 -*-
-from __future__ import absolute_import, print_function, unicode_literals
+
 
 from jwcrypto.jwk import JWK
 
diff --git a/ietf/bin/list-role-holder-emails b/ietf/bin/list-role-holder-emails
index b6749c858..1e5c5ed42 100755
--- a/ietf/bin/list-role-holder-emails
+++ b/ietf/bin/list-role-holder-emails
@@ -1,5 +1,5 @@
 #!/usr/bin/env python
-from __future__ import print_function
+
 
 import os, sys
 import syslog
diff --git a/ietf/checks.py b/ietf/checks.py
index a1d76520a..864ef419e 100644
--- a/ietf/checks.py
+++ b/ietf/checks.py
@@ -2,8 +2,6 @@
 # -*- coding: utf-8 -*-
 
 
-from __future__ import absolute_import, print_function, unicode_literals
-
 import os
 import sys
 import time
diff --git a/ietf/community/admin.py b/ietf/community/admin.py
index fd7889f74..890819d9d 100644
--- a/ietf/community/admin.py
+++ b/ietf/community/admin.py
@@ -1,6 +1,6 @@
-# Copyright The IETF Trust 2017-2019, All Rights Reserved
+# Copyright The IETF Trust 2017-2020, All Rights Reserved
 # -*- coding: utf-8 -*-
-from __future__ import absolute_import, print_function, unicode_literals
+
 
 from django.contrib import admin
 
diff --git a/ietf/community/forms.py b/ietf/community/forms.py
index 1677c950c..b6844e0d4 100644
--- a/ietf/community/forms.py
+++ b/ietf/community/forms.py
@@ -1,9 +1,7 @@
-# Copyright The IETF Trust 2012-2019, All Rights Reserved
+# Copyright The IETF Trust 2012-2020, All Rights Reserved
 # -*- coding: utf-8 -*-
 
 
-from __future__ import absolute_import, print_function, unicode_literals
-
 from django import forms
 from django.db.models import Q
 
diff --git a/ietf/community/migrations/0001_initial.py b/ietf/community/migrations/0001_initial.py
index 51228a707..dc1ae75a3 100644
--- a/ietf/community/migrations/0001_initial.py
+++ b/ietf/community/migrations/0001_initial.py
@@ -1,7 +1,7 @@
 # Copyright The IETF Trust 2018-2020, All Rights Reserved
 # -*- coding: utf-8 -*-
 # Generated by Django 1.11.10 on 2018-02-20 10:52
-from __future__ import absolute_import, print_function, unicode_literals
+
 
 from typing import List, Tuple      # pyflakes:ignore
 
diff --git a/ietf/community/migrations/0002_auto_20180220_1052.py b/ietf/community/migrations/0002_auto_20180220_1052.py
index 93a0ebd5e..cb5658ac1 100644
--- a/ietf/community/migrations/0002_auto_20180220_1052.py
+++ b/ietf/community/migrations/0002_auto_20180220_1052.py
@@ -1,10 +1,8 @@
-# Copyright The IETF Trust 2018-2019, All Rights Reserved
+# Copyright The IETF Trust 2018-2020, All Rights Reserved
 # -*- coding: utf-8 -*-
 # Generated by Django 1.11.10 on 2018-02-20 10:52
 
 
-from __future__ import absolute_import, print_function, unicode_literals
-
 from django.conf import settings
 from django.db import migrations, models
 import django.db.models.deletion
diff --git a/ietf/community/migrations/0003_add_communitylist_docs2_m2m.py b/ietf/community/migrations/0003_add_communitylist_docs2_m2m.py
index 34c620fbe..3bfaee9aa 100644
--- a/ietf/community/migrations/0003_add_communitylist_docs2_m2m.py
+++ b/ietf/community/migrations/0003_add_communitylist_docs2_m2m.py
@@ -1,10 +1,8 @@
-# Copyright The IETF Trust 2019, All Rights Reserved
+# Copyright The IETF Trust 2019-2020, All Rights Reserved
 # -*- coding: utf-8 -*-
 # Generated by Django 1.11.20 on 2019-05-21 14:23
 
 
-from __future__ import absolute_import, print_function, unicode_literals
-
 from django.db import migrations, models
 import django.db.models.deletion
 import ietf.utils.models
diff --git a/ietf/community/migrations/0004_set_document_m2m_keys.py b/ietf/community/migrations/0004_set_document_m2m_keys.py
index 095ef5243..60e51fc36 100644
--- a/ietf/community/migrations/0004_set_document_m2m_keys.py
+++ b/ietf/community/migrations/0004_set_document_m2m_keys.py
@@ -1,10 +1,8 @@
-# Copyright The IETF Trust 2019, All Rights Reserved
+# Copyright The IETF Trust 2019-2020, All Rights Reserved
 # -*- coding: utf-8 -*-
 # Generated by Django 1.11.20 on 2019-05-21 14:27
 
 
-from __future__ import absolute_import, print_function, unicode_literals
-
 import sys
 
 from tqdm import tqdm
diff --git a/ietf/community/migrations/0005_1_del_docs_m2m_table.py b/ietf/community/migrations/0005_1_del_docs_m2m_table.py
index 0ff9ace87..9a7b7f945 100644
--- a/ietf/community/migrations/0005_1_del_docs_m2m_table.py
+++ b/ietf/community/migrations/0005_1_del_docs_m2m_table.py
@@ -1,10 +1,8 @@
-# Copyright The IETF Trust 2019, All Rights Reserved
+# Copyright The IETF Trust 2019-2020, All Rights Reserved
 # -*- coding: utf-8 -*-
 # Generated by Django 1.11.20 on 2019-05-22 08:15
 
 
-from __future__ import absolute_import, print_function, unicode_literals
-
 from django.db import migrations
 
 
diff --git a/ietf/community/migrations/0005_2_add_docs_m2m_table.py b/ietf/community/migrations/0005_2_add_docs_m2m_table.py
index 8847eadc4..ef1f9bc4f 100644
--- a/ietf/community/migrations/0005_2_add_docs_m2m_table.py
+++ b/ietf/community/migrations/0005_2_add_docs_m2m_table.py
@@ -1,10 +1,8 @@
-# Copyright The IETF Trust 2019, All Rights Reserved
+# Copyright The IETF Trust 2019-2020, All Rights Reserved
 # -*- coding: utf-8 -*-
 # Generated by Django 1.11.20 on 2019-05-22 08:15
 
 
-from __future__ import absolute_import, print_function, unicode_literals
-
 from django.db import migrations, models
 
 
diff --git a/ietf/community/migrations/0006_copy_docs_m2m_table.py b/ietf/community/migrations/0006_copy_docs_m2m_table.py
index 9a9b40a7b..6d1a5e3a8 100644
--- a/ietf/community/migrations/0006_copy_docs_m2m_table.py
+++ b/ietf/community/migrations/0006_copy_docs_m2m_table.py
@@ -1,10 +1,8 @@
-# Copyright The IETF Trust 2019, All Rights Reserved
+# Copyright The IETF Trust 2019-2020, All Rights Reserved
 # -*- coding: utf-8 -*-
 # Generated by Django 1.11.20 on 2019-05-27 05:56
 
 
-from __future__ import absolute_import, print_function, unicode_literals
-
 from django.db import migrations
 
 import sys, time
diff --git a/ietf/community/migrations/0007_remove_docs2_m2m.py b/ietf/community/migrations/0007_remove_docs2_m2m.py
index dce7e45cc..a454fbf07 100644
--- a/ietf/community/migrations/0007_remove_docs2_m2m.py
+++ b/ietf/community/migrations/0007_remove_docs2_m2m.py
@@ -1,10 +1,8 @@
-# Copyright The IETF Trust 2019, All Rights Reserved
+# Copyright The IETF Trust 2019-2020, All Rights Reserved
 # -*- coding: utf-8 -*-
 # Generated by Django 1.11.20 on 2019-05-30 03:06
 
 
-from __future__ import absolute_import, print_function, unicode_literals
-
 from django.db import migrations
 
 
diff --git a/ietf/community/models.py b/ietf/community/models.py
index a5c98f8e5..fb4098e8c 100644
--- a/ietf/community/models.py
+++ b/ietf/community/models.py
@@ -1,9 +1,7 @@
-# Copyright The IETF Trust 2012-2019, All Rights Reserved
+# Copyright The IETF Trust 2012-2020, All Rights Reserved
 # -*- coding: utf-8 -*-
 
 
-from __future__ import absolute_import, print_function, unicode_literals
-
 from django.contrib.auth.models import User
 from django.db import models
 from django.db.models import signals
diff --git a/ietf/community/tests.py b/ietf/community/tests.py
index f9cffff7f..a4290e48e 100644
--- a/ietf/community/tests.py
+++ b/ietf/community/tests.py
@@ -1,9 +1,7 @@
-# Copyright The IETF Trust 2016-2019, All Rights Reserved
+# Copyright The IETF Trust 2016-2020, All Rights Reserved
 # -*- coding: utf-8 -*-
 
 
-from __future__ import absolute_import, print_function, unicode_literals
-
 from pyquery import PyQuery
 
 from django.urls import reverse as urlreverse
diff --git a/ietf/community/utils.py b/ietf/community/utils.py
index f773839c7..f08176e3c 100644
--- a/ietf/community/utils.py
+++ b/ietf/community/utils.py
@@ -1,9 +1,7 @@
-# Copyright The IETF Trust 2016-2019, All Rights Reserved
+# Copyright The IETF Trust 2016-2020, All Rights Reserved
 # -*- coding: utf-8 -*-
 
 
-from __future__ import absolute_import, print_function, unicode_literals
-
 import re
 
 from django.db.models import Q
diff --git a/ietf/community/views.py b/ietf/community/views.py
index 8c1647384..eb4c8efd7 100644
--- a/ietf/community/views.py
+++ b/ietf/community/views.py
@@ -2,8 +2,6 @@
 # -*- coding: utf-8 -*-
 
 
-from __future__ import absolute_import, print_function, unicode_literals
-
 import csv
 import datetime
 import json
diff --git a/ietf/cookies/__init__.py b/ietf/cookies/__init__.py
index f17c21d38..6ac522698 100644
--- a/ietf/cookies/__init__.py
+++ b/ietf/cookies/__init__.py
@@ -1,9 +1,7 @@
-# Copyright The IETF Trust 2010-2019, All Rights Reserved
+# Copyright The IETF Trust 2010-2020, All Rights Reserved
 # coding: latin-1
 
 
-from __future__ import absolute_import, print_function, unicode_literals
-
 from types import ModuleType
 
 # These people will be sent a stack trace if there's an uncaught exception in
diff --git a/ietf/cookies/tests.py b/ietf/cookies/tests.py
index 302cab100..d23b64910 100644
--- a/ietf/cookies/tests.py
+++ b/ietf/cookies/tests.py
@@ -1,11 +1,9 @@
-# Copyright The IETF Trust 2015-2019, All Rights Reserved
+# Copyright The IETF Trust 2015-2020, All Rights Reserved
 # -*- coding: utf-8 -*-
 
 
-from __future__ import absolute_import, print_function, unicode_literals
-
 from pyquery import PyQuery
-from six.moves.http_cookies import SimpleCookie
+from http.cookies import SimpleCookie
 
 from django.urls import reverse as urlreverse
 
diff --git a/ietf/cookies/views.py b/ietf/cookies/views.py
index 58268dc61..065e0a649 100644
--- a/ietf/cookies/views.py
+++ b/ietf/cookies/views.py
@@ -1,9 +1,7 @@
-# Copyright The IETF Trust 2010-2019, All Rights Reserved
+# Copyright The IETF Trust 2010-2020, All Rights Reserved
 # -*- coding: utf-8 -*-
 
 
-from __future__ import absolute_import, print_function, unicode_literals
-
 from django.shortcuts import render
 from django.conf import settings
 
diff --git a/ietf/dbtemplate/forms.py b/ietf/dbtemplate/forms.py
index 987d61b60..03f2bc0fc 100644
--- a/ietf/dbtemplate/forms.py
+++ b/ietf/dbtemplate/forms.py
@@ -1,9 +1,7 @@
-# Copyright The IETF Trust 2012-2019, All Rights Reserved
+# Copyright The IETF Trust 2012-2020, All Rights Reserved
 # -*- coding: utf-8 -*-
 
 
-from __future__ import absolute_import, print_function, unicode_literals
-
 from django import forms
 from django.core.exceptions import ValidationError
 from django.template import Context
diff --git a/ietf/dbtemplate/migrations/0001_initial.py b/ietf/dbtemplate/migrations/0001_initial.py
index 4d63c74d3..53defbda2 100644
--- a/ietf/dbtemplate/migrations/0001_initial.py
+++ b/ietf/dbtemplate/migrations/0001_initial.py
@@ -1,13 +1,9 @@
-# Copyright The IETF Trust 2018-2019, All Rights Reserved
+# Copyright The IETF Trust 2018-2020, All Rights Reserved
 # -*- coding: utf-8 -*-
 # Generated by Django 1.11.10 on 2018-02-20 10:52
 
 
-from __future__ import absolute_import, print_function, unicode_literals
-
-import six
-if six.PY3:
-    from typing import List, Tuple      # pyflakes:ignore
+from typing import List, Tuple      # pyflakes:ignore
 
 from django.db import migrations, models
 
diff --git a/ietf/dbtemplate/migrations/0002_auto_20180220_1052.py b/ietf/dbtemplate/migrations/0002_auto_20180220_1052.py
index 84f026f7a..9cff93f4a 100644
--- a/ietf/dbtemplate/migrations/0002_auto_20180220_1052.py
+++ b/ietf/dbtemplate/migrations/0002_auto_20180220_1052.py
@@ -1,10 +1,8 @@
-# Copyright The IETF Trust 2018-2019, All Rights Reserved
+# Copyright The IETF Trust 2018-2020, All Rights Reserved
 # -*- coding: utf-8 -*-
 # Generated by Django 1.11.10 on 2018-02-20 10:52
 
 
-from __future__ import absolute_import, print_function, unicode_literals
-
 from django.db import migrations
 import django.db.models.deletion
 import ietf.utils.models
diff --git a/ietf/dbtemplate/migrations/0003_adjust_review_templates.py b/ietf/dbtemplate/migrations/0003_adjust_review_templates.py
index 80699981c..d3038c946 100644
--- a/ietf/dbtemplate/migrations/0003_adjust_review_templates.py
+++ b/ietf/dbtemplate/migrations/0003_adjust_review_templates.py
@@ -1,10 +1,8 @@
-# Copyright The IETF Trust 2019, All Rights Reserved
+# Copyright The IETF Trust 2019-2020, All Rights Reserved
 # -*- coding: utf-8 -*-
 # Generated by Django 1.11.20 on 2019-03-05 11:39
 
 
-from __future__ import absolute_import, print_function, unicode_literals
-
 from django.db import migrations
 
 def forward(apps, schema_editor):
diff --git a/ietf/dbtemplate/migrations/0004_adjust_assignment_email_summary_templates.py b/ietf/dbtemplate/migrations/0004_adjust_assignment_email_summary_templates.py
index 9aa7493fe..f9a249609 100644
--- a/ietf/dbtemplate/migrations/0004_adjust_assignment_email_summary_templates.py
+++ b/ietf/dbtemplate/migrations/0004_adjust_assignment_email_summary_templates.py
@@ -1,10 +1,8 @@
-# Copyright The IETF Trust 2019, All Rights Reserved
+# Copyright The IETF Trust 2019-2020, All Rights Reserved
 # -*- coding: utf-8 -*-
 # Generated by Django 1.11.20 on 2019-03-13 13:41
 
 
-from __future__ import absolute_import, print_function, unicode_literals
-
 from django.db import migrations
 
 def forward(apps, schema_editor):
diff --git a/ietf/dbtemplate/migrations/0005_adjust_assignment_email_summary_templates_2526.py b/ietf/dbtemplate/migrations/0005_adjust_assignment_email_summary_templates_2526.py
index 06465460a..8a07d8936 100644
--- a/ietf/dbtemplate/migrations/0005_adjust_assignment_email_summary_templates_2526.py
+++ b/ietf/dbtemplate/migrations/0005_adjust_assignment_email_summary_templates_2526.py
@@ -1,10 +1,8 @@
-# Copyright The IETF Trust 2019, All Rights Reserved
+# Copyright The IETF Trust 2019-2020, All Rights Reserved
 # -*- coding: utf-8 -*-
 # Generated by Django 1.11.20 on 2019-03-13 13:41
 
 
-from __future__ import absolute_import, print_function, unicode_literals
-
 from django.db import migrations
 
 def forward(apps, schema_editor):
diff --git a/ietf/dbtemplate/migrations/0006_add_review_assigned_template.py b/ietf/dbtemplate/migrations/0006_add_review_assigned_template.py
index f2a0ddaab..cedd84322 100644
--- a/ietf/dbtemplate/migrations/0006_add_review_assigned_template.py
+++ b/ietf/dbtemplate/migrations/0006_add_review_assigned_template.py
@@ -1,9 +1,7 @@
-# Copyright The IETF Trust 2019, All Rights Reserved
+# Copyright The IETF Trust 2019-2020, All Rights Reserved
 # -*- coding: utf-8 -*-
 
 
-from __future__ import absolute_import, print_function, unicode_literals
-
 from django.db import migrations
 
 def forward(apps, schema_editor):
diff --git a/ietf/dbtemplate/migrations/0007_adjust_review_assigned.py b/ietf/dbtemplate/migrations/0007_adjust_review_assigned.py
index a3c876d08..c1e8324ef 100644
--- a/ietf/dbtemplate/migrations/0007_adjust_review_assigned.py
+++ b/ietf/dbtemplate/migrations/0007_adjust_review_assigned.py
@@ -1,7 +1,7 @@
-# Copyright The IETF Trust 2019, All Rights Reserved
+# Copyright The IETF Trust 2019-2020, All Rights Reserved
 # -*- coding: utf-8 -*-
 # Generated by Django 1.11.26 on 2019-11-19 11:47
-from __future__ import unicode_literals
+
 
 from django.db import migrations
 
diff --git a/ietf/dbtemplate/migrations/0008_add_default_iesg_req_template.py b/ietf/dbtemplate/migrations/0008_add_default_iesg_req_template.py
index 44012d5ff..3ca9a6fc8 100644
--- a/ietf/dbtemplate/migrations/0008_add_default_iesg_req_template.py
+++ b/ietf/dbtemplate/migrations/0008_add_default_iesg_req_template.py
@@ -1,7 +1,7 @@
 # Copyright The IETF Trust 2020, All Rights Reserved
 # -*- coding: utf-8 -*-
 # Generated by Django 1.11.27 on 2020-01-07 09:25
-from __future__ import unicode_literals
+
 
 from django.db import migrations
 
diff --git a/ietf/dbtemplate/models.py b/ietf/dbtemplate/models.py
index 0678236c5..bd70c9148 100644
--- a/ietf/dbtemplate/models.py
+++ b/ietf/dbtemplate/models.py
@@ -1,6 +1,6 @@
 # -*- coding: utf-8 -*-
-# Copyright The IETF Trust 2012-2019, All Rights Reserved
-from __future__ import absolute_import, print_function, unicode_literals
+# Copyright The IETF Trust 2012-2020, All Rights Reserved
+
 
 from django.db import models
 from django.core.exceptions import ValidationError
diff --git a/ietf/dbtemplate/template.py b/ietf/dbtemplate/template.py
index ba5cadfd0..02d6a512c 100644
--- a/ietf/dbtemplate/template.py
+++ b/ietf/dbtemplate/template.py
@@ -1,9 +1,7 @@
-# Copyright The IETF Trust 2012-2019, All Rights Reserved
+# Copyright The IETF Trust 2012-2020, All Rights Reserved
 # -*- coding: utf-8 -*-
 
 
-from __future__ import absolute_import, print_function, unicode_literals
-
 import os
 import string
 from docutils.core import publish_string
diff --git a/ietf/doc/admin.py b/ietf/doc/admin.py
index 590017468..1124e1ec3 100644
--- a/ietf/doc/admin.py
+++ b/ietf/doc/admin.py
@@ -2,8 +2,6 @@
 # -*- coding: utf-8 -*-
 
 
-from __future__ import absolute_import, print_function, unicode_literals
-
 from django.contrib import admin
 from django.db import models
 from django import forms
diff --git a/ietf/doc/expire.py b/ietf/doc/expire.py
index 863826b88..623c418d6 100644
--- a/ietf/doc/expire.py
+++ b/ietf/doc/expire.py
@@ -3,8 +3,6 @@
 # expiry of Internet Drafts
 
 
-from __future__ import absolute_import, print_function, unicode_literals
-
 from django.conf import settings
 
 import datetime, os, shutil, glob, re
diff --git a/ietf/doc/factories.py b/ietf/doc/factories.py
index 49189a125..f22e80cab 100644
--- a/ietf/doc/factories.py
+++ b/ietf/doc/factories.py
@@ -2,8 +2,6 @@
 # -*- coding: utf-8 -*-
 
 
-from __future__ import absolute_import, print_function, unicode_literals
-
 import debug    # pyflakes:ignore
 import factory
 import factory.fuzzy
diff --git a/ietf/doc/feeds.py b/ietf/doc/feeds.py
index 5ee3b8bad..4b8d2789a 100644
--- a/ietf/doc/feeds.py
+++ b/ietf/doc/feeds.py
@@ -2,8 +2,6 @@
 # -*- coding: utf-8 -*-
 
 
-from __future__ import absolute_import, print_function, unicode_literals
-
 import datetime
 
 from django.contrib.syndication.views import Feed, FeedDoesNotExist
diff --git a/ietf/doc/fields.py b/ietf/doc/fields.py
index cacd7d73d..592cf439e 100644
--- a/ietf/doc/fields.py
+++ b/ietf/doc/fields.py
@@ -2,8 +2,6 @@
 # -*- coding: utf-8 -*-
 
 
-from __future__ import absolute_import, print_function, unicode_literals
-
 import json
 
 from django.utils.html import escape
diff --git a/ietf/doc/forms.py b/ietf/doc/forms.py
index 1dd23f474..18d72587d 100644
--- a/ietf/doc/forms.py
+++ b/ietf/doc/forms.py
@@ -1,10 +1,7 @@
-# Copyright The IETF Trust 2013-2019, All Rights Reserved
+# Copyright The IETF Trust 2013-2020, All Rights Reserved
 # -*- coding: utf-8 -*-
 
 
-from __future__ import absolute_import, print_function, unicode_literals
-
-
 import datetime
 import debug #pyflakes:ignore
 from django import forms
diff --git a/ietf/doc/mails.py b/ietf/doc/mails.py
index 112c38292..a6fdfac76 100644
--- a/ietf/doc/mails.py
+++ b/ietf/doc/mails.py
@@ -3,8 +3,6 @@
 # generation of mails 
 
 
-from __future__ import absolute_import, print_function, unicode_literals
-
 import datetime
 import textwrap
 
diff --git a/ietf/doc/management/commands/fix_105_slides.py b/ietf/doc/management/commands/fix_105_slides.py
index 3f19ecc94..b8689482e 100644
--- a/ietf/doc/management/commands/fix_105_slides.py
+++ b/ietf/doc/management/commands/fix_105_slides.py
@@ -1,9 +1,7 @@
-# Copyright The IETF Trust 2019, All Rights Reserved
+# Copyright The IETF Trust 2019-2020, All Rights Reserved
 # -*- coding: utf-8 -*-
 
 
-from __future__ import absolute_import, print_function, unicode_literals
-
 import os
 
 from collections import Counter
diff --git a/ietf/doc/management/commands/generate_draft_bibxml_files.py b/ietf/doc/management/commands/generate_draft_bibxml_files.py
index 47f6f0f54..82c50b037 100644
--- a/ietf/doc/management/commands/generate_draft_bibxml_files.py
+++ b/ietf/doc/management/commands/generate_draft_bibxml_files.py
@@ -1,7 +1,6 @@
-# Copyright The IETF Trust 2018-2019, All Rights Reserved
+# Copyright The IETF Trust 2012-2020, All Rights Reserved
 # -*- coding: utf-8 -*-
 
-from __future__ import absolute_import, print_function, unicode_literals
 
 import datetime
 import io
diff --git a/ietf/doc/migrations/0001_initial.py b/ietf/doc/migrations/0001_initial.py
index b7fcec14b..fd50d34fc 100644
--- a/ietf/doc/migrations/0001_initial.py
+++ b/ietf/doc/migrations/0001_initial.py
@@ -1,10 +1,8 @@
-# Copyright The IETF Trust 2018-2019, All Rights Reserved
+# Copyright The IETF Trust 2018-2020, All Rights Reserved
 # -*- coding: utf-8 -*-
 # Generated by Django 1.11.10 on 2018-02-20 10:52
 
 
-from __future__ import absolute_import, print_function, unicode_literals
-
 import datetime
 import django.core.validators
 from django.db import migrations, models
diff --git a/ietf/doc/migrations/0002_auto_20180220_1052.py b/ietf/doc/migrations/0002_auto_20180220_1052.py
index 471054bc9..811e9eb81 100644
--- a/ietf/doc/migrations/0002_auto_20180220_1052.py
+++ b/ietf/doc/migrations/0002_auto_20180220_1052.py
@@ -1,10 +1,8 @@
-# Copyright The IETF Trust 2018-2019, All Rights Reserved
+# Copyright The IETF Trust 2018-2020, All Rights Reserved
 # -*- coding: utf-8 -*-
 # Generated by Django 1.11.10 on 2018-02-20 10:52
 
 
-from __future__ import absolute_import, print_function, unicode_literals
-
 from django.db import migrations, models
 import django.db.models.deletion
 import ietf.utils.models
diff --git a/ietf/doc/migrations/0003_auto_20180401_1231.py b/ietf/doc/migrations/0003_auto_20180401_1231.py
index f6f6144bc..7760b2511 100644
--- a/ietf/doc/migrations/0003_auto_20180401_1231.py
+++ b/ietf/doc/migrations/0003_auto_20180401_1231.py
@@ -1,10 +1,8 @@
-# Copyright The IETF Trust 2018-2019, All Rights Reserved
+# Copyright The IETF Trust 2018-2020, All Rights Reserved
 # -*- coding: utf-8 -*-
 # Generated by Django 1.11.11 on 2018-04-01 12:31
 
 
-from __future__ import absolute_import, print_function, unicode_literals
-
 from django.db import migrations, models
 
 
diff --git a/ietf/doc/migrations/0004_add_draft_stream_replaced_states.py b/ietf/doc/migrations/0004_add_draft_stream_replaced_states.py
index 5ab95997f..9d57cb476 100644
--- a/ietf/doc/migrations/0004_add_draft_stream_replaced_states.py
+++ b/ietf/doc/migrations/0004_add_draft_stream_replaced_states.py
@@ -1,10 +1,8 @@
-# Copyright The IETF Trust 2018-2019, All Rights Reserved
+# Copyright The IETF Trust 2018-2020, All Rights Reserved
 # -*- coding: utf-8 -*-
 # Generated by Django 1.11.13 on 2018-05-03 11:50
 
 
-from __future__ import absolute_import, print_function, unicode_literals
-
 from django.db import migrations
 
 def forward(apps, schema_editor):
diff --git a/ietf/doc/migrations/0005_fix_replaced_iab_irtf_stream_docs.py b/ietf/doc/migrations/0005_fix_replaced_iab_irtf_stream_docs.py
index da03c5fa1..3529baf98 100644
--- a/ietf/doc/migrations/0005_fix_replaced_iab_irtf_stream_docs.py
+++ b/ietf/doc/migrations/0005_fix_replaced_iab_irtf_stream_docs.py
@@ -1,10 +1,8 @@
-# Copyright The IETF Trust 2018-2019, All Rights Reserved
+# Copyright The IETF Trust 2018-2020, All Rights Reserved
 # -*- coding: utf-8 -*-
 # Generated by Django 1.11.13 on 2018-05-03 12:16
 
 
-from __future__ import absolute_import, print_function, unicode_literals
-
 from django.db import migrations
 
 def forward(apps, schema_editor):
diff --git a/ietf/doc/migrations/0006_ballotpositiondocevent_send_email.py b/ietf/doc/migrations/0006_ballotpositiondocevent_send_email.py
index 44ea6295f..42f58ca02 100644
--- a/ietf/doc/migrations/0006_ballotpositiondocevent_send_email.py
+++ b/ietf/doc/migrations/0006_ballotpositiondocevent_send_email.py
@@ -1,10 +1,8 @@
-# Copyright The IETF Trust 2018-2019, All Rights Reserved
+# Copyright The IETF Trust 2018-2020, All Rights Reserved
 # -*- coding: utf-8 -*-
 # Generated by Django 1.11.15 on 2018-10-03 06:39
 
 
-from __future__ import absolute_import, print_function, unicode_literals
-
 from django.db import migrations, models
 
 
diff --git a/ietf/doc/migrations/0007_idexists.py b/ietf/doc/migrations/0007_idexists.py
index 3731661ae..d8df81d5f 100644
--- a/ietf/doc/migrations/0007_idexists.py
+++ b/ietf/doc/migrations/0007_idexists.py
@@ -1,10 +1,8 @@
-# Copyright The IETF Trust 2018-2019, All Rights Reserved
+# Copyright The IETF Trust 2018-2020, All Rights Reserved
 # -*- coding: utf-8 -*-
 # Generated by Django 1.11.16 on 2018-11-04 10:56
 
 
-from __future__ import absolute_import, print_function, unicode_literals
-
 from tqdm import tqdm
 
 from django.db import migrations
diff --git a/ietf/doc/migrations/0008_add_uploaded_filename.py b/ietf/doc/migrations/0008_add_uploaded_filename.py
index 82e528b8d..bf3690108 100644
--- a/ietf/doc/migrations/0008_add_uploaded_filename.py
+++ b/ietf/doc/migrations/0008_add_uploaded_filename.py
@@ -1,10 +1,8 @@
-# Copyright The IETF Trust 2019, All Rights Reserved
+# Copyright The IETF Trust 2019-2020, All Rights Reserved
 # -*- coding: utf-8 -*-
 # Generated by Django 1.11.17 on 2018-12-28 13:11
 
 
-from __future__ import absolute_import, print_function, unicode_literals
-
 from django.db import migrations, models
 
 
diff --git a/ietf/doc/migrations/0009_move_non_url_externalurls_to_uploaded_filename.py b/ietf/doc/migrations/0009_move_non_url_externalurls_to_uploaded_filename.py
index 95ef47d11..f97ebbdff 100644
--- a/ietf/doc/migrations/0009_move_non_url_externalurls_to_uploaded_filename.py
+++ b/ietf/doc/migrations/0009_move_non_url_externalurls_to_uploaded_filename.py
@@ -1,10 +1,8 @@
-# Copyright The IETF Trust 2019, All Rights Reserved
+# Copyright The IETF Trust 2019-2020, All Rights Reserved
 # -*- coding: utf-8 -*-
 # Generated by Django 1.11.17 on 2018-12-28 13:33
 
 
-from __future__ import absolute_import, print_function, unicode_literals
-
 from django.db import migrations
 from django.db.models import F
 
diff --git a/ietf/doc/migrations/0010_auto_20190225_1302.py b/ietf/doc/migrations/0010_auto_20190225_1302.py
index 1d581c59b..2f8dfef45 100644
--- a/ietf/doc/migrations/0010_auto_20190225_1302.py
+++ b/ietf/doc/migrations/0010_auto_20190225_1302.py
@@ -1,10 +1,8 @@
-# Copyright The IETF Trust 2019, All Rights Reserved
+# Copyright The IETF Trust 2019-2020, All Rights Reserved
 # -*- coding: utf-8 -*-
 # Generated by Django 1.11.20 on 2019-02-25 13:02
 
 
-from __future__ import absolute_import, print_function, unicode_literals
-
 from django.db import migrations, models
 
 
diff --git a/ietf/doc/migrations/0011_reviewassignmentdocevent.py b/ietf/doc/migrations/0011_reviewassignmentdocevent.py
index 0482dd967..e143b5339 100644
--- a/ietf/doc/migrations/0011_reviewassignmentdocevent.py
+++ b/ietf/doc/migrations/0011_reviewassignmentdocevent.py
@@ -1,10 +1,8 @@
-# Copyright The IETF Trust 2019, All Rights Reserved
+# Copyright The IETF Trust 2019-2020, All Rights Reserved
 # -*- coding: utf-8 -*-
 # Generated by Django 1.11.18 on 2019-01-11 11:22
 
 
-from __future__ import absolute_import, print_function, unicode_literals
-
 from django.db import migrations, models
 import django.db.models.deletion
 import ietf.utils.models
diff --git a/ietf/doc/migrations/0012_add_event_type_closed_review_assignment.py b/ietf/doc/migrations/0012_add_event_type_closed_review_assignment.py
index b6562f163..ae9bb3ce8 100644
--- a/ietf/doc/migrations/0012_add_event_type_closed_review_assignment.py
+++ b/ietf/doc/migrations/0012_add_event_type_closed_review_assignment.py
@@ -1,10 +1,8 @@
-# Copyright The IETF Trust 2019, All Rights Reserved
+# Copyright The IETF Trust 2019-2020, All Rights Reserved
 # -*- coding: utf-8 -*-
 # Generated by Django 1.11.20 on 2019-05-01 04:43
 
 
-from __future__ import absolute_import, print_function, unicode_literals
-
 from django.db import migrations, models
 
 
diff --git a/ietf/doc/migrations/0013_add_document_docalias_id.py b/ietf/doc/migrations/0013_add_document_docalias_id.py
index 09d3f1a87..1b9d0ab91 100644
--- a/ietf/doc/migrations/0013_add_document_docalias_id.py
+++ b/ietf/doc/migrations/0013_add_document_docalias_id.py
@@ -1,10 +1,8 @@
-# Copyright The IETF Trust 2019, All Rights Reserved
+# Copyright The IETF Trust 2019-2020, All Rights Reserved
 # -*- coding: utf-8 -*-
 # Generated by Django 1.11.20 on 2019-05-08 08:41
 
 
-from __future__ import absolute_import, print_function, unicode_literals
-
 from django.db import migrations, models
 
 
diff --git a/ietf/doc/migrations/0014_set_document_docalias_id.py b/ietf/doc/migrations/0014_set_document_docalias_id.py
index 785b82bf2..a97f6d7e4 100644
--- a/ietf/doc/migrations/0014_set_document_docalias_id.py
+++ b/ietf/doc/migrations/0014_set_document_docalias_id.py
@@ -1,10 +1,8 @@
-# Copyright The IETF Trust 2019, All Rights Reserved
+# Copyright The IETF Trust 2019-2020, All Rights Reserved
 # -*- coding: utf-8 -*-
 # Generated by Django 1.11.20 on 2019-05-08 08:42
 
 
-from __future__ import absolute_import, print_function, unicode_literals
-
 import sys
 
 from tqdm import tqdm
diff --git a/ietf/doc/migrations/0015_1_add_fk_to_document_id.py b/ietf/doc/migrations/0015_1_add_fk_to_document_id.py
index 7a6248a1d..6d2e7415f 100644
--- a/ietf/doc/migrations/0015_1_add_fk_to_document_id.py
+++ b/ietf/doc/migrations/0015_1_add_fk_to_document_id.py
@@ -1,10 +1,8 @@
-# Copyright The IETF Trust 2019, All Rights Reserved
+# Copyright The IETF Trust 2019-2020, All Rights Reserved
 # -*- coding: utf-8 -*-
 # Generated by Django 1.11.20 on 2019-05-08 10:29
 
 
-from __future__ import absolute_import, print_function, unicode_literals
-
 import django.core.validators
 from django.db import migrations, models
 import django.db.models.deletion
diff --git a/ietf/doc/migrations/0015_2_add_doc_document_m2m_fields.py b/ietf/doc/migrations/0015_2_add_doc_document_m2m_fields.py
index 2bd8a7ae1..99ff30c55 100644
--- a/ietf/doc/migrations/0015_2_add_doc_document_m2m_fields.py
+++ b/ietf/doc/migrations/0015_2_add_doc_document_m2m_fields.py
@@ -1,10 +1,8 @@
-# Copyright The IETF Trust 2019, All Rights Reserved
+# Copyright The IETF Trust 2019-2020, All Rights Reserved
 # -*- coding: utf-8 -*-
 # Generated by Django 1.11.20 on 2019-05-28 12:42
 
 
-from __future__ import absolute_import, print_function, unicode_literals
-
 import sys, time
 
 from django.db import migrations, models
diff --git a/ietf/doc/migrations/0016_set_document_docalias_fk.py b/ietf/doc/migrations/0016_set_document_docalias_fk.py
index 3c4137167..67d1333f3 100644
--- a/ietf/doc/migrations/0016_set_document_docalias_fk.py
+++ b/ietf/doc/migrations/0016_set_document_docalias_fk.py
@@ -3,9 +3,6 @@
 # Generated by Django 1.11.20 on 2019-05-08 14:04
 
 
-from __future__ import absolute_import, print_function, unicode_literals
-
-
 import sys
 
 from tqdm import tqdm
diff --git a/ietf/doc/migrations/0017_make_document_id_primary_key.py b/ietf/doc/migrations/0017_make_document_id_primary_key.py
index 3bbaa8176..baadd6f72 100644
--- a/ietf/doc/migrations/0017_make_document_id_primary_key.py
+++ b/ietf/doc/migrations/0017_make_document_id_primary_key.py
@@ -1,10 +1,8 @@
-# Copyright The IETF Trust 2019, All Rights Reserved
+# Copyright The IETF Trust 2019-2020, All Rights Reserved
 # -*- coding: utf-8 -*-
 # Generated by Django 1.11.20 on 2019-05-09 05:46
 
 
-from __future__ import absolute_import, print_function, unicode_literals
-
 from django.db import migrations, models
 
 
diff --git a/ietf/doc/migrations/0018_remove_old_document_field.py b/ietf/doc/migrations/0018_remove_old_document_field.py
index 19a8a4065..887dcc770 100644
--- a/ietf/doc/migrations/0018_remove_old_document_field.py
+++ b/ietf/doc/migrations/0018_remove_old_document_field.py
@@ -1,10 +1,8 @@
-# Copyright The IETF Trust 2019, All Rights Reserved
+# Copyright The IETF Trust 2019-2020, All Rights Reserved
 # -*- coding: utf-8 -*-
 # Generated by Django 1.11.20 on 2019-05-20 09:53
 
 
-from __future__ import absolute_import, print_function, unicode_literals
-
 from django.db import migrations, models
 import django.db.models.deletion
 import ietf.utils.models
diff --git a/ietf/doc/migrations/0019_rename_field_document2.py b/ietf/doc/migrations/0019_rename_field_document2.py
index 396e29c50..517ae9ee7 100644
--- a/ietf/doc/migrations/0019_rename_field_document2.py
+++ b/ietf/doc/migrations/0019_rename_field_document2.py
@@ -1,10 +1,8 @@
-# Copyright The IETF Trust 2019, All Rights Reserved
+# Copyright The IETF Trust 2019-2020, All Rights Reserved
 # -*- coding: utf-8 -*-
 # Generated by Django 1.11.20 on 2019-05-21 05:31
 
 
-from __future__ import absolute_import, print_function, unicode_literals
-
 from django.db import migrations, models
 
 
diff --git a/ietf/doc/migrations/0020_copy_docs_m2m_table.py b/ietf/doc/migrations/0020_copy_docs_m2m_table.py
index 1bc395c33..482c4d785 100644
--- a/ietf/doc/migrations/0020_copy_docs_m2m_table.py
+++ b/ietf/doc/migrations/0020_copy_docs_m2m_table.py
@@ -1,10 +1,8 @@
-# Copyright The IETF Trust 2019, All Rights Reserved
+# Copyright The IETF Trust 2019-2020, All Rights Reserved
 # -*- coding: utf-8 -*-
 # Generated by Django 1.11.20 on 2019-05-21 05:31
 
 
-from __future__ import absolute_import, print_function, unicode_literals
-
 import sys, time
 
 from django.db import migrations
diff --git a/ietf/doc/migrations/0021_remove_docs2_m2m.py b/ietf/doc/migrations/0021_remove_docs2_m2m.py
index 469523732..c659b65de 100644
--- a/ietf/doc/migrations/0021_remove_docs2_m2m.py
+++ b/ietf/doc/migrations/0021_remove_docs2_m2m.py
@@ -1,10 +1,8 @@
-# Copyright The IETF Trust 2019, All Rights Reserved
+# Copyright The IETF Trust 2019-2020, All Rights Reserved
 # -*- coding: utf-8 -*-
 # Generated by Django 1.11.20 on 2019-05-30 03:36
 
 
-from __future__ import absolute_import, print_function, unicode_literals
-
 from django.db import migrations
 
 
diff --git a/ietf/doc/migrations/0022_document_primary_key_cleanup.py b/ietf/doc/migrations/0022_document_primary_key_cleanup.py
index 5b666907c..9ddc908f5 100644
--- a/ietf/doc/migrations/0022_document_primary_key_cleanup.py
+++ b/ietf/doc/migrations/0022_document_primary_key_cleanup.py
@@ -1,10 +1,8 @@
-# Copyright The IETF Trust 2019, All Rights Reserved
+# Copyright The IETF Trust 2019-2020, All Rights Reserved
 # -*- coding: utf-8 -*-
 # Generated by Django 1.11.20 on 2019-06-10 03:47
 
 
-from __future__ import absolute_import, print_function, unicode_literals
-
 from django.db import migrations, models
 import django.db.models.deletion
 import ietf.utils.models
diff --git a/ietf/doc/migrations/0023_one_to_many_docalias.py b/ietf/doc/migrations/0023_one_to_many_docalias.py
index cf7f54756..cf3c8330a 100644
--- a/ietf/doc/migrations/0023_one_to_many_docalias.py
+++ b/ietf/doc/migrations/0023_one_to_many_docalias.py
@@ -1,10 +1,8 @@
-# Copyright The IETF Trust 2019, All Rights Reserved
+# Copyright The IETF Trust 2019-2020, All Rights Reserved
 # -*- coding: utf-8 -*-
 # Generated by Django 1.11.20 on 2019-06-10 04:36
 
 
-from __future__ import absolute_import, print_function, unicode_literals
-
 import sys
 
 from tqdm import tqdm
diff --git a/ietf/doc/migrations/0024_iana_experts.py b/ietf/doc/migrations/0024_iana_experts.py
index 14faf15e1..0922b9c24 100644
--- a/ietf/doc/migrations/0024_iana_experts.py
+++ b/ietf/doc/migrations/0024_iana_experts.py
@@ -1,7 +1,7 @@
-# Copyright The IETF Trust 2019, All Rights Reserved
+# Copyright The IETF Trust 2019-2020, All Rights Reserved
 # -*- coding: utf-8 -*-
 # Generated by Django 1.11.23 on 2019-08-07 12:07
-from __future__ import unicode_literals
+
 
 from django.db import migrations
 
diff --git a/ietf/doc/migrations/0025_ianaexpertdocevent.py b/ietf/doc/migrations/0025_ianaexpertdocevent.py
index e6bbe0fa9..282d506d9 100644
--- a/ietf/doc/migrations/0025_ianaexpertdocevent.py
+++ b/ietf/doc/migrations/0025_ianaexpertdocevent.py
@@ -1,7 +1,7 @@
-# Copyright The IETF Trust 2019, All Rights Reserved
+# Copyright The IETF Trust 2019-2020, All Rights Reserved
 # -*- coding: utf-8 -*-
 # Generated by Django 1.11.23 on 2019-08-07 12:27
-from __future__ import unicode_literals
+
 
 from django.db import migrations, models
 import django.db.models.deletion
diff --git a/ietf/doc/migrations/0026_add_draft_rfceditor_state.py b/ietf/doc/migrations/0026_add_draft_rfceditor_state.py
index 9f51f1529..0490f15ba 100644
--- a/ietf/doc/migrations/0026_add_draft_rfceditor_state.py
+++ b/ietf/doc/migrations/0026_add_draft_rfceditor_state.py
@@ -1,7 +1,6 @@
-# Copyright The IETF Trust 2019, All Rights Reserved
+# Copyright The IETF Trust 2019-2020, All Rights Reserved
 # -*- coding: utf-8 -*-
 
-from __future__ import absolute_import, print_function, unicode_literals
 
 from django.db import migrations
 
diff --git a/ietf/doc/migrations/0027_add_irsg_doc_positions.py b/ietf/doc/migrations/0027_add_irsg_doc_positions.py
index 4bb5f6a5a..e88ac9dda 100644
--- a/ietf/doc/migrations/0027_add_irsg_doc_positions.py
+++ b/ietf/doc/migrations/0027_add_irsg_doc_positions.py
@@ -1,7 +1,7 @@
-# Copyright The IETF Trust 2019, All Rights Reserved
+# Copyright The IETF Trust 2019-2020, All Rights Reserved
 # -*- coding: utf-8 -*-
 # Generated by Django 1.11.22 on 2019-08-03 10:09
-from __future__ import unicode_literals
+
 
 from django.db import migrations
 
diff --git a/ietf/doc/migrations/0028_irsgballotdocevent.py b/ietf/doc/migrations/0028_irsgballotdocevent.py
index b3ecd6814..92f4d52d7 100644
--- a/ietf/doc/migrations/0028_irsgballotdocevent.py
+++ b/ietf/doc/migrations/0028_irsgballotdocevent.py
@@ -1,7 +1,7 @@
-# Copyright The IETF Trust 2019, All Rights Reserved
+# Copyright The IETF Trust 2019-2020, All Rights Reserved
 # -*- coding: utf-8 -*-
 # Generated by Django 1.11.25 on 2019-10-10 10:37
-from __future__ import unicode_literals
+
 
 from django.db import migrations, models
 import django.db.models.deletion
diff --git a/ietf/doc/migrations/0029_add_ipr_event_types.py b/ietf/doc/migrations/0029_add_ipr_event_types.py
index 3c29628e2..08073b16e 100644
--- a/ietf/doc/migrations/0029_add_ipr_event_types.py
+++ b/ietf/doc/migrations/0029_add_ipr_event_types.py
@@ -1,7 +1,7 @@
 # Copyright The IETF Trust 2020, All Rights Reserved
 # -*- coding: utf-8 -*-
 # Generated by Django 1.11.27 on 2020-01-17 11:54
-from __future__ import unicode_literals
+
 
 from django.db import migrations, models
 
diff --git a/ietf/doc/models.py b/ietf/doc/models.py
index eb99dca43..d2304dcbe 100644
--- a/ietf/doc/models.py
+++ b/ietf/doc/models.py
@@ -1,6 +1,6 @@
 # Copyright The IETF Trust 2010-2020, All Rights Reserved
 # -*- coding: utf-8 -*-
-from __future__ import absolute_import, print_function, unicode_literals
+
 
 import datetime
 import logging
diff --git a/ietf/doc/templatetags/ietf_filters.py b/ietf/doc/templatetags/ietf_filters.py
index afb2eacb3..4220b0613 100644
--- a/ietf/doc/templatetags/ietf_filters.py
+++ b/ietf/doc/templatetags/ietf_filters.py
@@ -2,12 +2,9 @@
 # -*- coding: utf-8 -*-
 
 
-from __future__ import absolute_import, print_function, unicode_literals
-
 import bleach
 import datetime
 import re
-import six
 
 from email.utils import parseaddr
 
@@ -118,8 +115,10 @@ def make_one_per_line(value):
     >>> make_one_per_line(None)
 
     """
-    if value and isinstance(value, (six.binary_type, six.text_type)):
+    if value and isinstance(value, str):
         return re.sub(", ?", "\n", value)
+    elif value and isinstance(value, bytes):
+        log.assertion('isinstance(value, str)')
     else:
         return value
 
diff --git a/ietf/doc/templatetags/managed_groups.py b/ietf/doc/templatetags/managed_groups.py
index 53a16d3a2..b291fc324 100644
--- a/ietf/doc/templatetags/managed_groups.py
+++ b/ietf/doc/templatetags/managed_groups.py
@@ -1,9 +1,7 @@
-# Copyright The IETF Trust 2016-2019, All Rights Reserved
+# Copyright The IETF Trust 2016-2020, All Rights Reserved
 # -*- coding: utf-8 -*-
 
 
-from __future__ import absolute_import, print_function, unicode_literals
-
 from django import template
 
 import debug                            # pyflakes:ignore
diff --git a/ietf/doc/tests.py b/ietf/doc/tests.py
index 95033ed77..93b2a71ff 100644
--- a/ietf/doc/tests.py
+++ b/ietf/doc/tests.py
@@ -2,8 +2,6 @@
 # -*- coding: utf-8 -*-
 
 
-from __future__ import absolute_import, print_function, unicode_literals
-
 import os
 import shutil
 import datetime
@@ -17,7 +15,7 @@ if sys.version_info[0] == 2 and sys.version_info[1] < 7:
 else:
     import unittest
 
-from six.moves.http_cookies import SimpleCookie
+from http.cookies import SimpleCookie
 from pyquery import PyQuery
 from urllib.parse import urlparse, parse_qs
 from tempfile import NamedTemporaryFile
diff --git a/ietf/doc/tests_charter.py b/ietf/doc/tests_charter.py
index 8edc49d48..5a8d20e71 100644
--- a/ietf/doc/tests_charter.py
+++ b/ietf/doc/tests_charter.py
@@ -2,8 +2,6 @@
 # Copyright The IETF Trust 2011-2020, All Rights Reserved
 
 
-from __future__ import absolute_import, print_function, unicode_literals
-
 import datetime
 import io
 import os
diff --git a/ietf/doc/tests_conflict_review.py b/ietf/doc/tests_conflict_review.py
index eb1c83371..f3beccf80 100644
--- a/ietf/doc/tests_conflict_review.py
+++ b/ietf/doc/tests_conflict_review.py
@@ -1,9 +1,7 @@
-# Copyright The IETF Trust 2012-2019, All Rights Reserved
+# Copyright The IETF Trust 2012-2020, All Rights Reserved
 # -*- coding: utf-8 -*-
 
 
-from __future__ import absolute_import, print_function, unicode_literals
-
 import io
 import os
 import shutil
diff --git a/ietf/doc/tests_downref.py b/ietf/doc/tests_downref.py
index 714e2d965..62b20db29 100644
--- a/ietf/doc/tests_downref.py
+++ b/ietf/doc/tests_downref.py
@@ -1,10 +1,7 @@
-# Copyright The IETF Trust 2017-2019, All Rights Reserved
+# Copyright The IETF Trust 2017-2020, All Rights Reserved
 # -*- coding: utf-8 -*-
 
 
-from __future__ import absolute_import, print_function, unicode_literals
-
-
 from django.urls import reverse as urlreverse
 from pyquery import PyQuery
 
diff --git a/ietf/doc/tests_draft.py b/ietf/doc/tests_draft.py
index 469cc9661..6d9a50c99 100644
--- a/ietf/doc/tests_draft.py
+++ b/ietf/doc/tests_draft.py
@@ -2,8 +2,6 @@
 # -*- coding: utf-8 -*-
 
 
-from __future__ import absolute_import, print_function, unicode_literals
-
 import os
 import shutil
 import datetime
diff --git a/ietf/doc/tests_material.py b/ietf/doc/tests_material.py
index 4c1d1978a..8d4482139 100644
--- a/ietf/doc/tests_material.py
+++ b/ietf/doc/tests_material.py
@@ -1,9 +1,7 @@
-# Copyright The IETF Trust 2014-2019, All Rights Reserved
+# Copyright The IETF Trust 2014-2020, All Rights Reserved
 # -*- coding: utf-8 -*-
 
 
-from __future__ import absolute_import, print_function, unicode_literals
-
 import os
 import shutil
 import datetime
diff --git a/ietf/doc/tests_review.py b/ietf/doc/tests_review.py
index 1856d5fcb..b558c3f26 100644
--- a/ietf/doc/tests_review.py
+++ b/ietf/doc/tests_review.py
@@ -1,9 +1,7 @@
-# Copyright The IETF Trust 2016-2019, All Rights Reserved
+# Copyright The IETF Trust 2016-2020, All Rights Reserved
 # -*- coding: utf-8 -*-
 
 
-from __future__ import absolute_import, print_function, unicode_literals
-
 import datetime, os, shutil
 import io
 import tarfile, tempfile, mailbox
diff --git a/ietf/doc/tests_status_change.py b/ietf/doc/tests_status_change.py
index 01dd42457..cbfd131f2 100644
--- a/ietf/doc/tests_status_change.py
+++ b/ietf/doc/tests_status_change.py
@@ -1,9 +1,7 @@
-# Copyright The IETF Trust 2013-2019, All Rights Reserved
+# Copyright The IETF Trust 2013-2020, All Rights Reserved
 # -*- coding: utf-8 -*-
 
 
-from __future__ import absolute_import, print_function, unicode_literals
-
 import io
 import os
 import shutil
diff --git a/ietf/doc/urls.py b/ietf/doc/urls.py
index 9038ff1bb..1bef6f9ed 100644
--- a/ietf/doc/urls.py
+++ b/ietf/doc/urls.py
@@ -1,4 +1,4 @@
-# Copyright The IETF Trust 2009-2019, All Rights Reserved
+# Copyright The IETF Trust 2009-2020, All Rights Reserved
 # -*- coding: utf-8 -*-
 # Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
 # All rights reserved. Contact: Pasi Eronen <pasi.eronen@nokia.com>
@@ -33,8 +33,6 @@
 # OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 
 
-from __future__ import absolute_import, print_function, unicode_literals
-
 from django.conf.urls import include
 from django.views.generic import RedirectView
 from django.conf import settings
diff --git a/ietf/doc/urls_conflict_review.py b/ietf/doc/urls_conflict_review.py
index 3e244d852..aaad3259b 100644
--- a/ietf/doc/urls_conflict_review.py
+++ b/ietf/doc/urls_conflict_review.py
@@ -1,9 +1,7 @@
-# Copyright The IETF Trust 2012-2019, All Rights Reserved
+# Copyright The IETF Trust 2012-2020, All Rights Reserved
 # -*- coding: utf-8 -*-
 
 
-from __future__ import absolute_import, print_function, unicode_literals
-
 from ietf.doc import views_conflict_review, views_doc
 from ietf.utils.urls import url
 
diff --git a/ietf/doc/utils.py b/ietf/doc/utils.py
index f2f785a68..a9dbb0127 100644
--- a/ietf/doc/utils.py
+++ b/ietf/doc/utils.py
@@ -2,8 +2,6 @@
 # -*- coding: utf-8 -*-
 
 
-from __future__ import absolute_import, print_function, unicode_literals
-
 import datetime
 import hashlib
 import io
diff --git a/ietf/doc/utils_charter.py b/ietf/doc/utils_charter.py
index 7b44ad3ff..ec3fe6fd0 100644
--- a/ietf/doc/utils_charter.py
+++ b/ietf/doc/utils_charter.py
@@ -1,9 +1,7 @@
-# Copyright The IETF Trust 2011-2019, All Rights Reserved
+# Copyright The IETF Trust 2011-2020, All Rights Reserved
 # -*- coding: utf-8 -*-
 
 
-from __future__ import absolute_import, print_function, unicode_literals
-
 import datetime
 import io
 import os
diff --git a/ietf/doc/utils_search.py b/ietf/doc/utils_search.py
index 47383a12d..a5e92a283 100644
--- a/ietf/doc/utils_search.py
+++ b/ietf/doc/utils_search.py
@@ -1,9 +1,7 @@
-# Copyright The IETF Trust 2016-2019, All Rights Reserved
+# Copyright The IETF Trust 2016-2020, All Rights Reserved
 # -*- coding: utf-8 -*-
 
 
-from __future__ import absolute_import, print_function, unicode_literals
-
 import datetime
 import debug                            # pyflakes:ignore
 
diff --git a/ietf/doc/views_ballot.py b/ietf/doc/views_ballot.py
index 1722aab30..02ef19b37 100644
--- a/ietf/doc/views_ballot.py
+++ b/ietf/doc/views_ballot.py
@@ -4,8 +4,6 @@
 # Directors and Secretariat
 
 
-from __future__ import absolute_import, print_function, unicode_literals
-
 import datetime, json
 
 from django import forms
diff --git a/ietf/doc/views_charter.py b/ietf/doc/views_charter.py
index 8234be4f0..632ab4364 100644
--- a/ietf/doc/views_charter.py
+++ b/ietf/doc/views_charter.py
@@ -2,8 +2,6 @@
 # -*- coding: utf-8 -*-
 
 
-from __future__ import absolute_import, print_function, unicode_literals
-
 import datetime
 import io
 import json
diff --git a/ietf/doc/views_conflict_review.py b/ietf/doc/views_conflict_review.py
index e7545bdf7..dd41021bc 100644
--- a/ietf/doc/views_conflict_review.py
+++ b/ietf/doc/views_conflict_review.py
@@ -1,9 +1,7 @@
-# Copyright The IETF Trust 2012-2019, All Rights Reserved
+# Copyright The IETF Trust 2012-2020, All Rights Reserved
 # -*- coding: utf-8 -*-
 
 
-from __future__ import absolute_import, print_function, unicode_literals
-
 import datetime
 import io
 import os
diff --git a/ietf/doc/views_doc.py b/ietf/doc/views_doc.py
index 107b5d764..088557f52 100644
--- a/ietf/doc/views_doc.py
+++ b/ietf/doc/views_doc.py
@@ -34,8 +34,6 @@
 # OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 
 
-from __future__ import absolute_import, print_function, unicode_literals
-
 import datetime
 import glob
 import io
diff --git a/ietf/doc/views_downref.py b/ietf/doc/views_downref.py
index 4336566f8..1b7b51edb 100644
--- a/ietf/doc/views_downref.py
+++ b/ietf/doc/views_downref.py
@@ -1,10 +1,7 @@
-# Copyright The IETF Trust 2017-2019, All Rights Reserved
+# Copyright The IETF Trust 2017-2020, All Rights Reserved
 # -*- coding: utf-8 -*-
 
 
-from __future__ import absolute_import, print_function, unicode_literals
-
-
 from django.urls import reverse as urlreverse
 from django.http import HttpResponseRedirect
 from django.shortcuts import render
diff --git a/ietf/doc/views_draft.py b/ietf/doc/views_draft.py
index 0c87330bc..9b025956e 100644
--- a/ietf/doc/views_draft.py
+++ b/ietf/doc/views_draft.py
@@ -2,8 +2,6 @@
 # -*- coding: utf-8 -*-
 
 
-from __future__ import absolute_import, print_function, unicode_literals
-
 # changing state and metadata on Internet Drafts
 
 import datetime
diff --git a/ietf/doc/views_material.py b/ietf/doc/views_material.py
index d8b3847c3..46a24fd90 100644
--- a/ietf/doc/views_material.py
+++ b/ietf/doc/views_material.py
@@ -1,9 +1,7 @@
-# Copyright The IETF Trust 2014-2019, All Rights Reserved
+# Copyright The IETF Trust 2014-2020, All Rights Reserved
 # -*- coding: utf-8 -*-
 
 
-from __future__ import absolute_import, print_function, unicode_literals
-
 # views for managing group materials (slides, ...)
 import io
 import os
diff --git a/ietf/doc/views_review.py b/ietf/doc/views_review.py
index 01a0606a4..9cb0496c7 100644
--- a/ietf/doc/views_review.py
+++ b/ietf/doc/views_review.py
@@ -2,8 +2,6 @@
 # -*- coding: utf-8 -*-
 
 
-from __future__ import absolute_import, print_function, unicode_literals
-
 import io
 import itertools
 import json
diff --git a/ietf/doc/views_search.py b/ietf/doc/views_search.py
index efe5db170..106850f27 100644
--- a/ietf/doc/views_search.py
+++ b/ietf/doc/views_search.py
@@ -1,4 +1,4 @@
-# Copyright The IETF Trust 2009-2019, All Rights Reserved
+# Copyright The IETF Trust 2009-2020, All Rights Reserved
 # -*- coding: utf-8 -*-
 #
 # Some parts Copyright (C) 2009-2010 Nokia Corporation and/or its subsidiary(-ies).
@@ -34,8 +34,6 @@
 # OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 
 
-from __future__ import absolute_import, print_function, unicode_literals
-
 import re
 import datetime
 
diff --git a/ietf/doc/views_status_change.py b/ietf/doc/views_status_change.py
index 50d4ffe4d..b5f628e2e 100644
--- a/ietf/doc/views_status_change.py
+++ b/ietf/doc/views_status_change.py
@@ -2,8 +2,6 @@
 # -*- coding: utf-8 -*-
 
 
-from __future__ import absolute_import, print_function, unicode_literals
-
 import datetime
 import io
 import os
diff --git a/ietf/group/admin.py b/ietf/group/admin.py
index ca72a4397..cbfcc24b6 100644
--- a/ietf/group/admin.py
+++ b/ietf/group/admin.py
@@ -1,9 +1,7 @@
-# Copyright The IETF Trust 2010-2019, All Rights Reserved
+# Copyright The IETF Trust 2010-2020, All Rights Reserved
 # -*- coding: utf-8 -*-
 
 
-from __future__ import absolute_import, print_function, unicode_literals
-
 from functools import update_wrapper
 
 from django.contrib import admin
diff --git a/ietf/group/dot.py b/ietf/group/dot.py
index 0efc40545..e5fa1b297 100644
--- a/ietf/group/dot.py
+++ b/ietf/group/dot.py
@@ -1,10 +1,8 @@
-# Copyright The IETF Trust 2017-2019, All Rights Reserved
+# Copyright The IETF Trust 2017-2020, All Rights Reserved
 # -*- coding: utf-8 -*-
 # -*- check-flake8 -*-
 
 
-from __future__ import absolute_import, print_function, unicode_literals
-
 from django.db.models import Q
 from django.template.loader import render_to_string
 
diff --git a/ietf/group/feeds.py b/ietf/group/feeds.py
index 8cc8a98ee..10713f91f 100644
--- a/ietf/group/feeds.py
+++ b/ietf/group/feeds.py
@@ -1,9 +1,7 @@
-# Copyright The IETF Trust 2011-2019, All Rights Reserved
+# Copyright The IETF Trust 2011-2020, All Rights Reserved
 # -*- coding: utf-8 -*-
 
 
-from __future__ import absolute_import, print_function, unicode_literals
-
 from django.contrib.syndication.views import Feed, FeedDoesNotExist
 from django.utils.feedgenerator import Atom1Feed
 from django.urls import reverse as urlreverse
diff --git a/ietf/group/forms.py b/ietf/group/forms.py
index 2e68461be..573c4a6f0 100644
--- a/ietf/group/forms.py
+++ b/ietf/group/forms.py
@@ -1,9 +1,7 @@
-# Copyright The IETF Trust 2017-2019, All Rights Reserved
+# Copyright The IETF Trust 2017-2020, All Rights Reserved
 # -*- coding: utf-8 -*-
 
 
-from __future__ import absolute_import, print_function, unicode_literals
-
 # Stdlib imports
 import datetime
 import re
diff --git a/ietf/group/mails.py b/ietf/group/mails.py
index 9adcbc4d1..6ebf5b0f1 100644
--- a/ietf/group/mails.py
+++ b/ietf/group/mails.py
@@ -1,10 +1,8 @@
-# Copyright The IETF Trust 2012-2019, All Rights Reserved
+# Copyright The IETF Trust 2012-2020, All Rights Reserved
 # -*- coding: utf-8 -*-
 # generation of mails 
 
 
-from __future__ import absolute_import, print_function, unicode_literals
-
 import re
 
 
diff --git a/ietf/group/management/commands/show_group_features.py b/ietf/group/management/commands/show_group_features.py
index 75789d23f..645eb0958 100644
--- a/ietf/group/management/commands/show_group_features.py
+++ b/ietf/group/management/commands/show_group_features.py
@@ -1,9 +1,7 @@
-# Copyright The IETF Trust 2019, All Rights Reserved
+# Copyright The IETF Trust 2019-2020, All Rights Reserved
 # -*- coding: utf-8 -*-
 
 
-from __future__ import absolute_import, print_function, unicode_literals
-
 import collections
 
 from django.core.management.base import BaseCommand
diff --git a/ietf/group/migrations/0001_initial.py b/ietf/group/migrations/0001_initial.py
index faebd4811..740d5315b 100644
--- a/ietf/group/migrations/0001_initial.py
+++ b/ietf/group/migrations/0001_initial.py
@@ -1,10 +1,8 @@
-# Copyright The IETF Trust 2018-2019, All Rights Reserved
+# Copyright The IETF Trust 2018-2020, All Rights Reserved
 # -*- coding: utf-8 -*-
 # Generated by Django 1.11.10 on 2018-02-20 10:52
 
 
-from __future__ import absolute_import, print_function, unicode_literals
-
 import datetime
 from django.db import migrations, models
 import django.db.models.deletion
diff --git a/ietf/group/migrations/0002_groupfeatures_historicalgroupfeatures.py b/ietf/group/migrations/0002_groupfeatures_historicalgroupfeatures.py
index b26fa386a..7828722cc 100644
--- a/ietf/group/migrations/0002_groupfeatures_historicalgroupfeatures.py
+++ b/ietf/group/migrations/0002_groupfeatures_historicalgroupfeatures.py
@@ -1,10 +1,8 @@
-# Copyright The IETF Trust 2018-2019, All Rights Reserved
+# Copyright The IETF Trust 2018-2020, All Rights Reserved
 # -*- coding: utf-8 -*-
 # Generated by Django 1.11.13 on 2018-07-10 15:58
 
 
-from __future__ import absolute_import, print_function, unicode_literals
-
 import django.core.validators
 import django.db.models.deletion
 
diff --git a/ietf/group/migrations/0003_groupfeatures_data.py b/ietf/group/migrations/0003_groupfeatures_data.py
index 6d78632ed..1e46f1df5 100644
--- a/ietf/group/migrations/0003_groupfeatures_data.py
+++ b/ietf/group/migrations/0003_groupfeatures_data.py
@@ -1,10 +1,8 @@
-# Copyright The IETF Trust 2018-2019, All Rights Reserved
+# Copyright The IETF Trust 2018-2020, All Rights Reserved
 # -*- coding: utf-8 -*-
 # Generated by Django 1.11.13 on 2018-07-10 15:58
 
 
-from __future__ import absolute_import, print_function, unicode_literals
-
 from django.conf import settings
 from django.db import migrations
 
diff --git a/ietf/group/migrations/0004_add_group_feature_fields.py b/ietf/group/migrations/0004_add_group_feature_fields.py
index e103bc028..681232f6c 100644
--- a/ietf/group/migrations/0004_add_group_feature_fields.py
+++ b/ietf/group/migrations/0004_add_group_feature_fields.py
@@ -1,10 +1,8 @@
-# Copyright The IETF Trust 2019, All Rights Reserved
+# Copyright The IETF Trust 2019-2020, All Rights Reserved
 # -*- coding: utf-8 -*-
 # Generated by Django 1.11.16 on 2019-01-10 07:51
 
 
-from __future__ import absolute_import, print_function, unicode_literals
-
 import django.core.validators
 from django.db import migrations, models
 
diff --git a/ietf/group/migrations/0005_group_features_list_data_to_json.py b/ietf/group/migrations/0005_group_features_list_data_to_json.py
index 604cdecd7..68727ffe4 100644
--- a/ietf/group/migrations/0005_group_features_list_data_to_json.py
+++ b/ietf/group/migrations/0005_group_features_list_data_to_json.py
@@ -1,10 +1,8 @@
-# Copyright The IETF Trust 2019, All Rights Reserved
+# Copyright The IETF Trust 2019-2020, All Rights Reserved
 # -*- coding: utf-8 -*-
 # Generated by Django 1.11.16 on 2019-01-09 09:02
 
 
-from __future__ import absolute_import, print_function, unicode_literals
-
 import json
 import re
 
diff --git a/ietf/group/migrations/0006_group_features_lists_to_jsonfield.py b/ietf/group/migrations/0006_group_features_lists_to_jsonfield.py
index f332cd058..76412c821 100644
--- a/ietf/group/migrations/0006_group_features_lists_to_jsonfield.py
+++ b/ietf/group/migrations/0006_group_features_lists_to_jsonfield.py
@@ -1,10 +1,8 @@
-# Copyright The IETF Trust 2019, All Rights Reserved
+# Copyright The IETF Trust 2019-2020, All Rights Reserved
 # -*- coding: utf-8 -*-
 # Generated by Django 1.11.16 on 2019-01-16 05:53
 
 
-from __future__ import absolute_import, print_function, unicode_literals
-
 from django.db import migrations, models
 import jsonfield.fields
 
diff --git a/ietf/group/migrations/0007_new_group_features_data.py b/ietf/group/migrations/0007_new_group_features_data.py
index 35b28609d..b08e7f8ae 100644
--- a/ietf/group/migrations/0007_new_group_features_data.py
+++ b/ietf/group/migrations/0007_new_group_features_data.py
@@ -1,11 +1,8 @@
-# Copyright The IETF Trust 2019, All Rights Reserved
+# Copyright The IETF Trust 2019-2020, All Rights Reserved
 # -*- coding: utf-8 -*-
 # Generated by Django 1.11.16 on 2019-01-09 09:02
 
 
-from __future__ import absolute_import, print_function, unicode_literals
-
-
 from django.db import migrations
 
 import debug                            # pyflakes:ignore
diff --git a/ietf/group/migrations/0008_group_features_onetoone.py b/ietf/group/migrations/0008_group_features_onetoone.py
index 27883d18f..86bfacc1e 100644
--- a/ietf/group/migrations/0008_group_features_onetoone.py
+++ b/ietf/group/migrations/0008_group_features_onetoone.py
@@ -1,10 +1,8 @@
-# Copyright The IETF Trust 2019, All Rights Reserved
+# Copyright The IETF Trust 2019-2020, All Rights Reserved
 # -*- coding: utf-8 -*-
 # Generated by Django 1.11.16 on 2019-01-19 10:08
 
 
-from __future__ import absolute_import, print_function, unicode_literals
-
 from django.db import migrations, models
 import django.db.models.deletion
 import ietf.utils.models
diff --git a/ietf/group/migrations/0009_auto_20190122_1012.py b/ietf/group/migrations/0009_auto_20190122_1012.py
index b026bee72..397757404 100644
--- a/ietf/group/migrations/0009_auto_20190122_1012.py
+++ b/ietf/group/migrations/0009_auto_20190122_1012.py
@@ -1,10 +1,8 @@
-# Copyright The IETF Trust 2019, All Rights Reserved
+# Copyright The IETF Trust 2019-2020, All Rights Reserved
 # -*- coding: utf-8 -*-
 # Generated by Django 1.11.18 on 2019-01-22 10:12
 
 
-from __future__ import absolute_import, print_function, unicode_literals
-
 from django.db import migrations, models
 import django.db.models.deletion
 
diff --git a/ietf/group/migrations/0010_add_group_types.py b/ietf/group/migrations/0010_add_group_types.py
index c32d73f26..59c2c07f7 100644
--- a/ietf/group/migrations/0010_add_group_types.py
+++ b/ietf/group/migrations/0010_add_group_types.py
@@ -1,11 +1,8 @@
-# Copyright The IETF Trust 2019, All Rights Reserved
+# Copyright The IETF Trust 2019-2020, All Rights Reserved
 # -*- coding: utf-8 -*-
 # Generated by Django 1.11.16 on 2019-01-09 09:02
 
 
-from __future__ import absolute_import, print_function, unicode_literals
-
-
 from django.db import migrations
 
 import debug                            # pyflakes:ignore
diff --git a/ietf/group/migrations/0011_auto_20190225_1302.py b/ietf/group/migrations/0011_auto_20190225_1302.py
index 0dfa13f25..1b5e45e2e 100644
--- a/ietf/group/migrations/0011_auto_20190225_1302.py
+++ b/ietf/group/migrations/0011_auto_20190225_1302.py
@@ -1,10 +1,8 @@
-# Copyright The IETF Trust 2019, All Rights Reserved
+# Copyright The IETF Trust 2019-2020, All Rights Reserved
 # -*- coding: utf-8 -*-
 # Generated by Django 1.11.20 on 2019-02-25 13:02
 
 
-from __future__ import absolute_import, print_function, unicode_literals
-
 from django.db import migrations
 
 
diff --git a/ietf/group/migrations/0012_add_old_nomcom_announcements.py b/ietf/group/migrations/0012_add_old_nomcom_announcements.py
index 50308af2c..3aa65bc91 100644
--- a/ietf/group/migrations/0012_add_old_nomcom_announcements.py
+++ b/ietf/group/migrations/0012_add_old_nomcom_announcements.py
@@ -1,10 +1,8 @@
-# Copyright The IETF Trust 2019, All Rights Reserved
+# Copyright The IETF Trust 2019-2020, All Rights Reserved
 # -*- coding: utf-8 -*-
 # Generated by Django 1.11.20 on 2019-03-23 17:50
 
 
-from __future__ import absolute_import, print_function, unicode_literals
-
 from django.db import migrations
 
 from ietf.group.models import Group 
diff --git a/ietf/group/migrations/0013_add_groupmilestone_docs2_m2m.py b/ietf/group/migrations/0013_add_groupmilestone_docs2_m2m.py
index d3422419e..dd1eba669 100644
--- a/ietf/group/migrations/0013_add_groupmilestone_docs2_m2m.py
+++ b/ietf/group/migrations/0013_add_groupmilestone_docs2_m2m.py
@@ -1,10 +1,8 @@
-# Copyright The IETF Trust 2019, All Rights Reserved
+# Copyright The IETF Trust 2019-2020, All Rights Reserved
 # -*- coding: utf-8 -*-
 # Generated by Django 1.11.20 on 2019-02-25 13:02
 
 
-from __future__ import absolute_import, print_function, unicode_literals
-
 from django.db import migrations, models
 import django.db.models.deletion
 import ietf.utils.models
diff --git a/ietf/group/migrations/0014_set_document_m2m_keys.py b/ietf/group/migrations/0014_set_document_m2m_keys.py
index 46311d284..f886a9006 100644
--- a/ietf/group/migrations/0014_set_document_m2m_keys.py
+++ b/ietf/group/migrations/0014_set_document_m2m_keys.py
@@ -1,10 +1,8 @@
-# Copyright The IETF Trust 2019, All Rights Reserved
+# Copyright The IETF Trust 2019-2020, All Rights Reserved
 # -*- coding: utf-8 -*-
 # Generated by Django 1.11.20 on 2019-05-10 06:48
 
 
-from __future__ import absolute_import, print_function, unicode_literals
-
 import sys
 
 from tqdm import tqdm
diff --git a/ietf/group/migrations/0015_1_del_docs_m2m_table.py b/ietf/group/migrations/0015_1_del_docs_m2m_table.py
index 1f9868880..717eccaa7 100644
--- a/ietf/group/migrations/0015_1_del_docs_m2m_table.py
+++ b/ietf/group/migrations/0015_1_del_docs_m2m_table.py
@@ -1,10 +1,8 @@
-# Copyright The IETF Trust 2019, All Rights Reserved
+# Copyright The IETF Trust 2019-2020, All Rights Reserved
 # -*- coding: utf-8 -*-
 # Generated by Django 1.11.20 on 2019-05-22 08:00
 
 
-from __future__ import absolute_import, print_function, unicode_literals
-
 from django.db import migrations, models
 
 
diff --git a/ietf/group/migrations/0015_2_add_docs_m2m_table.py b/ietf/group/migrations/0015_2_add_docs_m2m_table.py
index 02d16942c..e7c0e3bfb 100644
--- a/ietf/group/migrations/0015_2_add_docs_m2m_table.py
+++ b/ietf/group/migrations/0015_2_add_docs_m2m_table.py
@@ -1,10 +1,8 @@
-# Copyright The IETF Trust 2019, All Rights Reserved
+# Copyright The IETF Trust 2019-2020, All Rights Reserved
 # -*- coding: utf-8 -*-
 # Generated by Django 1.11.20 on 2019-05-22 08:00
 
 
-from __future__ import absolute_import, print_function, unicode_literals
-
 from django.db import migrations, models
 
 
diff --git a/ietf/group/migrations/0016_copy_docs_m2m_table.py b/ietf/group/migrations/0016_copy_docs_m2m_table.py
index 0b34ff7ff..2871c34a9 100644
--- a/ietf/group/migrations/0016_copy_docs_m2m_table.py
+++ b/ietf/group/migrations/0016_copy_docs_m2m_table.py
@@ -1,10 +1,8 @@
-# Copyright The IETF Trust 2019, All Rights Reserved
+# Copyright The IETF Trust 2019-2020, All Rights Reserved
 # -*- coding: utf-8 -*-
 # Generated by Django 1.11.20 on 2019-05-27 05:57
 
 
-from __future__ import absolute_import, print_function, unicode_literals
-
 import sys, time
 
 from tqdm import tqdm
diff --git a/ietf/group/migrations/0017_remove_docs2_m2m.py b/ietf/group/migrations/0017_remove_docs2_m2m.py
index 0839ace4f..00a44303d 100644
--- a/ietf/group/migrations/0017_remove_docs2_m2m.py
+++ b/ietf/group/migrations/0017_remove_docs2_m2m.py
@@ -1,10 +1,8 @@
-# Copyright The IETF Trust 2019, All Rights Reserved
+# Copyright The IETF Trust 2019-2020, All Rights Reserved
 # -*- coding: utf-8 -*-
 # Generated by Django 1.11.20 on 2019-05-30 03:23
 
 
-from __future__ import absolute_import, print_function, unicode_literals
-
 from django.db import migrations
 
 
diff --git a/ietf/group/migrations/0018_remove_old_document_field.py b/ietf/group/migrations/0018_remove_old_document_field.py
index 46b165e29..5a47e545c 100644
--- a/ietf/group/migrations/0018_remove_old_document_field.py
+++ b/ietf/group/migrations/0018_remove_old_document_field.py
@@ -1,10 +1,8 @@
-# Copyright The IETF Trust 2019, All Rights Reserved
+# Copyright The IETF Trust 2019-2020, All Rights Reserved
 # -*- coding: utf-8 -*-
 # Generated by Django 1.11.20 on 2019-05-25 06:51
 
 
-from __future__ import absolute_import, print_function, unicode_literals
-
 from django.db import migrations
 
 
diff --git a/ietf/group/migrations/0019_rename_field_document2.py b/ietf/group/migrations/0019_rename_field_document2.py
index ee6747514..438c669d2 100644
--- a/ietf/group/migrations/0019_rename_field_document2.py
+++ b/ietf/group/migrations/0019_rename_field_document2.py
@@ -1,10 +1,8 @@
-# Copyright The IETF Trust 2019, All Rights Reserved
+# Copyright The IETF Trust 2019-2020, All Rights Reserved
 # -*- coding: utf-8 -*-
 # Generated by Django 1.11.20 on 2019-05-25 06:52
 
 
-from __future__ import absolute_import, print_function, unicode_literals
-
 from django.db import migrations
 
 
diff --git a/ietf/group/migrations/0020_add_uses_milestone_dates.py b/ietf/group/migrations/0020_add_uses_milestone_dates.py
index 1dc7c3e33..a14b49fbe 100644
--- a/ietf/group/migrations/0020_add_uses_milestone_dates.py
+++ b/ietf/group/migrations/0020_add_uses_milestone_dates.py
@@ -1,7 +1,7 @@
 # Copyright The IETF Trust 2019-2020, All Rights Reserved
 # -*- coding: utf-8 -*-
 # Generated by Django 1.11.25 on 2019-10-30 11:41
-from __future__ import unicode_literals
+
 
 from django.db import migrations, models
 
diff --git a/ietf/group/migrations/0021_add_order_to_milestones.py b/ietf/group/migrations/0021_add_order_to_milestones.py
index bf0be03c9..22f40af6c 100644
--- a/ietf/group/migrations/0021_add_order_to_milestones.py
+++ b/ietf/group/migrations/0021_add_order_to_milestones.py
@@ -1,7 +1,7 @@
 # Copyright The IETF Trust 2019-2020, All Rights Reserved
 # -*- coding: utf-8 -*-
 # Generated by Django 1.11.25 on 2019-10-30 13:37
-from __future__ import unicode_literals
+
 
 from django.db import migrations, models
 
diff --git a/ietf/group/migrations/0022_populate_uses_milestone_dates.py b/ietf/group/migrations/0022_populate_uses_milestone_dates.py
index 43ab00977..a7b7d3eaa 100644
--- a/ietf/group/migrations/0022_populate_uses_milestone_dates.py
+++ b/ietf/group/migrations/0022_populate_uses_milestone_dates.py
@@ -1,7 +1,7 @@
 # Copyright The IETF Trust 2019-2020, All Rights Reserved
 # -*- coding: utf-8 -*-
 # Generated by Django 1.11.25 on 2019-10-30 11:42
-from __future__ import unicode_literals
+
 
 from django.db import migrations
 
diff --git a/ietf/group/migrations/0023_use_milestone_dates_default_to_true.py b/ietf/group/migrations/0023_use_milestone_dates_default_to_true.py
index 7e9433e26..440fce54a 100644
--- a/ietf/group/migrations/0023_use_milestone_dates_default_to_true.py
+++ b/ietf/group/migrations/0023_use_milestone_dates_default_to_true.py
@@ -1,7 +1,7 @@
 # -*- coding: utf-8 -*-
 # Copyright The IETF Trust 2020, All Rights Reserved
 # Generated by Django 1.11.28 on 2020-02-11 07:47
-from __future__ import unicode_literals
+
 
 from django.db import migrations, models
 
diff --git a/ietf/group/models.py b/ietf/group/models.py
index 09820841a..e79431b90 100644
--- a/ietf/group/models.py
+++ b/ietf/group/models.py
@@ -1,6 +1,6 @@
 # Copyright The IETF Trust 2010-2020, All Rights Reserved
 # -*- coding: utf-8 -*-
-from __future__ import absolute_import, print_function, unicode_literals
+
 
 import datetime
 import email.utils
diff --git a/ietf/group/tests.py b/ietf/group/tests.py
index 1fbe40cb6..04e3ac78c 100644
--- a/ietf/group/tests.py
+++ b/ietf/group/tests.py
@@ -1,9 +1,7 @@
-# Copyright The IETF Trust 2013-2019, All Rights Reserved
+# Copyright The IETF Trust 2013-2020, All Rights Reserved
 # -*- coding: utf-8 -*-
 
 
-from __future__ import absolute_import, print_function, unicode_literals
-
 import os
 from unittest import skipIf
 
diff --git a/ietf/group/tests_info.py b/ietf/group/tests_info.py
index ae2aed9d5..b6760ac99 100644
--- a/ietf/group/tests_info.py
+++ b/ietf/group/tests_info.py
@@ -2,8 +2,6 @@
 # -*- coding: utf-8 -*-
 
 
-from __future__ import absolute_import, print_function, unicode_literals
-
 import os
 import shutil
 import calendar
diff --git a/ietf/group/tests_review.py b/ietf/group/tests_review.py
index 2f9058c0a..d76835c09 100644
--- a/ietf/group/tests_review.py
+++ b/ietf/group/tests_review.py
@@ -2,8 +2,6 @@
 # -*- coding: utf-8 -*-
 
 
-from __future__ import absolute_import, print_function, unicode_literals
-
 import datetime
 import debug      # pyflakes:ignore
 
diff --git a/ietf/group/utils.py b/ietf/group/utils.py
index 39891689b..9f8fb0bc1 100644
--- a/ietf/group/utils.py
+++ b/ietf/group/utils.py
@@ -1,9 +1,7 @@
-# Copyright The IETF Trust 2012-2019, All Rights Reserved
+# Copyright The IETF Trust 2012-2020, All Rights Reserved
 # -*- coding: utf-8 -*-
 
 
-from __future__ import absolute_import, print_function, unicode_literals
-
 import io
 import os
 
diff --git a/ietf/group/views.py b/ietf/group/views.py
index 90429a4e7..15532cac7 100644
--- a/ietf/group/views.py
+++ b/ietf/group/views.py
@@ -34,8 +34,6 @@
 # OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 
 
-from __future__ import absolute_import, print_function, unicode_literals
-
 import copy
 import datetime
 import itertools
diff --git a/ietf/idindex/generate_all_id2_txt.py b/ietf/idindex/generate_all_id2_txt.py
index 43a137bde..91ef549cb 100755
--- a/ietf/idindex/generate_all_id2_txt.py
+++ b/ietf/idindex/generate_all_id2_txt.py
@@ -35,10 +35,7 @@
 # OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 
 
-from __future__ import absolute_import, print_function, unicode_literals
-
 import os
-import six
 import sys
 
 os.environ.setdefault("DJANGO_SETTINGS_MODULE", "ietf.settings")
@@ -47,7 +44,5 @@ import django
 django.setup()
 
 from ietf.idindex.index import all_id2_txt
-if six.PY3:
-    sys.stdout.write(all_id2_txt())
-else:
-    sys.stdout.write(all_id2_txt().encode('utf-8'))
+
+sys.stdout.write(all_id2_txt())
diff --git a/ietf/idindex/generate_all_id_txt.py b/ietf/idindex/generate_all_id_txt.py
index dffa650c8..b953f0004 100755
--- a/ietf/idindex/generate_all_id_txt.py
+++ b/ietf/idindex/generate_all_id_txt.py
@@ -34,10 +34,7 @@
 # OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 
 
-from __future__ import absolute_import, print_function, unicode_literals
-
 import os
-import six
 import sys
 os.environ.setdefault("DJANGO_SETTINGS_MODULE", "ietf.settings")
 
@@ -45,7 +42,5 @@ import django
 django.setup()
 
 from ietf.idindex.index import all_id_txt
-if six.PY3:
-    sys.stdout.write(all_id_txt())
-else:
-    sys.stdout.write(all_id_txt().encode('utf-8'))
+
+sys.stdout.write(all_id_txt())
diff --git a/ietf/idindex/generate_id_abstracts_txt.py b/ietf/idindex/generate_id_abstracts_txt.py
index fce23dea0..62e43c496 100755
--- a/ietf/idindex/generate_id_abstracts_txt.py
+++ b/ietf/idindex/generate_id_abstracts_txt.py
@@ -34,10 +34,7 @@
 # OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 
 
-from __future__ import absolute_import, print_function, unicode_literals
-
 import os
-import six
 import sys
 os.environ.setdefault("DJANGO_SETTINGS_MODULE", "ietf.settings")
 
@@ -45,8 +42,6 @@ import django
 django.setup()
 
 from ietf.idindex.index import id_index_txt
-if six.PY3:
-    sys.stdout.write(id_index_txt(with_abstracts=True))
-else:
-    sys.stdout.write(id_index_txt(with_abstracts=True).encode('utf-8'))
+
+sys.stdout.write(id_index_txt(with_abstracts=True))
 
diff --git a/ietf/idindex/generate_id_index_txt.py b/ietf/idindex/generate_id_index_txt.py
index 6a32ebced..6a27dfdac 100755
--- a/ietf/idindex/generate_id_index_txt.py
+++ b/ietf/idindex/generate_id_index_txt.py
@@ -34,10 +34,7 @@
 # OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 
 
-from __future__ import absolute_import, print_function, unicode_literals
-
 import os
-import six
 import sys
 os.environ.setdefault("DJANGO_SETTINGS_MODULE", "ietf.settings")
 
@@ -45,8 +42,6 @@ import django
 django.setup()
 
 from ietf.idindex.index import id_index_txt
-if six.PY3:
-    sys.stdout.write(id_index_txt())
-else:
-    sys.stdout.write(id_index_txt().encode('utf-8'))
+
+sys.stdout.write(id_index_txt())
 
diff --git a/ietf/idindex/index.py b/ietf/idindex/index.py
index 35197cdb4..3dbf0ee76 100644
--- a/ietf/idindex/index.py
+++ b/ietf/idindex/index.py
@@ -2,8 +2,6 @@
 # -*- coding: utf-8 -*-
 
 
-from __future__ import absolute_import, print_function, unicode_literals
-
 # code to generate plain-text index files that are placed on
 # www.ietf.org in the same directory as the I-Ds
 
diff --git a/ietf/idindex/tests.py b/ietf/idindex/tests.py
index 4b234f412..101d9aa26 100644
--- a/ietf/idindex/tests.py
+++ b/ietf/idindex/tests.py
@@ -2,8 +2,6 @@
 # -*- coding: utf-8 -*-
 
 
-from __future__ import absolute_import, print_function, unicode_literals
-
 import datetime
 import io
 import os
diff --git a/ietf/iesg/__init__.py b/ietf/iesg/__init__.py
index 78e8b3ff8..f53d26ebf 100644
--- a/ietf/iesg/__init__.py
+++ b/ietf/iesg/__init__.py
@@ -1,9 +1,7 @@
-# Copyright The IETF Trust 2007-2019, All Rights Reserved
+# Copyright The IETF Trust 2007-2020, All Rights Reserved
 # -*- coding: utf-8 -*-
 
 
-from __future__ import absolute_import, print_function, unicode_literals
-
 from types import ModuleType
 
 # These people will be sent a stack trace if there's an uncaught exception in
diff --git a/ietf/iesg/agenda.py b/ietf/iesg/agenda.py
index cabe85af2..3783ad25e 100644
--- a/ietf/iesg/agenda.py
+++ b/ietf/iesg/agenda.py
@@ -1,9 +1,7 @@
-# Copyright The IETF Trust 2013-2019, All Rights Reserved
+# Copyright The IETF Trust 2013-2020, All Rights Reserved
 # -*- coding: utf-8 -*-
 
 
-from __future__ import absolute_import, print_function, unicode_literals
-
 # utilities for constructing agendas for IESG telechats
 
 import io
diff --git a/ietf/iesg/feeds.py b/ietf/iesg/feeds.py
index 0cd17f5fe..6e8d290c6 100644
--- a/ietf/iesg/feeds.py
+++ b/ietf/iesg/feeds.py
@@ -1,9 +1,7 @@
-# Copyright The IETF Trust 2007-2019, All Rights Reserved
+# Copyright The IETF Trust 2007-2020, All Rights Reserved
 # -*- coding: utf-8 -*-
 
 
-from __future__ import absolute_import, print_function, unicode_literals
-
 import datetime
 
 from django.contrib.syndication.views import Feed
diff --git a/ietf/iesg/models.py b/ietf/iesg/models.py
index bf716a9d9..3691edb6d 100644
--- a/ietf/iesg/models.py
+++ b/ietf/iesg/models.py
@@ -1,4 +1,4 @@
-# Copyright The IETF Trust 2007-2019, All Rights Reserved
+# Copyright The IETF Trust 2007-2020, All Rights Reserved
 # -*- coding: utf-8 -*-
 #
 # Portion Copyright (C) 2008 Nokia Corporation and/or its subsidiary(-ies).
@@ -34,8 +34,6 @@
 # OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 
 
-from __future__ import absolute_import, print_function, unicode_literals
-
 import datetime
 
 from django.db import models
diff --git a/ietf/iesg/tests.py b/ietf/iesg/tests.py
index e28d471ff..a0b2eaa3b 100644
--- a/ietf/iesg/tests.py
+++ b/ietf/iesg/tests.py
@@ -1,9 +1,7 @@
-# Copyright The IETF Trust 2009-2019, All Rights Reserved
+# Copyright The IETF Trust 2009-2020, All Rights Reserved
 # -*- coding: utf-8 -*-
 
 
-from __future__ import absolute_import, print_function, unicode_literals
-
 import datetime
 import io
 import os
diff --git a/ietf/iesg/views.py b/ietf/iesg/views.py
index d03de500a..b023e1612 100644
--- a/ietf/iesg/views.py
+++ b/ietf/iesg/views.py
@@ -34,8 +34,6 @@
 # OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 
 
-from __future__ import absolute_import, print_function, unicode_literals
-
 import datetime
 import io
 import itertools
diff --git a/ietf/ietfauth/forms.py b/ietf/ietfauth/forms.py
index a56258140..b6a680cb8 100644
--- a/ietf/ietfauth/forms.py
+++ b/ietf/ietfauth/forms.py
@@ -1,9 +1,7 @@
-# Copyright The IETF Trust 2011-2019, All Rights Reserved
+# Copyright The IETF Trust 2011-2020, All Rights Reserved
 # -*- coding: utf-8 -*-
 
 
-from __future__ import absolute_import, print_function, unicode_literals
-
 import re
 from unidecode import unidecode
 
diff --git a/ietf/ietfauth/htpasswd.py b/ietf/ietfauth/htpasswd.py
index cc42a5d8a..3716d9860 100644
--- a/ietf/ietfauth/htpasswd.py
+++ b/ietf/ietfauth/htpasswd.py
@@ -1,9 +1,7 @@
-# Copyright The IETF Trust 2016-2019, All Rights Reserved
+# Copyright The IETF Trust 2016-2020, All Rights Reserved
 # -*- coding: utf-8 -*-
 
 
-from __future__ import absolute_import, print_function, unicode_literals
-
 import io
 import subprocess, hashlib
 from django.utils.encoding import force_bytes
diff --git a/ietf/ietfauth/management/commands/send_apikey_usage_emails.py b/ietf/ietfauth/management/commands/send_apikey_usage_emails.py
index ad671c218..557866de3 100644
--- a/ietf/ietfauth/management/commands/send_apikey_usage_emails.py
+++ b/ietf/ietfauth/management/commands/send_apikey_usage_emails.py
@@ -1,9 +1,7 @@
 # -*- coding: utf-8 -*-
-# Copyright The IETF Trust 2017-2019, All Rights Reserved
+# Copyright The IETF Trust 2017-2020, All Rights Reserved
 
 
-from __future__ import absolute_import, print_function, unicode_literals
-
 import datetime
 
 from textwrap import dedent
diff --git a/ietf/ietfauth/tests.py b/ietf/ietfauth/tests.py
index 56c888ed1..e381893d6 100644
--- a/ietf/ietfauth/tests.py
+++ b/ietf/ietfauth/tests.py
@@ -2,8 +2,6 @@
 # -*- coding: utf-8 -*-
 
 
-from __future__ import absolute_import, print_function, unicode_literals
-
 import io
 import os, shutil, time, datetime
 from urllib.parse import urlsplit
diff --git a/ietf/ietfauth/utils.py b/ietf/ietfauth/utils.py
index f51509f54..34d410980 100644
--- a/ietf/ietfauth/utils.py
+++ b/ietf/ietfauth/utils.py
@@ -1,9 +1,7 @@
-# Copyright The IETF Trust 2013-2019, All Rights Reserved
+# Copyright The IETF Trust 2013-2020, All Rights Reserved
 # -*- coding: utf-8 -*-
 
 
-from __future__ import absolute_import, print_function, unicode_literals
-
 # various authentication and authorization utilities
 
 from functools import wraps
diff --git a/ietf/ietfauth/views.py b/ietf/ietfauth/views.py
index 859c9cedb..c12275bf1 100644
--- a/ietf/ietfauth/views.py
+++ b/ietf/ietfauth/views.py
@@ -1,4 +1,4 @@
-# Copyright The IETF Trust 2007-2019, All Rights Reserved
+# Copyright The IETF Trust 2007-2020, All Rights Reserved
 # -*- coding: utf-8 -*-
 #
 # Portions Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
@@ -34,8 +34,6 @@
 # OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 
 
-from __future__ import absolute_import, print_function, unicode_literals
-
 import importlib
 
 from datetime import datetime as DateTime, timedelta as TimeDelta, date as Date
diff --git a/ietf/ipr/admin.py b/ietf/ipr/admin.py
index bcc0c33aa..a0185f58c 100644
--- a/ietf/ipr/admin.py
+++ b/ietf/ipr/admin.py
@@ -1,9 +1,7 @@
-# Copyright The IETF Trust 2010-2019, All Rights Reserved
+# Copyright The IETF Trust 2010-2020, All Rights Reserved
 # -*- coding: utf-8 -*-
 
 
-from __future__ import absolute_import, print_function, unicode_literals
-
 from django import forms
 from django.contrib import admin
 from ietf.name.models import DocRelationshipName
diff --git a/ietf/ipr/factories.py b/ietf/ipr/factories.py
index cf07d6d24..3d31895b7 100644
--- a/ietf/ipr/factories.py
+++ b/ietf/ipr/factories.py
@@ -1,9 +1,7 @@
-# Copyright The IETF Trust 2018-2019, All Rights Reserved
+# Copyright The IETF Trust 2018-2020, All Rights Reserved
 # -*- coding: utf-8 -*-
 
 
-from __future__ import absolute_import, print_function, unicode_literals
-
 import datetime
 import factory
 
diff --git a/ietf/ipr/feeds.py b/ietf/ipr/feeds.py
index 7b8f1938f..b5f4c4e6a 100644
--- a/ietf/ipr/feeds.py
+++ b/ietf/ipr/feeds.py
@@ -1,9 +1,7 @@
-# Copyright The IETF Trust 2007-2019, All Rights Reserved
+# Copyright The IETF Trust 2007-2020, All Rights Reserved
 # -*- coding: utf-8 -*-
 
 
-from __future__ import absolute_import, print_function, unicode_literals
-
 from django.contrib.syndication.views import Feed
 from django.utils.feedgenerator import Atom1Feed
 from django.urls import reverse_lazy
diff --git a/ietf/ipr/fields.py b/ietf/ipr/fields.py
index bdad3f972..d842e0e14 100644
--- a/ietf/ipr/fields.py
+++ b/ietf/ipr/fields.py
@@ -2,8 +2,6 @@
 # -*- coding: utf-8 -*-
 
 
-from __future__ import absolute_import, print_function, unicode_literals
-
 import json
 
 from django.utils.html import escape
diff --git a/ietf/ipr/forms.py b/ietf/ipr/forms.py
index 52e9e8627..2f7e89ef0 100644
--- a/ietf/ipr/forms.py
+++ b/ietf/ipr/forms.py
@@ -1,9 +1,7 @@
-# Copyright The IETF Trust 2014-2019, All Rights Reserved
+# Copyright The IETF Trust 2014-2020, All Rights Reserved
 # -*- coding: utf-8 -*-
 
 
-from __future__ import absolute_import, print_function, unicode_literals
-
 import datetime
 import email
 
diff --git a/ietf/ipr/mail.py b/ietf/ipr/mail.py
index ec875b05a..5995f7944 100644
--- a/ietf/ipr/mail.py
+++ b/ietf/ipr/mail.py
@@ -2,8 +2,6 @@
 # -*- coding: utf-8 -*-
 
 
-from __future__ import absolute_import, print_function, unicode_literals
-
 import base64
 import email
 import datetime
diff --git a/ietf/ipr/management/commands/process_email.py b/ietf/ipr/management/commands/process_email.py
index 0bb200ff6..1d3c1b2e3 100644
--- a/ietf/ipr/management/commands/process_email.py
+++ b/ietf/ipr/management/commands/process_email.py
@@ -1,9 +1,7 @@
-# Copyright The IETF Trust 2014-2019, All Rights Reserved
+# Copyright The IETF Trust 2014-2020, All Rights Reserved
 # -*- coding: utf-8 -*-
 
 
-from __future__ import absolute_import, print_function, unicode_literals
-
 import io
 import sys
 
diff --git a/ietf/ipr/migrations/0001_initial.py b/ietf/ipr/migrations/0001_initial.py
index 668d8e1df..e370d3d5a 100644
--- a/ietf/ipr/migrations/0001_initial.py
+++ b/ietf/ipr/migrations/0001_initial.py
@@ -1,10 +1,8 @@
-# Copyright The IETF Trust 2018-2019, All Rights Reserved
+# Copyright The IETF Trust 2018-2020, All Rights Reserved
 # -*- coding: utf-8 -*-
 # Generated by Django 1.11.10 on 2018-02-20 10:52
 
 
-from __future__ import absolute_import, print_function, unicode_literals
-
 from django.db import migrations, models
 import django.db.models.deletion
 import ietf.utils.models
diff --git a/ietf/ipr/migrations/0002_auto_20180225_1207.py b/ietf/ipr/migrations/0002_auto_20180225_1207.py
index 01c1fa9b1..3f34a491d 100644
--- a/ietf/ipr/migrations/0002_auto_20180225_1207.py
+++ b/ietf/ipr/migrations/0002_auto_20180225_1207.py
@@ -1,10 +1,8 @@
-# Copyright The IETF Trust 2018-2019, All Rights Reserved
+# Copyright The IETF Trust 2018-2020, All Rights Reserved
 # -*- coding: utf-8 -*-
 # Generated by Django 1.11.10 on 2018-02-25 12:07
 
 
-from __future__ import absolute_import, print_function, unicode_literals
-
 from django.db import migrations
 
 
diff --git a/ietf/ipr/migrations/0003_add_ipdocrel_document2_fk.py b/ietf/ipr/migrations/0003_add_ipdocrel_document2_fk.py
index 35576ffb3..e5ac7f441 100644
--- a/ietf/ipr/migrations/0003_add_ipdocrel_document2_fk.py
+++ b/ietf/ipr/migrations/0003_add_ipdocrel_document2_fk.py
@@ -1,10 +1,8 @@
-# Copyright The IETF Trust 2019, All Rights Reserved
+# Copyright The IETF Trust 2019-2020, All Rights Reserved
 # -*- coding: utf-8 -*-
 # Generated by Django 1.11.20 on 2019-05-08 11:58
 
 
-from __future__ import absolute_import, print_function, unicode_literals
-
 from django.db import migrations
 import django.db.models.deletion
 import ietf.utils.models
diff --git a/ietf/ipr/migrations/0004_remove_iprdocrel_document.py b/ietf/ipr/migrations/0004_remove_iprdocrel_document.py
index 2439193a6..d5af9d947 100644
--- a/ietf/ipr/migrations/0004_remove_iprdocrel_document.py
+++ b/ietf/ipr/migrations/0004_remove_iprdocrel_document.py
@@ -1,10 +1,8 @@
-# Copyright The IETF Trust 2019, All Rights Reserved
+# Copyright The IETF Trust 2019-2020, All Rights Reserved
 # -*- coding: utf-8 -*-
 # Generated by Django 1.11.20 on 2019-05-20 09:53
 
 
-from __future__ import absolute_import, print_function, unicode_literals
-
 from django.db import migrations
 
 
diff --git a/ietf/ipr/migrations/0005_rename_field_document2.py b/ietf/ipr/migrations/0005_rename_field_document2.py
index 6db908888..4fef4c227 100644
--- a/ietf/ipr/migrations/0005_rename_field_document2.py
+++ b/ietf/ipr/migrations/0005_rename_field_document2.py
@@ -1,10 +1,8 @@
-# Copyright The IETF Trust 2019, All Rights Reserved
+# Copyright The IETF Trust 2019-2020, All Rights Reserved
 # -*- coding: utf-8 -*-
 # Generated by Django 1.11.20 on 2019-05-21 05:31
 
 
-from __future__ import absolute_import, print_function, unicode_literals
-
 from django.db import migrations
 
 
diff --git a/ietf/ipr/migrations/0006_document_primary_key_cleanup.py b/ietf/ipr/migrations/0006_document_primary_key_cleanup.py
index 32dca70c4..df8f66c54 100644
--- a/ietf/ipr/migrations/0006_document_primary_key_cleanup.py
+++ b/ietf/ipr/migrations/0006_document_primary_key_cleanup.py
@@ -1,10 +1,8 @@
-# Copyright The IETF Trust 2019, All Rights Reserved
+# Copyright The IETF Trust 2019-2020, All Rights Reserved
 # -*- coding: utf-8 -*-
 # Generated by Django 1.11.20 on 2019-06-10 03:42
 
 
-from __future__ import absolute_import, print_function, unicode_literals
-
 from django.db import migrations
 import django.db.models.deletion
 import ietf.utils.models
diff --git a/ietf/ipr/migrations/0007_create_ipr_doc_events.py b/ietf/ipr/migrations/0007_create_ipr_doc_events.py
index d5f17ab43..395bc11ce 100644
--- a/ietf/ipr/migrations/0007_create_ipr_doc_events.py
+++ b/ietf/ipr/migrations/0007_create_ipr_doc_events.py
@@ -1,7 +1,7 @@
 # Copyright The IETF Trust 2020, All Rights Reserved
 # -*- coding: utf-8 -*-
 # Generated by Django 1.11.27 on 2020-01-17 12:32
-from __future__ import unicode_literals
+
 
 from django.db import migrations
 
diff --git a/ietf/ipr/models.py b/ietf/ipr/models.py
index 9e6c3bc26..e38f7f5cc 100644
--- a/ietf/ipr/models.py
+++ b/ietf/ipr/models.py
@@ -2,8 +2,6 @@
 # -*- coding: utf-8 -*-
 
 
-from __future__ import absolute_import, print_function, unicode_literals
-
 import datetime
 
 from django.conf import settings
diff --git a/ietf/ipr/templatetags/ipr_filters.py b/ietf/ipr/templatetags/ipr_filters.py
index 43bf90234..19586d1eb 100644
--- a/ietf/ipr/templatetags/ipr_filters.py
+++ b/ietf/ipr/templatetags/ipr_filters.py
@@ -1,9 +1,7 @@
-# Copyright The IETF Trust 2014-2019, All Rights Reserved
+# Copyright The IETF Trust 2014-2020, All Rights Reserved
 # -*- coding: utf-8 -*-
 
 
-from __future__ import absolute_import, print_function, unicode_literals
-
 from django import template
 from django.utils.html import format_html
 
diff --git a/ietf/ipr/tests.py b/ietf/ipr/tests.py
index 4acc2d953..6542d4d28 100644
--- a/ietf/ipr/tests.py
+++ b/ietf/ipr/tests.py
@@ -2,8 +2,6 @@
 # -*- coding: utf-8 -*-
 
 
-from __future__ import absolute_import, print_function, unicode_literals
-
 import datetime
 
 
diff --git a/ietf/ipr/utils.py b/ietf/ipr/utils.py
index b31d5195a..69e03087f 100644
--- a/ietf/ipr/utils.py
+++ b/ietf/ipr/utils.py
@@ -1,9 +1,7 @@
-# Copyright The IETF Trust 2014-2019, All Rights Reserved
+# Copyright The IETF Trust 2014-2020, All Rights Reserved
 # -*- coding: utf-8 -*-
 
 
-from __future__ import absolute_import, print_function, unicode_literals
-
 import debug                            # pyflakes:ignore
 
 def get_genitive(name):
diff --git a/ietf/ipr/views.py b/ietf/ipr/views.py
index 238e32973..300fc5d78 100644
--- a/ietf/ipr/views.py
+++ b/ietf/ipr/views.py
@@ -2,8 +2,6 @@
 # -*- coding: utf-8 -*-
 
 
-from __future__ import absolute_import, print_function, unicode_literals
-
 import datetime
 import itertools
 
diff --git a/ietf/liaisons/__init__.py b/ietf/liaisons/__init__.py
index fd066bea4..fc762171a 100644
--- a/ietf/liaisons/__init__.py
+++ b/ietf/liaisons/__init__.py
@@ -1,9 +1,7 @@
-# Copyright The IETF Trust 2007-2019, All Rights Reserved
+# Copyright The IETF Trust 2007-2020, All Rights Reserved
 # -*- coding: utf-8 -*-
 
 
-from __future__ import absolute_import, print_function, unicode_literals
-
 from types import ModuleType
 
 # These people will be sent a stack trace if there's an uncaught exception in
diff --git a/ietf/liaisons/admin.py b/ietf/liaisons/admin.py
index b78152c10..8159e4866 100644
--- a/ietf/liaisons/admin.py
+++ b/ietf/liaisons/admin.py
@@ -1,9 +1,7 @@
-# Copyright The IETF Trust 2010-2019, All Rights Reserved
+# Copyright The IETF Trust 2010-2020, All Rights Reserved
 # -*- coding: utf-8 -*-
 
 
-from __future__ import absolute_import, print_function, unicode_literals
-
 from django.contrib import admin
 from django.urls import reverse
 
diff --git a/ietf/liaisons/feeds.py b/ietf/liaisons/feeds.py
index 21920935a..f4411a805 100644
--- a/ietf/liaisons/feeds.py
+++ b/ietf/liaisons/feeds.py
@@ -1,9 +1,7 @@
-# Copyright The IETF Trust 2007-2019, All Rights Reserved
+# Copyright The IETF Trust 2007-2020, All Rights Reserved
 # -*- coding: utf-8 -*-
 
 
-from __future__ import absolute_import, print_function, unicode_literals
-
 import re
 
 from django.contrib.syndication.views import Feed, FeedDoesNotExist
diff --git a/ietf/liaisons/fields.py b/ietf/liaisons/fields.py
index ffed1cc54..031e8379b 100644
--- a/ietf/liaisons/fields.py
+++ b/ietf/liaisons/fields.py
@@ -2,8 +2,6 @@
 # -*- coding: utf-8 -*-
 
 
-from __future__ import absolute_import, print_function, unicode_literals
-
 import json
 
 from django.utils.html import escape
diff --git a/ietf/liaisons/forms.py b/ietf/liaisons/forms.py
index 5bab1ba64..7ad5b2dd9 100644
--- a/ietf/liaisons/forms.py
+++ b/ietf/liaisons/forms.py
@@ -2,14 +2,11 @@
 # -*- coding: utf-8 -*-
 
 
-from __future__ import absolute_import, print_function, unicode_literals
-
 import io
 import datetime, os
 import operator
-import six
-if six.PY3:
-    from typing import Union            # pyflakes:ignore
+
+from typing import Union            # pyflakes:ignore
 
 from email.utils import parseaddr
 from form_utils.forms import BetterModelForm
diff --git a/ietf/liaisons/mails.py b/ietf/liaisons/mails.py
index caba5d366..47f18c75b 100644
--- a/ietf/liaisons/mails.py
+++ b/ietf/liaisons/mails.py
@@ -1,9 +1,7 @@
-# Copyright The IETF Trust 2011-2019, All Rights Reserved
+# Copyright The IETF Trust 2011-2020, All Rights Reserved
 # -*- coding: utf-8 -*-
 
 
-from __future__ import absolute_import, print_function, unicode_literals
-
 import datetime
 
 from django.conf import settings
diff --git a/ietf/liaisons/management/commands/check_liaison_deadlines.py b/ietf/liaisons/management/commands/check_liaison_deadlines.py
index 77032fe4b..84faa5fed 100644
--- a/ietf/liaisons/management/commands/check_liaison_deadlines.py
+++ b/ietf/liaisons/management/commands/check_liaison_deadlines.py
@@ -1,9 +1,7 @@
-# Copyright The IETF Trust 2010-2019, All Rights Reserved
+# Copyright The IETF Trust 2010-2020, All Rights Reserved
 # -*- coding: utf-8 -*-
 
 
-from __future__ import absolute_import, print_function, unicode_literals
-
 import datetime
 
 from django.core.management.base import BaseCommand
diff --git a/ietf/liaisons/management/commands/remind_update_sdo_list.py b/ietf/liaisons/management/commands/remind_update_sdo_list.py
index 264b11b21..e9966d783 100644
--- a/ietf/liaisons/management/commands/remind_update_sdo_list.py
+++ b/ietf/liaisons/management/commands/remind_update_sdo_list.py
@@ -1,9 +1,7 @@
-# Copyright The IETF Trust 2010-2019, All Rights Reserved
+# Copyright The IETF Trust 2010-2020, All Rights Reserved
 # -*- coding: utf-8 -*-
 
 
-from __future__ import absolute_import, print_function, unicode_literals
-
 from django.core.management.base import BaseCommand
 
 from ietf.group.models import Group
diff --git a/ietf/liaisons/migrations/0001_initial.py b/ietf/liaisons/migrations/0001_initial.py
index 6071f82de..7b58564ff 100644
--- a/ietf/liaisons/migrations/0001_initial.py
+++ b/ietf/liaisons/migrations/0001_initial.py
@@ -1,10 +1,8 @@
-# Copyright The IETF Trust 2018-2019, All Rights Reserved
+# Copyright The IETF Trust 2018-2020, All Rights Reserved
 # -*- coding: utf-8 -*-
 # Generated by Django 1.11.10 on 2018-02-20 10:52
 
 
-from __future__ import absolute_import, print_function, unicode_literals
-
 from django.db import migrations, models
 import django.db.models.deletion
 import ietf.utils.models
diff --git a/ietf/liaisons/migrations/0002_auto_20180225_1207.py b/ietf/liaisons/migrations/0002_auto_20180225_1207.py
index f848a0391..62a9b8a13 100644
--- a/ietf/liaisons/migrations/0002_auto_20180225_1207.py
+++ b/ietf/liaisons/migrations/0002_auto_20180225_1207.py
@@ -1,10 +1,8 @@
-# Copyright The IETF Trust 2018-2019, All Rights Reserved
+# Copyright The IETF Trust 2018-2020, All Rights Reserved
 # -*- coding: utf-8 -*-
 # Generated by Django 1.11.10 on 2018-02-25 12:07
 
 
-from __future__ import absolute_import, print_function, unicode_literals
-
 from django.db import migrations
 
 
diff --git a/ietf/liaisons/migrations/0003_liaison_document2_fk.py b/ietf/liaisons/migrations/0003_liaison_document2_fk.py
index b46ced747..5fdf0f0f4 100644
--- a/ietf/liaisons/migrations/0003_liaison_document2_fk.py
+++ b/ietf/liaisons/migrations/0003_liaison_document2_fk.py
@@ -1,10 +1,8 @@
-# Copyright The IETF Trust 2019, All Rights Reserved
+# Copyright The IETF Trust 2019-2020, All Rights Reserved
 # -*- coding: utf-8 -*-
 # Generated by Django 1.11.20 on 2019-05-08 11:58
 
 
-from __future__ import absolute_import, print_function, unicode_literals
-
 from django.db import migrations
 import django.db.models.deletion
 import ietf.utils.models
diff --git a/ietf/liaisons/migrations/0004_remove_liaisonstatementattachment_document.py b/ietf/liaisons/migrations/0004_remove_liaisonstatementattachment_document.py
index 30a697d58..3f5868ef2 100644
--- a/ietf/liaisons/migrations/0004_remove_liaisonstatementattachment_document.py
+++ b/ietf/liaisons/migrations/0004_remove_liaisonstatementattachment_document.py
@@ -1,10 +1,8 @@
-# Copyright The IETF Trust 2019, All Rights Reserved
+# Copyright The IETF Trust 2019-2020, All Rights Reserved
 # -*- coding: utf-8 -*-
 # Generated by Django 1.11.20 on 2019-05-20 09:53
 
 
-from __future__ import absolute_import, print_function, unicode_literals
-
 from django.db import migrations
 
 
diff --git a/ietf/liaisons/migrations/0005_rename_field_document2.py b/ietf/liaisons/migrations/0005_rename_field_document2.py
index c557b3360..ddb800573 100644
--- a/ietf/liaisons/migrations/0005_rename_field_document2.py
+++ b/ietf/liaisons/migrations/0005_rename_field_document2.py
@@ -1,10 +1,8 @@
-# Copyright The IETF Trust 2019, All Rights Reserved
+# Copyright The IETF Trust 2019-2020, All Rights Reserved
 # -*- coding: utf-8 -*-
 # Generated by Django 1.11.20 on 2019-05-21 05:31
 
 
-from __future__ import absolute_import, print_function, unicode_literals
-
 from django.db import migrations
 
 
diff --git a/ietf/liaisons/migrations/0006_document_primary_key_cleanup.py b/ietf/liaisons/migrations/0006_document_primary_key_cleanup.py
index bc2918667..cae4b0ab1 100644
--- a/ietf/liaisons/migrations/0006_document_primary_key_cleanup.py
+++ b/ietf/liaisons/migrations/0006_document_primary_key_cleanup.py
@@ -1,10 +1,8 @@
-# Copyright The IETF Trust 2019, All Rights Reserved
+# Copyright The IETF Trust 2019-2020, All Rights Reserved
 # -*- coding: utf-8 -*-
 # Generated by Django 1.11.20 on 2019-06-10 03:47
 
 
-from __future__ import absolute_import, print_function, unicode_literals
-
 from django.db import migrations
 import django.db.models.deletion
 import ietf.utils.models
diff --git a/ietf/liaisons/models.py b/ietf/liaisons/models.py
index 70e1339af..0cacfcb27 100644
--- a/ietf/liaisons/models.py
+++ b/ietf/liaisons/models.py
@@ -1,9 +1,7 @@
-# Copyright The IETF Trust 2007-2019, All Rights Reserved
+# Copyright The IETF Trust 2007-2020, All Rights Reserved
 # -*- coding: utf-8 -*-
 
 
-from __future__ import absolute_import, print_function, unicode_literals
-
 from django.conf import settings
 from django.urls import reverse as urlreverse
 from django.db import models
diff --git a/ietf/liaisons/tests.py b/ietf/liaisons/tests.py
index c5cd80b27..c149abd38 100644
--- a/ietf/liaisons/tests.py
+++ b/ietf/liaisons/tests.py
@@ -1,14 +1,11 @@
-# Copyright The IETF Trust 2009-2019, All Rights Reserved
+# Copyright The IETF Trust 2009-2020, All Rights Reserved
 # -*- coding: utf-8 -*-
 
 
-from __future__ import absolute_import, print_function, unicode_literals
-
 import datetime
 import io
 import os
 import shutil
-import six
 
 import debug    # pyflakes:ignore
 
@@ -241,7 +238,7 @@ class ManagementCommandTests(TestCase):
 
         LiaisonStatementFactory(deadline=datetime.date.today()+datetime.timedelta(days=1))
 
-        out = six.StringIO()
+        out = io.StringIO()
         mailbox_before = len(outbox)
         call_command('check_liaison_deadlines',stdout=out)
         self.assertEqual(len(outbox), mailbox_before + 1)
@@ -251,7 +248,7 @@ class ManagementCommandTests(TestCase):
 
         RoleFactory(name_id='liaiman',group__type_id='sdo')
 
-        out = six.StringIO()
+        out = io.StringIO()
         mailbox_before = len(outbox)
         call_command('remind_update_sdo_list',stdout=out)
         self.assertTrue(len(outbox) > mailbox_before)
diff --git a/ietf/liaisons/views.py b/ietf/liaisons/views.py
index 0b68cf8b6..51e6225c6 100644
--- a/ietf/liaisons/views.py
+++ b/ietf/liaisons/views.py
@@ -1,9 +1,7 @@
-# Copyright The IETF Trust 2007-2019, All Rights Reserved
+# Copyright The IETF Trust 2007-2020, All Rights Reserved
 # -*- coding: utf-8 -*-
 
 
-from __future__ import absolute_import, print_function, unicode_literals
-
 import json
 from email.utils import parseaddr
 
diff --git a/ietf/liaisons/widgets.py b/ietf/liaisons/widgets.py
index c29700653..a4e807f61 100644
--- a/ietf/liaisons/widgets.py
+++ b/ietf/liaisons/widgets.py
@@ -1,9 +1,7 @@
-# Copyright The IETF Trust 2010-2019, All Rights Reserved
+# Copyright The IETF Trust 2010-2020, All Rights Reserved
 # -*- coding: utf-8 -*-
 
 
-from __future__ import absolute_import, print_function, unicode_literals
-
 from django.urls import reverse as urlreverse
 from django.db.models.query import QuerySet
 from django.forms.widgets import Widget
diff --git a/ietf/mailinglists/factories.py b/ietf/mailinglists/factories.py
index d713cbbde..1949cafc6 100644
--- a/ietf/mailinglists/factories.py
+++ b/ietf/mailinglists/factories.py
@@ -1,9 +1,7 @@
-# Copyright The IETF Trust 2018-2019, All Rights Reserved
+# Copyright The IETF Trust 2018-2020, All Rights Reserved
 # -*- coding: utf-8 -*-
 
 
-from __future__ import absolute_import, print_function, unicode_literals
-
 import factory
 import random
 
diff --git a/ietf/mailinglists/migrations/0001_initial.py b/ietf/mailinglists/migrations/0001_initial.py
index 0ddb625a0..52c04861c 100644
--- a/ietf/mailinglists/migrations/0001_initial.py
+++ b/ietf/mailinglists/migrations/0001_initial.py
@@ -1,10 +1,8 @@
-# Copyright The IETF Trust 2018-2019, All Rights Reserved
+# Copyright The IETF Trust 2018-2020, All Rights Reserved
 # -*- coding: utf-8 -*-
 # Generated by Django 1.11.10 on 2018-02-20 10:52
 
 
-from __future__ import absolute_import, print_function, unicode_literals
-
 import django.core.validators
 from django.db import migrations, models
 import django.db.models.deletion
diff --git a/ietf/mailinglists/migrations/0002_auto_20190703_1344.py b/ietf/mailinglists/migrations/0002_auto_20190703_1344.py
index a99b72323..b55c482a2 100644
--- a/ietf/mailinglists/migrations/0002_auto_20190703_1344.py
+++ b/ietf/mailinglists/migrations/0002_auto_20190703_1344.py
@@ -1,7 +1,7 @@
 # -*- coding: utf-8 -*-
-# Copyright The IETF Trust 2019, All Rights Reserved
+# Copyright The IETF Trust 2019-2020, All Rights Reserved
 # Generated by Django 1.11.22 on 2019-07-03 13:44
-from __future__ import unicode_literals
+
 
 import django.core.validators
 from django.db import migrations, models
diff --git a/ietf/mailinglists/models.py b/ietf/mailinglists/models.py
index 239583fae..ef066c5ed 100644
--- a/ietf/mailinglists/models.py
+++ b/ietf/mailinglists/models.py
@@ -1,9 +1,7 @@
-# Copyright The IETF Trust 2016-2019, All Rights Reserved
+# Copyright The IETF Trust 2016-2020, All Rights Reserved
 # -*- coding: utf-8 -*-
 
 
-from __future__ import absolute_import, print_function, unicode_literals
-
 from django.conf import settings
 from django.core.validators import validate_email
 from django.db import models
diff --git a/ietf/mailinglists/tests.py b/ietf/mailinglists/tests.py
index 34b555d91..543904991 100644
--- a/ietf/mailinglists/tests.py
+++ b/ietf/mailinglists/tests.py
@@ -1,9 +1,7 @@
-# Copyright The IETF Trust 2009-2019, All Rights Reserved
+# Copyright The IETF Trust 2009-2020, All Rights Reserved
 # -*- coding: utf-8 -*-
 
 
-from __future__ import absolute_import, print_function, unicode_literals
-
 from pyquery import PyQuery
 
 from django.urls import reverse as urlreverse
diff --git a/ietf/mailtrigger/forms.py b/ietf/mailtrigger/forms.py
index 7cc08156f..366c429d8 100644
--- a/ietf/mailtrigger/forms.py
+++ b/ietf/mailtrigger/forms.py
@@ -2,8 +2,6 @@
 # -*- coding: utf-8 -*-
 
 
-from __future__ import absolute_import, print_function, unicode_literals
-
 from typing import Dict, List       # pyflakes:ignore
 
 from django import forms
diff --git a/ietf/mailtrigger/migrations/0001_initial.py b/ietf/mailtrigger/migrations/0001_initial.py
index 40ecf4112..37de9a646 100644
--- a/ietf/mailtrigger/migrations/0001_initial.py
+++ b/ietf/mailtrigger/migrations/0001_initial.py
@@ -3,8 +3,6 @@
 # Generated by Django 1.11.10 on 2018-02-20 10:52
 
 
-from __future__ import absolute_import, print_function, unicode_literals
-
 from typing import List, Tuple      # pyflakes:ignore
 
 from django.db import migrations, models
diff --git a/ietf/mailtrigger/migrations/0002_conflrev_changes.py b/ietf/mailtrigger/migrations/0002_conflrev_changes.py
index 3330e196d..858d3a11d 100644
--- a/ietf/mailtrigger/migrations/0002_conflrev_changes.py
+++ b/ietf/mailtrigger/migrations/0002_conflrev_changes.py
@@ -1,10 +1,8 @@
-# Copyright The IETF Trust 2018-2019, All Rights Reserved
+# Copyright The IETF Trust 2018-2020, All Rights Reserved
 # -*- coding: utf-8 -*-
 # Generated by Django 1.11.13 on 2018-05-21 12:07
 
 
-from __future__ import absolute_import, print_function, unicode_literals
-
 from django.db import migrations
 
 def forward(apps, schema_editor):
diff --git a/ietf/mailtrigger/migrations/0003_add_review_notify_ad.py b/ietf/mailtrigger/migrations/0003_add_review_notify_ad.py
index b8eebea5e..5abf17538 100644
--- a/ietf/mailtrigger/migrations/0003_add_review_notify_ad.py
+++ b/ietf/mailtrigger/migrations/0003_add_review_notify_ad.py
@@ -1,10 +1,8 @@
-# Copyright The IETF Trust 2018-2019, All Rights Reserved
+# Copyright The IETF Trust 2018-2020, All Rights Reserved
 # -*- coding: utf-8 -*-
 # Generated by Django 1.11.16 on 2018-11-02 11:34
 
 
-from __future__ import absolute_import, print_function, unicode_literals
-
 from django.db import migrations
 
 def forward(apps, schema_editor):
diff --git a/ietf/mailtrigger/migrations/0004_ballot_rfceditornote_changed_postapproval.py b/ietf/mailtrigger/migrations/0004_ballot_rfceditornote_changed_postapproval.py
index 411fc68b1..50fb71a51 100644
--- a/ietf/mailtrigger/migrations/0004_ballot_rfceditornote_changed_postapproval.py
+++ b/ietf/mailtrigger/migrations/0004_ballot_rfceditornote_changed_postapproval.py
@@ -1,10 +1,8 @@
-# Copyright The IETF Trust 2018-2019, All Rights Reserved
+# Copyright The IETF Trust 2018-2020, All Rights Reserved
 # -*- coding: utf-8 -*-
 # Generated by Django 1.11.16 on 2018-11-03 00:24
 
 
-from __future__ import absolute_import, print_function, unicode_literals
-
 from django.db import migrations
 
 def forward(apps, schema_editor):
diff --git a/ietf/mailtrigger/migrations/0005_slides_proposed.py b/ietf/mailtrigger/migrations/0005_slides_proposed.py
index 8efa3397d..88af91281 100644
--- a/ietf/mailtrigger/migrations/0005_slides_proposed.py
+++ b/ietf/mailtrigger/migrations/0005_slides_proposed.py
@@ -1,10 +1,8 @@
-# Copyright The IETF Trust 2019, All Rights Reserved
+# Copyright The IETF Trust 2019-2020, All Rights Reserved
 # -*- coding: utf-8 -*-
 # Generated by Django 1.11.20 on 2019-03-25 06:11
 
 
-from __future__ import absolute_import, print_function, unicode_literals
-
 from django.db import migrations
 
 def forward(apps, schema_editor):
diff --git a/ietf/mailtrigger/migrations/0006_sub_new_wg_00.py b/ietf/mailtrigger/migrations/0006_sub_new_wg_00.py
index a380a20a1..8b7936d90 100644
--- a/ietf/mailtrigger/migrations/0006_sub_new_wg_00.py
+++ b/ietf/mailtrigger/migrations/0006_sub_new_wg_00.py
@@ -1,9 +1,7 @@
-# Copyright The IETF Trust 2019, All Rights Reserved
+# Copyright The IETF Trust 2019-2020, All Rights Reserved
 # -*- coding: utf-8 -*-
 
 
-from __future__ import absolute_import, print_function, unicode_literals
-
 from django.db import migrations
 
 def forward(apps, schema_editor):
diff --git a/ietf/mailtrigger/migrations/0007_add_review_mailtriggers.py b/ietf/mailtrigger/migrations/0007_add_review_mailtriggers.py
index 8d41037d1..91a963d18 100644
--- a/ietf/mailtrigger/migrations/0007_add_review_mailtriggers.py
+++ b/ietf/mailtrigger/migrations/0007_add_review_mailtriggers.py
@@ -1,7 +1,6 @@
-# Copyright The IETF Trust 2019, All Rights Reserved
+# Copyright The IETF Trust 2018-2020, All Rights Reserved
 # -*- coding: utf-8 -*-
 
-from __future__ import absolute_import, print_function, unicode_literals
 
 from django.db import migrations
 
diff --git a/ietf/mailtrigger/migrations/0008_lengthen_mailtrigger_slug.py b/ietf/mailtrigger/migrations/0008_lengthen_mailtrigger_slug.py
index fe5f83dd9..df83bdb5f 100644
--- a/ietf/mailtrigger/migrations/0008_lengthen_mailtrigger_slug.py
+++ b/ietf/mailtrigger/migrations/0008_lengthen_mailtrigger_slug.py
@@ -1,7 +1,7 @@
-# Copyright The IETF Trust 2015-2019, All Rights Reserved
+# Copyright The IETF Trust 2019-2020, All Rights Reserved
 # -*- coding: utf-8 -*-
 # Generated by Django 1.11.23 on 2019-08-30 09:02
-from __future__ import unicode_literals
+
 
 from django.db import migrations, models
 
diff --git a/ietf/mailtrigger/migrations/0009_custom_review_complete_mailtriggers.py b/ietf/mailtrigger/migrations/0009_custom_review_complete_mailtriggers.py
index ec0acfdf5..496d4658f 100644
--- a/ietf/mailtrigger/migrations/0009_custom_review_complete_mailtriggers.py
+++ b/ietf/mailtrigger/migrations/0009_custom_review_complete_mailtriggers.py
@@ -1,7 +1,6 @@
-# Copyright The IETF Trust 2019, All Rights Reserved
+# Copyright The IETF Trust 2019-2020, All Rights Reserved
 # -*- coding: utf-8 -*-
 
-from __future__ import absolute_import, print_function, unicode_literals
 
 from django.db import migrations
 
diff --git a/ietf/mailtrigger/migrations/0010_add_review_reminder_mailtriggers.py b/ietf/mailtrigger/migrations/0010_add_review_reminder_mailtriggers.py
index 701870317..384c55e8f 100644
--- a/ietf/mailtrigger/migrations/0010_add_review_reminder_mailtriggers.py
+++ b/ietf/mailtrigger/migrations/0010_add_review_reminder_mailtriggers.py
@@ -1,7 +1,6 @@
-# Copyright The IETF Trust 2019, All Rights Reserved
+# Copyright The IETF Trust 2018-2020, All Rights Reserved
 # -*- coding: utf-8 -*-
 
-from __future__ import absolute_import, print_function, unicode_literals
 
 from django.db import migrations
 
diff --git a/ietf/mailtrigger/migrations/0011_ietf_last_call.py b/ietf/mailtrigger/migrations/0011_ietf_last_call.py
index 15e29ac09..6999d64f9 100644
--- a/ietf/mailtrigger/migrations/0011_ietf_last_call.py
+++ b/ietf/mailtrigger/migrations/0011_ietf_last_call.py
@@ -1,7 +1,7 @@
-# Copyright The IETF Trust 2019, All Rights Reserved
+# Copyright The IETF Trust 2019-2020, All Rights Reserved
 # -*- coding: utf-8 -*-
 # Generated by Django 1.11.25 on 2019-10-04 12:12
-from __future__ import unicode_literals
+
 
 from django.db import migrations
 
diff --git a/ietf/mailtrigger/migrations/0012_dont_last_call_early_reviews.py b/ietf/mailtrigger/migrations/0012_dont_last_call_early_reviews.py
index 571917413..5302a0c89 100644
--- a/ietf/mailtrigger/migrations/0012_dont_last_call_early_reviews.py
+++ b/ietf/mailtrigger/migrations/0012_dont_last_call_early_reviews.py
@@ -1,7 +1,7 @@
-# Copyright The IETF Trust 2019, All Rights Reserved
+# Copyright The IETF Trust 2019-2020, All Rights Reserved
 # -*- coding: utf-8 -*-
 # Generated by Django 1.11.25 on 2019-10-04 13:12
-from __future__ import unicode_literals
+
 
 from django.db import migrations
 
diff --git a/ietf/mailtrigger/migrations/0013_add_irsg_ballot_saved.py b/ietf/mailtrigger/migrations/0013_add_irsg_ballot_saved.py
index 7fe3cfd65..a7400e48a 100644
--- a/ietf/mailtrigger/migrations/0013_add_irsg_ballot_saved.py
+++ b/ietf/mailtrigger/migrations/0013_add_irsg_ballot_saved.py
@@ -1,7 +1,7 @@
-# Copyright The IETF Trust 2019, All Rights Reserved
+# Copyright The IETF Trust 2019-2020, All Rights Reserved
 # -*- coding: utf-8 -*-
 # Generated by Django 1.11.25 on 2019-10-04 13:12
-from __future__ import unicode_literals
+
 
 from django.db import migrations
 
diff --git a/ietf/mailtrigger/models.py b/ietf/mailtrigger/models.py
index 6942ec222..48e7d3f18 100644
--- a/ietf/mailtrigger/models.py
+++ b/ietf/mailtrigger/models.py
@@ -1,9 +1,7 @@
-# Copyright The IETF Trust 2015-2019, All Rights Reserved
+# Copyright The IETF Trust 2015-2020, All Rights Reserved
 # -*- coding: utf-8 -*-
 
 
-from __future__ import absolute_import, print_function, unicode_literals
-
 from django.db import models
 from django.template import Template, Context
 from django.utils.encoding import python_2_unicode_compatible
diff --git a/ietf/mailtrigger/test_utils.py b/ietf/mailtrigger/test_utils.py
index b00000d1f..aef1a2997 100644
--- a/ietf/mailtrigger/test_utils.py
+++ b/ietf/mailtrigger/test_utils.py
@@ -2,8 +2,6 @@
 # -*- coding: utf-8 -*-
 
 
-from __future__ import absolute_import, print_function, unicode_literals
-
 from ietf.doc.factories import WgDraftFactory
 from ietf.mailtrigger.models import MailTrigger
 from .utils import gather_address_lists
diff --git a/ietf/mailtrigger/tests.py b/ietf/mailtrigger/tests.py
index 91fcc1f19..e7fef7fa9 100644
--- a/ietf/mailtrigger/tests.py
+++ b/ietf/mailtrigger/tests.py
@@ -1,9 +1,7 @@
-# Copyright The IETF Trust 2015-2019, All Rights Reserved
+# Copyright The IETF Trust 2015-2020, All Rights Reserved
 # -*- coding: utf-8 -*-
 
 
-from __future__ import absolute_import, print_function, unicode_literals
-
 from django.urls import reverse as urlreverse
 
 from ietf.utils.test_utils import TestCase
diff --git a/ietf/meeting/admin.py b/ietf/meeting/admin.py
index 23d9ba316..f8477ce2f 100644
--- a/ietf/meeting/admin.py
+++ b/ietf/meeting/admin.py
@@ -2,8 +2,6 @@
 # -*- coding: utf-8 -*-
 
 
-from __future__ import absolute_import, print_function, unicode_literals
-
 from django.contrib import admin
 
 from ietf.meeting.models import (Meeting, Room, Session, TimeSlot, Constraint, Schedule,
diff --git a/ietf/meeting/factories.py b/ietf/meeting/factories.py
index 20bbf8530..ef91afcb5 100644
--- a/ietf/meeting/factories.py
+++ b/ietf/meeting/factories.py
@@ -1,9 +1,7 @@
-# Copyright The IETF Trust 2016-2019, All Rights Reserved
+# Copyright The IETF Trust 2016-2020, All Rights Reserved
 # -*- coding: utf-8 -*-
 
 
-from __future__ import absolute_import, print_function, unicode_literals
-
 import factory
 import random
 import datetime
diff --git a/ietf/meeting/feeds.py b/ietf/meeting/feeds.py
index 66c834ea1..61c010c5e 100644
--- a/ietf/meeting/feeds.py
+++ b/ietf/meeting/feeds.py
@@ -2,8 +2,6 @@
 # -*- coding: utf-8 -*-
 
 
-from __future__ import absolute_import, print_function, unicode_literals
-
 import os
 
 from django.contrib.syndication.views import Feed
diff --git a/ietf/meeting/forms.py b/ietf/meeting/forms.py
index 9028a3eaa..a87c12c1f 100644
--- a/ietf/meeting/forms.py
+++ b/ietf/meeting/forms.py
@@ -1,9 +1,7 @@
-# Copyright The IETF Trust 2016-2019, All Rights Reserved
+# Copyright The IETF Trust 2016-2020, All Rights Reserved
 # -*- coding: utf-8 -*-
 
 
-from __future__ import absolute_import, print_function, unicode_literals
-
 import io
 import os
 import datetime
diff --git a/ietf/meeting/helpers.py b/ietf/meeting/helpers.py
index e5c77a10e..233686fa2 100644
--- a/ietf/meeting/helpers.py
+++ b/ietf/meeting/helpers.py
@@ -2,8 +2,6 @@
 # -*- coding: utf-8 -*-
 
 
-from __future__ import absolute_import, print_function, unicode_literals
-
 import datetime
 import io
 import os
diff --git a/ietf/meeting/management/commands/update_important_dates.py b/ietf/meeting/management/commands/update_important_dates.py
index 8689ba7b3..c1a6ad424 100644
--- a/ietf/meeting/management/commands/update_important_dates.py
+++ b/ietf/meeting/management/commands/update_important_dates.py
@@ -1,9 +1,7 @@
-# Copyright The IETF Trust 2018-2019, All Rights Reserved
+# Copyright The IETF Trust 2018-2020, All Rights Reserved
 # -*- coding: utf-8 -*-
 
 
-from __future__ import absolute_import, print_function, unicode_literals
-
 import datetime
 
 from django.core.management.base import BaseCommand
diff --git a/ietf/meeting/migrations/0001_initial.py b/ietf/meeting/migrations/0001_initial.py
index c8f5aa48d..668fd0392 100644
--- a/ietf/meeting/migrations/0001_initial.py
+++ b/ietf/meeting/migrations/0001_initial.py
@@ -1,10 +1,8 @@
-# Copyright The IETF Trust 2018-2019, All Rights Reserved
+# Copyright The IETF Trust 2018-2020, All Rights Reserved
 # -*- coding: utf-8 -*-
 # Generated by Django 1.11.10 on 2018-02-20 10:52
 
 
-from __future__ import absolute_import, print_function, unicode_literals
-
 import datetime
 import django.core.validators
 from django.db import migrations, models
diff --git a/ietf/meeting/migrations/0002_auto_20180225_1207.py b/ietf/meeting/migrations/0002_auto_20180225_1207.py
index 55709244c..523dd66bc 100644
--- a/ietf/meeting/migrations/0002_auto_20180225_1207.py
+++ b/ietf/meeting/migrations/0002_auto_20180225_1207.py
@@ -1,10 +1,8 @@
-# Copyright The IETF Trust 2018-2019, All Rights Reserved
+# Copyright The IETF Trust 2018-2020, All Rights Reserved
 # -*- coding: utf-8 -*-
 # Generated by Django 1.11.10 on 2018-02-25 12:07
 
 
-from __future__ import absolute_import, print_function, unicode_literals
-
 from django.db import migrations, models
 
 
diff --git a/ietf/meeting/migrations/0003_rename_modified_fields.py b/ietf/meeting/migrations/0003_rename_modified_fields.py
index c63aa49a8..4b1dbbe85 100644
--- a/ietf/meeting/migrations/0003_rename_modified_fields.py
+++ b/ietf/meeting/migrations/0003_rename_modified_fields.py
@@ -1,10 +1,8 @@
-# Copyright The IETF Trust 2018-2019, All Rights Reserved
+# Copyright The IETF Trust 2018-2020, All Rights Reserved
 # -*- coding: utf-8 -*-
 # Generated by Django 1.11.10 on 2018-03-02 14:33
 
 
-from __future__ import absolute_import, print_function, unicode_literals
-
 from django.db import migrations, models
 
 
diff --git a/ietf/meeting/migrations/0004_meeting_attendees.py b/ietf/meeting/migrations/0004_meeting_attendees.py
index 502b0b126..a92945924 100644
--- a/ietf/meeting/migrations/0004_meeting_attendees.py
+++ b/ietf/meeting/migrations/0004_meeting_attendees.py
@@ -1,10 +1,8 @@
-# Copyright The IETF Trust 2018-2019, All Rights Reserved
+# Copyright The IETF Trust 2018-2020, All Rights Reserved
 # -*- coding: utf-8 -*-
 # Generated by Django 1.11.11 on 2018-03-20 09:17
 
 
-from __future__ import absolute_import, print_function, unicode_literals
-
 from django.db import migrations, models
 
 
diff --git a/ietf/meeting/migrations/0005_backfill_old_meetings.py b/ietf/meeting/migrations/0005_backfill_old_meetings.py
index af245617c..928ed4afd 100644
--- a/ietf/meeting/migrations/0005_backfill_old_meetings.py
+++ b/ietf/meeting/migrations/0005_backfill_old_meetings.py
@@ -1,9 +1,7 @@
-# Copyright The IETF Trust 2018-2019, All Rights Reserved
+# Copyright The IETF Trust 2018-2020, All Rights Reserved
 # -*- coding: utf-8 -*-
 
 
-from __future__ import absolute_import, print_function, unicode_literals
-
 from django.db import migrations
 
 
diff --git a/ietf/meeting/migrations/0006_backfill_attendees.py b/ietf/meeting/migrations/0006_backfill_attendees.py
index 2e4103c16..212260d72 100644
--- a/ietf/meeting/migrations/0006_backfill_attendees.py
+++ b/ietf/meeting/migrations/0006_backfill_attendees.py
@@ -1,9 +1,7 @@
-# Copyright The IETF Trust 2018-2019, All Rights Reserved
+# Copyright The IETF Trust 2018-2020, All Rights Reserved
 # -*- coding: utf-8 -*-
 
 
-from __future__ import absolute_import, print_function, unicode_literals
-
 from django.db import migrations
 
 
diff --git a/ietf/meeting/migrations/0007_auto_20180716_1337.py b/ietf/meeting/migrations/0007_auto_20180716_1337.py
index 3079d4cf6..a20d9dba9 100644
--- a/ietf/meeting/migrations/0007_auto_20180716_1337.py
+++ b/ietf/meeting/migrations/0007_auto_20180716_1337.py
@@ -1,10 +1,8 @@
-# Copyright The IETF Trust 2018-2019, All Rights Reserved
+# Copyright The IETF Trust 2018-2020, All Rights Reserved
 # -*- coding: utf-8 -*-
 # Generated by Django 1.11.14 on 2018-07-16 13:37
 
 
-from __future__ import absolute_import, print_function, unicode_literals
-
 from django.db import migrations, models
 
 
diff --git a/ietf/meeting/migrations/0008_rename_meeting_agenda_note.py b/ietf/meeting/migrations/0008_rename_meeting_agenda_note.py
index 528bb2afd..884940c22 100644
--- a/ietf/meeting/migrations/0008_rename_meeting_agenda_note.py
+++ b/ietf/meeting/migrations/0008_rename_meeting_agenda_note.py
@@ -1,10 +1,8 @@
-# Copyright The IETF Trust 2018-2019, All Rights Reserved
+# Copyright The IETF Trust 2018-2020, All Rights Reserved
 # -*- coding: utf-8 -*-
 # Generated by Django 1.11.15 on 2018-10-09 13:09
 
 
-from __future__ import absolute_import, print_function, unicode_literals
-
 from django.db import migrations
 
 
diff --git a/ietf/meeting/migrations/0009_add_agenda_info_note.py b/ietf/meeting/migrations/0009_add_agenda_info_note.py
index 0f527ecaf..8fc4fdb46 100644
--- a/ietf/meeting/migrations/0009_add_agenda_info_note.py
+++ b/ietf/meeting/migrations/0009_add_agenda_info_note.py
@@ -1,10 +1,8 @@
-# Copyright The IETF Trust 2018-2019, All Rights Reserved
+# Copyright The IETF Trust 2018-2020, All Rights Reserved
 # -*- coding: utf-8 -*-
 # Generated by Django 1.11.16 on 2018-10-09 14:07
 
 
-from __future__ import absolute_import, print_function, unicode_literals
-
 from django.db import migrations, models
 
 
diff --git a/ietf/meeting/migrations/0010_set_ietf_103_agenda_info_note.py b/ietf/meeting/migrations/0010_set_ietf_103_agenda_info_note.py
index 92bbd6a24..bb3148f78 100644
--- a/ietf/meeting/migrations/0010_set_ietf_103_agenda_info_note.py
+++ b/ietf/meeting/migrations/0010_set_ietf_103_agenda_info_note.py
@@ -1,10 +1,8 @@
-# Copyright The IETF Trust 2018-2019, All Rights Reserved
+# Copyright The IETF Trust 2018-2020, All Rights Reserved
 # -*- coding: utf-8 -*-
 # Generated by Django 1.11.16 on 2018-10-09 14:23
 
 
-from __future__ import absolute_import, print_function, unicode_literals
-
 from django.db import migrations
 
 def forward(apps,schema_editor):
diff --git a/ietf/meeting/migrations/0011_auto_20190114_0550.py b/ietf/meeting/migrations/0011_auto_20190114_0550.py
index 9e775980a..50b8b71ec 100644
--- a/ietf/meeting/migrations/0011_auto_20190114_0550.py
+++ b/ietf/meeting/migrations/0011_auto_20190114_0550.py
@@ -1,10 +1,8 @@
-# Copyright The IETF Trust 2019, All Rights Reserved
+# Copyright The IETF Trust 2019-2020, All Rights Reserved
 # -*- coding: utf-8 -*-
 # Generated by Django 1.11.18 on 2019-01-14 05:50
 
 
-from __future__ import absolute_import, print_function, unicode_literals
-
 from django.db import migrations, models
 
 
diff --git a/ietf/meeting/migrations/0012_add_slide_submissions.py b/ietf/meeting/migrations/0012_add_slide_submissions.py
index 617809de0..e1a798d59 100644
--- a/ietf/meeting/migrations/0012_add_slide_submissions.py
+++ b/ietf/meeting/migrations/0012_add_slide_submissions.py
@@ -1,10 +1,8 @@
-# Copyright The IETF Trust 2019, All Rights Reserved
+# Copyright The IETF Trust 2019-2020, All Rights Reserved
 # -*- coding: utf-8 -*-
 # Generated by Django 1.11.20 on 2019-03-23 07:41
 
 
-from __future__ import absolute_import, print_function, unicode_literals
-
 from django.db import migrations, models
 import django.db.models.deletion
 import ietf.utils.models
diff --git a/ietf/meeting/migrations/0013_make_separate_break_sessobj.py b/ietf/meeting/migrations/0013_make_separate_break_sessobj.py
index 359f75ce5..ceea5179d 100644
--- a/ietf/meeting/migrations/0013_make_separate_break_sessobj.py
+++ b/ietf/meeting/migrations/0013_make_separate_break_sessobj.py
@@ -1,10 +1,8 @@
-# Copyright The IETF Trust 2019, All Rights Reserved
+# Copyright The IETF Trust 2019-2020, All Rights Reserved
 # -*- coding: utf-8 -*-
 # Generated by Django 1.11.20 on 2019-03-23 06:11
 
 
-from __future__ import absolute_import, print_function, unicode_literals
-
 import datetime
 from django.db import migrations
 
diff --git a/ietf/meeting/migrations/0014_auto_20190426_0305.py b/ietf/meeting/migrations/0014_auto_20190426_0305.py
index d3ff2084f..8f4b6b0b3 100644
--- a/ietf/meeting/migrations/0014_auto_20190426_0305.py
+++ b/ietf/meeting/migrations/0014_auto_20190426_0305.py
@@ -1,10 +1,8 @@
-# Copyright The IETF Trust 2019, All Rights Reserved
+# Copyright The IETF Trust 2019-2020, All Rights Reserved
 # -*- coding: utf-8 -*-
 # Generated by Django 1.11.20 on 2019-04-26 03:05
 
 
-from __future__ import absolute_import, print_function, unicode_literals
-
 from django.db import migrations, models
 
 
diff --git a/ietf/meeting/migrations/0015_sessionpresentation_document2_fk.py b/ietf/meeting/migrations/0015_sessionpresentation_document2_fk.py
index 8354d546e..257a5060c 100644
--- a/ietf/meeting/migrations/0015_sessionpresentation_document2_fk.py
+++ b/ietf/meeting/migrations/0015_sessionpresentation_document2_fk.py
@@ -1,10 +1,8 @@
-# Copyright The IETF Trust 2019, All Rights Reserved
+# Copyright The IETF Trust 2019-2020, All Rights Reserved
 # -*- coding: utf-8 -*-
 # Generated by Django 1.11.20 on 2019-05-08 11:58
 
 
-from __future__ import absolute_import, print_function, unicode_literals
-
 from django.db import migrations
 import django.db.models.deletion
 import ietf.utils.models
diff --git a/ietf/meeting/migrations/0016_remove_sessionpresentation_document.py b/ietf/meeting/migrations/0016_remove_sessionpresentation_document.py
index 724bfcfc0..e93baaa33 100644
--- a/ietf/meeting/migrations/0016_remove_sessionpresentation_document.py
+++ b/ietf/meeting/migrations/0016_remove_sessionpresentation_document.py
@@ -1,10 +1,8 @@
-# Copyright The IETF Trust 2019, All Rights Reserved
+# Copyright The IETF Trust 2019-2020, All Rights Reserved
 # -*- coding: utf-8 -*-
 # Generated by Django 1.11.20 on 2019-05-21 03:57
 
 
-from __future__ import absolute_import, print_function, unicode_literals
-
 from django.db import migrations
 
 
diff --git a/ietf/meeting/migrations/0017_rename_field_document2.py b/ietf/meeting/migrations/0017_rename_field_document2.py
index 5095a33ff..5965d8d20 100644
--- a/ietf/meeting/migrations/0017_rename_field_document2.py
+++ b/ietf/meeting/migrations/0017_rename_field_document2.py
@@ -1,10 +1,8 @@
-# Copyright The IETF Trust 2019, All Rights Reserved
+# Copyright The IETF Trust 2019-2020, All Rights Reserved
 # -*- coding: utf-8 -*-
 # Generated by Django 1.11.20 on 2019-05-21 05:31
 
 
-from __future__ import absolute_import, print_function, unicode_literals
-
 from django.db import migrations
 
 
diff --git a/ietf/meeting/migrations/0018_document_primary_key_cleanup.py b/ietf/meeting/migrations/0018_document_primary_key_cleanup.py
index 786530908..749caa443 100644
--- a/ietf/meeting/migrations/0018_document_primary_key_cleanup.py
+++ b/ietf/meeting/migrations/0018_document_primary_key_cleanup.py
@@ -1,10 +1,8 @@
-# Copyright The IETF Trust 2019, All Rights Reserved
+# Copyright The IETF Trust 2019-2020, All Rights Reserved
 # -*- coding: utf-8 -*-
 # Generated by Django 1.11.20 on 2019-06-10 03:47
 
 
-from __future__ import absolute_import, print_function, unicode_literals
-
 from django.db import migrations
 import django.db.models.deletion
 import ietf.utils.models
diff --git a/ietf/meeting/migrations/0019_slidesubmission_time.py b/ietf/meeting/migrations/0019_slidesubmission_time.py
index 0cdfd1fea..3dc0e2c52 100644
--- a/ietf/meeting/migrations/0019_slidesubmission_time.py
+++ b/ietf/meeting/migrations/0019_slidesubmission_time.py
@@ -1,7 +1,7 @@
-# Copyright The IETF Trust 2019, All Rights Reserved
+# Copyright The IETF Trust 2019-2020, All Rights Reserved
 # -*- coding: utf-8 -*-
 # Generated by Django 1.11.22 on 2019-07-21 14:03
-from __future__ import unicode_literals
+
 
 from django.db import migrations, models
 
diff --git a/ietf/meeting/migrations/0020_remove_future_break_sessions.py b/ietf/meeting/migrations/0020_remove_future_break_sessions.py
index 9ea104043..5d2569b1c 100644
--- a/ietf/meeting/migrations/0020_remove_future_break_sessions.py
+++ b/ietf/meeting/migrations/0020_remove_future_break_sessions.py
@@ -1,8 +1,7 @@
-# Copyright The IETF Trust 2019, All Rights Reserved
+# Copyright The IETF Trust 2019-2020, All Rights Reserved
 # -*- coding: utf-8 -*-
 # Generated by Django 1.11.22 on 2019-07-22 14:56
 
-from __future__ import unicode_literals
 
 import datetime
 from django.db import migrations
diff --git a/ietf/meeting/migrations/0021_rename_meeting_agenda_to_schedule.py b/ietf/meeting/migrations/0021_rename_meeting_agenda_to_schedule.py
index 63bc646e7..5399968cb 100644
--- a/ietf/meeting/migrations/0021_rename_meeting_agenda_to_schedule.py
+++ b/ietf/meeting/migrations/0021_rename_meeting_agenda_to_schedule.py
@@ -1,7 +1,7 @@
-# Copyright The IETF Trust 2019, All Rights Reserved
+# Copyright The IETF Trust 2019-2020, All Rights Reserved
 # -*- coding: utf-8 -*-
 # Generated by Django 1.11.26 on 2019-11-18 04:01
-from __future__ import unicode_literals
+
 
 from django.db import migrations
 import django.db.models.deletion
diff --git a/ietf/meeting/migrations/0022_schedulingevent.py b/ietf/meeting/migrations/0022_schedulingevent.py
index 4ea0091ac..22602a06b 100644
--- a/ietf/meeting/migrations/0022_schedulingevent.py
+++ b/ietf/meeting/migrations/0022_schedulingevent.py
@@ -1,7 +1,7 @@
-# Copyright The IETF Trust 2019, All Rights Reserved
+# Copyright The IETF Trust 2019-2020, All Rights Reserved
 # -*- coding: utf-8 -*-
 # Generated by Django 1.11.26 on 2019-11-19 02:41
-from __future__ import unicode_literals
+
 
 import datetime
 from django.db import migrations, models
diff --git a/ietf/meeting/migrations/0023_create_scheduling_events.py b/ietf/meeting/migrations/0023_create_scheduling_events.py
index d1d07d149..5adcdd59e 100644
--- a/ietf/meeting/migrations/0023_create_scheduling_events.py
+++ b/ietf/meeting/migrations/0023_create_scheduling_events.py
@@ -1,7 +1,7 @@
-# Copyright The IETF Trust 2019, All Rights Reserved
+# Copyright The IETF Trust 2019-2020, All Rights Reserved
 # -*- coding: utf-8 -*-
 # Generated by Django 1.11.26 on 2019-11-19 02:42
-from __future__ import unicode_literals
+
 
 from django.db import migrations
 
diff --git a/ietf/meeting/migrations/0024_auto_20191204_1731.py b/ietf/meeting/migrations/0024_auto_20191204_1731.py
index 7f7454137..828611bb9 100644
--- a/ietf/meeting/migrations/0024_auto_20191204_1731.py
+++ b/ietf/meeting/migrations/0024_auto_20191204_1731.py
@@ -1,7 +1,7 @@
-# Copyright The IETF Trust 2019, All Rights Reserved
+# Copyright The IETF Trust 2019-2020, All Rights Reserved
 # -*- coding: utf-8 -*-
 # Generated by Django 1.11.26 on 2019-12-04 17:31
-from __future__ import unicode_literals
+
 
 from django.db import migrations
 
diff --git a/ietf/meeting/migrations/0025_rename_type_session_to_regular.py b/ietf/meeting/migrations/0025_rename_type_session_to_regular.py
index 51d747a0d..1eeac57b5 100644
--- a/ietf/meeting/migrations/0025_rename_type_session_to_regular.py
+++ b/ietf/meeting/migrations/0025_rename_type_session_to_regular.py
@@ -1,7 +1,7 @@
-# Copyright The IETF Trust 2019, All Rights Reserved
+# Copyright The IETF Trust 2019-2020, All Rights Reserved
 # -*- coding: utf-8 -*-
 # Generated by Django 1.11.26 on 2019-12-06 11:13
-from __future__ import unicode_literals
+
 
 from django.db import migrations
 
diff --git a/ietf/meeting/models.py b/ietf/meeting/models.py
index f802b7539..111711382 100644
--- a/ietf/meeting/models.py
+++ b/ietf/meeting/models.py
@@ -1,6 +1,6 @@
 # Copyright The IETF Trust 2007-2020, All Rights Reserved
 # -*- coding: utf-8 -*-
-from __future__ import absolute_import, print_function, unicode_literals
+
 
 # old meeting models can be found in ../proceedings/models.py
 
diff --git a/ietf/meeting/templatetags/agenda_custom_tags.py b/ietf/meeting/templatetags/agenda_custom_tags.py
index a1501ab64..b04227f23 100644
--- a/ietf/meeting/templatetags/agenda_custom_tags.py
+++ b/ietf/meeting/templatetags/agenda_custom_tags.py
@@ -1,9 +1,7 @@
-# Copyright The IETF Trust 2013-2019, All Rights Reserved
+# Copyright The IETF Trust 2013-2020, All Rights Reserved
 # -*- coding: utf-8 -*-
 
 
-from __future__ import absolute_import, print_function, unicode_literals
-
 from django import template
 
 register = template.Library()
diff --git a/ietf/meeting/test_data.py b/ietf/meeting/test_data.py
index 3c72a4bc1..5ce91cd86 100644
--- a/ietf/meeting/test_data.py
+++ b/ietf/meeting/test_data.py
@@ -2,8 +2,6 @@
 # -*- coding: utf-8 -*-
 
 
-from __future__ import absolute_import, print_function, unicode_literals
-
 import datetime
 
 from django.utils.text import slugify
diff --git a/ietf/meeting/tests_api.py b/ietf/meeting/tests_api.py
index 192222b9b..3bfcec2d0 100644
--- a/ietf/meeting/tests_api.py
+++ b/ietf/meeting/tests_api.py
@@ -2,8 +2,6 @@
 # -*- coding: utf-8 -*-
 
 
-from __future__ import absolute_import, print_function, unicode_literals
-
 import datetime
 
 from urllib.parse import urlsplit
diff --git a/ietf/meeting/tests_js.py b/ietf/meeting/tests_js.py
index bf756ddcd..de96f1424 100644
--- a/ietf/meeting/tests_js.py
+++ b/ietf/meeting/tests_js.py
@@ -1,9 +1,7 @@
-# Copyright The IETF Trust 2014-2019, All Rights Reserved
+# Copyright The IETF Trust 2014-2020, All Rights Reserved
 # -*- coding: utf-8 -*-
 
 
-from __future__ import absolute_import, print_function, unicode_literals
-
 import sys
 import time
 from pyquery import PyQuery 
diff --git a/ietf/meeting/tests_views.py b/ietf/meeting/tests_views.py
index 32efcfa38..b8c8ca0dc 100644
--- a/ietf/meeting/tests_views.py
+++ b/ietf/meeting/tests_views.py
@@ -2,8 +2,6 @@
 # -*- coding: utf-8 -*-
 
 
-from __future__ import absolute_import, print_function, unicode_literals
-
 import datetime
 import io
 import os
diff --git a/ietf/meeting/utils.py b/ietf/meeting/utils.py
index b9e855a4a..4c337be54 100644
--- a/ietf/meeting/utils.py
+++ b/ietf/meeting/utils.py
@@ -2,8 +2,6 @@
 # -*- coding: utf-8 -*-
 
 
-from __future__ import absolute_import, print_function, unicode_literals
-
 import datetime
 import json
 import urllib.request
diff --git a/ietf/meeting/views.py b/ietf/meeting/views.py
index a390dccfc..2d872a676 100644
--- a/ietf/meeting/views.py
+++ b/ietf/meeting/views.py
@@ -2,8 +2,6 @@
 # -*- coding: utf-8 -*-
 
 
-from __future__ import absolute_import, print_function, unicode_literals
-
 import csv
 import datetime
 import glob
diff --git a/ietf/message/management/commands/send_messages.py b/ietf/message/management/commands/send_messages.py
index 3eea53034..4593eab57 100644
--- a/ietf/message/management/commands/send_messages.py
+++ b/ietf/message/management/commands/send_messages.py
@@ -1,8 +1,6 @@
 # Copyright The IETF Trust 2020, All Rights Reserved
 # -*- coding: utf-8 -*-
 
-from __future__ import absolute_import, print_function, unicode_literals
-
 
 import email
 import smtplib
diff --git a/ietf/message/management/commands/show_messages.py b/ietf/message/management/commands/show_messages.py
index 9581eedb1..b232da481 100644
--- a/ietf/message/management/commands/show_messages.py
+++ b/ietf/message/management/commands/show_messages.py
@@ -1,7 +1,6 @@
 # Copyright The IETF Trust 2020, All Rights Reserved
 # -*- coding: utf-8 -*-
 
-from __future__ import absolute_import, print_function, unicode_literals
 
 import email
 import datetime
diff --git a/ietf/message/migrations/0001_initial.py b/ietf/message/migrations/0001_initial.py
index 3fc073cbd..c9e850dfb 100644
--- a/ietf/message/migrations/0001_initial.py
+++ b/ietf/message/migrations/0001_initial.py
@@ -1,10 +1,8 @@
-# Copyright The IETF Trust 2018-2019, All Rights Reserved
+# Copyright The IETF Trust 2018-2020, All Rights Reserved
 # -*- coding: utf-8 -*-
 # Generated by Django 1.11.10 on 2018-02-20 10:52
 
 
-from __future__ import absolute_import, print_function, unicode_literals
-
 import datetime
 from django.db import migrations, models
 import django.db.models.deletion
diff --git a/ietf/message/migrations/0002_add_message_docs2_m2m.py b/ietf/message/migrations/0002_add_message_docs2_m2m.py
index 1402fa8d8..c6a138ba6 100644
--- a/ietf/message/migrations/0002_add_message_docs2_m2m.py
+++ b/ietf/message/migrations/0002_add_message_docs2_m2m.py
@@ -1,10 +1,8 @@
-# Copyright The IETF Trust 2019, All Rights Reserved
+# Copyright The IETF Trust 2019-2020, All Rights Reserved
 # -*- coding: utf-8 -*-
 # Generated by Django 1.11.20 on 2019-05-21 14:23
 
 
-from __future__ import absolute_import, print_function, unicode_literals
-
 from django.db import migrations, models
 import django.db.models.deletion
 import ietf.utils.models
diff --git a/ietf/message/migrations/0003_set_document_m2m_keys.py b/ietf/message/migrations/0003_set_document_m2m_keys.py
index 493adc2ee..6429af443 100644
--- a/ietf/message/migrations/0003_set_document_m2m_keys.py
+++ b/ietf/message/migrations/0003_set_document_m2m_keys.py
@@ -1,10 +1,8 @@
-# Copyright The IETF Trust 2019, All Rights Reserved
+# Copyright The IETF Trust 2019-2020, All Rights Reserved
 # -*- coding: utf-8 -*-
 # Generated by Django 1.11.20 on 2019-05-21 14:27
 
 
-from __future__ import absolute_import, print_function, unicode_literals
-
 import sys
 
 from tqdm import tqdm
diff --git a/ietf/message/migrations/0004_1_del_docs_m2m_table.py b/ietf/message/migrations/0004_1_del_docs_m2m_table.py
index 670609fc7..7b116789d 100644
--- a/ietf/message/migrations/0004_1_del_docs_m2m_table.py
+++ b/ietf/message/migrations/0004_1_del_docs_m2m_table.py
@@ -1,10 +1,8 @@
-# Copyright The IETF Trust 2019, All Rights Reserved
+# Copyright The IETF Trust 2019-2020, All Rights Reserved
 # -*- coding: utf-8 -*-
 # Generated by Django 1.11.20 on 2019-05-22 08:01
 
 
-from __future__ import absolute_import, print_function, unicode_literals
-
 from django.db import migrations, models
 
 
diff --git a/ietf/message/migrations/0004_2_add_docs_m2m_table.py b/ietf/message/migrations/0004_2_add_docs_m2m_table.py
index 9da02c6e6..4f24a26fe 100644
--- a/ietf/message/migrations/0004_2_add_docs_m2m_table.py
+++ b/ietf/message/migrations/0004_2_add_docs_m2m_table.py
@@ -1,10 +1,8 @@
-# Copyright The IETF Trust 2019, All Rights Reserved
+# Copyright The IETF Trust 2019-2020, All Rights Reserved
 # -*- coding: utf-8 -*-
 # Generated by Django 1.11.20 on 2019-05-22 08:01
 
 
-from __future__ import absolute_import, print_function, unicode_literals
-
 from django.db import migrations, models
 
 
diff --git a/ietf/message/migrations/0005_copy_docs_m2m_table.py b/ietf/message/migrations/0005_copy_docs_m2m_table.py
index f85def627..8f7c18588 100644
--- a/ietf/message/migrations/0005_copy_docs_m2m_table.py
+++ b/ietf/message/migrations/0005_copy_docs_m2m_table.py
@@ -1,10 +1,8 @@
-# Copyright The IETF Trust 2019, All Rights Reserved
+# Copyright The IETF Trust 2019-2020, All Rights Reserved
 # -*- coding: utf-8 -*-
 # Generated by Django 1.11.20 on 2019-05-27 05:56
 
 
-from __future__ import absolute_import, print_function, unicode_literals
-
 import sys, time
 
 from django.db import migrations
diff --git a/ietf/message/migrations/0006_remove_docs2_m2m.py b/ietf/message/migrations/0006_remove_docs2_m2m.py
index 58743da07..97e3ef5f0 100644
--- a/ietf/message/migrations/0006_remove_docs2_m2m.py
+++ b/ietf/message/migrations/0006_remove_docs2_m2m.py
@@ -1,10 +1,8 @@
-# Copyright The IETF Trust 2019, All Rights Reserved
+# Copyright The IETF Trust 2019-2020, All Rights Reserved
 # -*- coding: utf-8 -*-
 # Generated by Django 1.11.20 on 2019-05-30 03:32
 
 
-from __future__ import absolute_import, print_function, unicode_literals
-
 from django.db import migrations
 
 
diff --git a/ietf/message/migrations/0007_message_sent.py b/ietf/message/migrations/0007_message_sent.py
index 611c3843f..9ab1a4041 100644
--- a/ietf/message/migrations/0007_message_sent.py
+++ b/ietf/message/migrations/0007_message_sent.py
@@ -1,7 +1,7 @@
 # Copyright The IETF Trust 2020, All Rights Reserved
 # -*- coding: utf-8 -*-
 # Generated by Django 1.11.27 on 2020-02-22 09:29
-from __future__ import unicode_literals
+
 
 from django.db import migrations, models
 
diff --git a/ietf/message/migrations/0008_set_message_sent.py b/ietf/message/migrations/0008_set_message_sent.py
index 5d4bb805a..281099305 100644
--- a/ietf/message/migrations/0008_set_message_sent.py
+++ b/ietf/message/migrations/0008_set_message_sent.py
@@ -3,8 +3,6 @@
 # Generated by Django 1.11.20 on 2019-05-21 14:27
 
 
-from __future__ import absolute_import, print_function, unicode_literals
-
 from tqdm import tqdm
 
 from django.db import migrations
diff --git a/ietf/message/migrations/0009_fix_address_lists.py b/ietf/message/migrations/0009_fix_address_lists.py
index 736225da8..e14b6511c 100644
--- a/ietf/message/migrations/0009_fix_address_lists.py
+++ b/ietf/message/migrations/0009_fix_address_lists.py
@@ -3,8 +3,6 @@
 # Generated by Django 1.11.20 on 2019-05-21 14:27
 
 
-from __future__ import absolute_import, print_function, unicode_literals
-
 from tqdm import tqdm
 
 from django.db import migrations
diff --git a/ietf/message/migrations/0010_fix_content_type.py b/ietf/message/migrations/0010_fix_content_type.py
index e2b6c7152..074114290 100644
--- a/ietf/message/migrations/0010_fix_content_type.py
+++ b/ietf/message/migrations/0010_fix_content_type.py
@@ -3,8 +3,6 @@
 # Generated by Django 1.11.20 on 2019-05-21 14:27
 
 
-from __future__ import absolute_import, print_function, unicode_literals
-
 from tqdm import tqdm
 
 from django.db import migrations
diff --git a/ietf/message/models.py b/ietf/message/models.py
index d66564228..3c8bbd0c9 100644
--- a/ietf/message/models.py
+++ b/ietf/message/models.py
@@ -2,8 +2,6 @@
 # -*- coding: utf-8 -*-
 
 
-from __future__ import absolute_import, print_function, unicode_literals
-
 import datetime
 import email.utils
 
diff --git a/ietf/message/tests.py b/ietf/message/tests.py
index a499344c7..c610cdbb1 100644
--- a/ietf/message/tests.py
+++ b/ietf/message/tests.py
@@ -2,8 +2,6 @@
 # -*- coding: utf-8 -*-
 
 
-from __future__ import absolute_import, print_function, unicode_literals
-
 import datetime
 
 from django.urls import reverse as urlreverse
diff --git a/ietf/message/utils.py b/ietf/message/utils.py
index 4ee1b0033..1acda232a 100644
--- a/ietf/message/utils.py
+++ b/ietf/message/utils.py
@@ -2,8 +2,6 @@
 # -*- coding: utf-8 -*-
 
 
-from __future__ import absolute_import, print_function, unicode_literals
-
 import re, datetime, email
 
 from django.utils.encoding import force_str
diff --git a/ietf/middleware.py b/ietf/middleware.py
index b0759894e..3e1579561 100644
--- a/ietf/middleware.py
+++ b/ietf/middleware.py
@@ -1,9 +1,7 @@
-# Copyright The IETF Trust 2007-2019, All Rights Reserved
+# Copyright The IETF Trust 2007-2020, All Rights Reserved
 # -*- coding: utf-8 -*-
 
 
-from __future__ import absolute_import, print_function, unicode_literals
-
 from django.db import connection
 from django.db.utils import OperationalError
 from django.shortcuts import render
diff --git a/ietf/name/management/commands/generate_name_fixture.py b/ietf/name/management/commands/generate_name_fixture.py
index 5409286e4..4db04bb50 100644
--- a/ietf/name/management/commands/generate_name_fixture.py
+++ b/ietf/name/management/commands/generate_name_fixture.py
@@ -1,4 +1,4 @@
-# Copyright The IETF Trust 2011-2019, All Rights Reserved
+# Copyright The IETF Trust 2019-2020, All Rights Reserved
 #!/usr/bin/python
 
 # simple script for exporting name related base data for the tests
@@ -6,9 +6,8 @@
 import inspect
 import io
 import os, sys
-import six
-if six.PY3:
-    from typing import Any, List        # pyflakes:ignore
+
+from typing import Any, List        # pyflakes:ignore
 
 
 from django.conf import settings
diff --git a/ietf/name/migrations/0001_initial.py b/ietf/name/migrations/0001_initial.py
index 6dafea236..075054504 100644
--- a/ietf/name/migrations/0001_initial.py
+++ b/ietf/name/migrations/0001_initial.py
@@ -1,13 +1,9 @@
-# Copyright The IETF Trust 2018-2019, All Rights Reserved
+# Copyright The IETF Trust 2018-2020, All Rights Reserved
 # -*- coding: utf-8 -*-
 # Generated by Django 1.11.10 on 2018-02-20 10:52
 
 
-from __future__ import absolute_import, print_function, unicode_literals
-
-import six
-if six.PY3:
-    from typing import List, Tuple      # pyflakes:ignore
+from typing import List, Tuple      # pyflakes:ignore
 
 from django.db import migrations, models
 import django.db.models.deletion
diff --git a/ietf/name/migrations/0002_agendatypename.py b/ietf/name/migrations/0002_agendatypename.py
index cf9f42950..f916f60da 100644
--- a/ietf/name/migrations/0002_agendatypename.py
+++ b/ietf/name/migrations/0002_agendatypename.py
@@ -1,10 +1,8 @@
-# Copyright The IETF Trust 2018-2019, All Rights Reserved
+# Copyright The IETF Trust 2018-2020, All Rights Reserved
 # -*- coding: utf-8 -*-
 # Generated by Django 1.11.13 on 2018-07-10 13:47
 
 
-from __future__ import absolute_import, print_function, unicode_literals
-
 from django.db import migrations, models
 
 class Migration(migrations.Migration):
diff --git a/ietf/name/migrations/0003_agendatypename_data.py b/ietf/name/migrations/0003_agendatypename_data.py
index 48d72129d..4db2056d7 100644
--- a/ietf/name/migrations/0003_agendatypename_data.py
+++ b/ietf/name/migrations/0003_agendatypename_data.py
@@ -1,10 +1,8 @@
-# Copyright The IETF Trust 2018-2019, All Rights Reserved
+# Copyright The IETF Trust 2018-2020, All Rights Reserved
 # -*- coding: utf-8 -*-
 # Generated by Django 1.11.13 on 2018-07-10 13:47
 
 
-from __future__ import absolute_import, print_function, unicode_literals
-
 from django.db import migrations
 
 agenda_type_names = (
diff --git a/ietf/name/migrations/0004_add_prefix_to_doctypenames.py b/ietf/name/migrations/0004_add_prefix_to_doctypenames.py
index 038b7c2a5..05c103319 100644
--- a/ietf/name/migrations/0004_add_prefix_to_doctypenames.py
+++ b/ietf/name/migrations/0004_add_prefix_to_doctypenames.py
@@ -1,10 +1,8 @@
-# Copyright The IETF Trust 2018-2019, All Rights Reserved
+# Copyright The IETF Trust 2018-2020, All Rights Reserved
 # -*- coding: utf-8 -*-
 # Generated by Django 1.11.16 on 2018-10-19 11:34
 
 
-from __future__ import absolute_import, print_function, unicode_literals
-
 from django.db import migrations
 
 def forward(apps, schema_editor):
diff --git a/ietf/name/migrations/0005_reviewassignmentstatename.py b/ietf/name/migrations/0005_reviewassignmentstatename.py
index c8660920d..d75f9b774 100644
--- a/ietf/name/migrations/0005_reviewassignmentstatename.py
+++ b/ietf/name/migrations/0005_reviewassignmentstatename.py
@@ -1,10 +1,8 @@
-# Copyright The IETF Trust 2019, All Rights Reserved
+# Copyright The IETF Trust 2019-2020, All Rights Reserved
 # -*- coding: utf-8 -*-
 # Generated by Django 1.11.18 on 2019-01-04 13:59
 
 
-from __future__ import absolute_import, print_function, unicode_literals
-
 from django.db import migrations, models
 
 
diff --git a/ietf/name/migrations/0006_adjust_statenames.py b/ietf/name/migrations/0006_adjust_statenames.py
index 116e25f3c..6c6092407 100644
--- a/ietf/name/migrations/0006_adjust_statenames.py
+++ b/ietf/name/migrations/0006_adjust_statenames.py
@@ -1,10 +1,8 @@
-# Copyright The IETF Trust 2019, All Rights Reserved
+# Copyright The IETF Trust 2019-2020, All Rights Reserved
 # -*- coding: utf-8 -*-
 # Generated by Django 1.11.18 on 2019-01-04 14:02
 
 
-from __future__ import absolute_import, print_function, unicode_literals
-
 from django.db import migrations
 
 def forward(apps, schema_editor):
diff --git a/ietf/name/migrations/0007_fix_m2m_slug_id_length.py b/ietf/name/migrations/0007_fix_m2m_slug_id_length.py
index 4449680f9..578415bc5 100644
--- a/ietf/name/migrations/0007_fix_m2m_slug_id_length.py
+++ b/ietf/name/migrations/0007_fix_m2m_slug_id_length.py
@@ -1,6 +1,6 @@
-# Copyright The IETF Trust 2019, All Rights Reserved
+# Copyright The IETF Trust 2019-2020, All Rights Reserved
 # -*- coding: utf-8 -*-
-from __future__ import unicode_literals
+
 
 from django.db import migrations
 
diff --git a/ietf/name/migrations/0008_reviewerqueuepolicyname.py b/ietf/name/migrations/0008_reviewerqueuepolicyname.py
index 7e9804245..caee6384b 100644
--- a/ietf/name/migrations/0008_reviewerqueuepolicyname.py
+++ b/ietf/name/migrations/0008_reviewerqueuepolicyname.py
@@ -1,7 +1,7 @@
-# Copyright The IETF Trust 2019, All Rights Reserved
+# Copyright The IETF Trust 2019-2020, All Rights Reserved
 # -*- coding: utf-8 -*-
 # Generated by Django 1.11.23 on 2019-11-18 08:35
-from __future__ import unicode_literals
+
 
 from django.db import migrations, models
 
diff --git a/ietf/name/migrations/0009_add_verified_errata_to_doctagname.py b/ietf/name/migrations/0009_add_verified_errata_to_doctagname.py
index ba64796a8..94c1134d6 100644
--- a/ietf/name/migrations/0009_add_verified_errata_to_doctagname.py
+++ b/ietf/name/migrations/0009_add_verified_errata_to_doctagname.py
@@ -1,7 +1,6 @@
 # Copyright The IETF Trust 2020, All Rights Reserved
 # -*- coding: utf-8 -*-
 
-from __future__ import absolute_import, print_function, unicode_literals
 
 from django.db import migrations
 
diff --git a/ietf/name/models.py b/ietf/name/models.py
index 9e85999a8..f12040fc4 100644
--- a/ietf/name/models.py
+++ b/ietf/name/models.py
@@ -1,9 +1,7 @@
-# Copyright The IETF Trust 2010-2019, All Rights Reserved
+# Copyright The IETF Trust 2010-2020, All Rights Reserved
 # -*- coding: utf-8 -*-
 
 
-from __future__ import absolute_import, print_function, unicode_literals
-
 from django.db import models
 from django.utils.encoding import python_2_unicode_compatible
 
diff --git a/ietf/nomcom/admin.py b/ietf/nomcom/admin.py
index 10cea0be4..252a5f845 100644
--- a/ietf/nomcom/admin.py
+++ b/ietf/nomcom/admin.py
@@ -1,9 +1,7 @@
-# Copyright The IETF Trust 2012-2019, All Rights Reserved
+# Copyright The IETF Trust 2012-2020, All Rights Reserved
 # -*- coding: utf-8 -*-
 
 
-from __future__ import absolute_import, print_function, unicode_literals
-
 from django.contrib import admin
 
 from ietf.nomcom.models import ( ReminderDates, NomCom, Nomination, Nominee, NomineePosition, 
diff --git a/ietf/nomcom/decorators.py b/ietf/nomcom/decorators.py
index bbaebd0cd..a002f7c7e 100644
--- a/ietf/nomcom/decorators.py
+++ b/ietf/nomcom/decorators.py
@@ -1,9 +1,7 @@
-# Copyright The IETF Trust 2012-2019, All Rights Reserved
+# Copyright The IETF Trust 2012-2020, All Rights Reserved
 # -*- coding: utf-8 -*-
 
 
-from __future__ import absolute_import, print_function, unicode_literals
-
 import functools
 
 from django.urls import reverse
diff --git a/ietf/nomcom/factories.py b/ietf/nomcom/factories.py
index ef46291b8..a772a0424 100644
--- a/ietf/nomcom/factories.py
+++ b/ietf/nomcom/factories.py
@@ -1,9 +1,7 @@
-# Copyright The IETF Trust 2015-2019, All Rights Reserved
+# Copyright The IETF Trust 2015-2020, All Rights Reserved
 # -*- coding: utf-8 -*-
 
 
-from __future__ import absolute_import, print_function, unicode_literals
-
 import factory
 import random
 
diff --git a/ietf/nomcom/fields.py b/ietf/nomcom/fields.py
index be8c5ba6c..e64fce089 100644
--- a/ietf/nomcom/fields.py
+++ b/ietf/nomcom/fields.py
@@ -1,9 +1,7 @@
-# Copyright The IETF Trust 2012-2019, All Rights Reserved
+# Copyright The IETF Trust 2012-2020, All Rights Reserved
 # -*- coding: utf-8 -*-
 
 
-from __future__ import absolute_import, print_function, unicode_literals
-
 from django.conf import settings
 from django.db import models
 from django.utils.encoding import smart_str
diff --git a/ietf/nomcom/forms.py b/ietf/nomcom/forms.py
index 84cb87664..52780d271 100644
--- a/ietf/nomcom/forms.py
+++ b/ietf/nomcom/forms.py
@@ -2,8 +2,6 @@
 # -*- coding: utf-8 -*-
 
 
-from __future__ import absolute_import, print_function, unicode_literals
-
 from typing import List, Tuple      # pyflakes:ignore
 
 from django.conf import settings
diff --git a/ietf/nomcom/management/commands/feedback_email.py b/ietf/nomcom/management/commands/feedback_email.py
index 7774a6c08..fef340275 100644
--- a/ietf/nomcom/management/commands/feedback_email.py
+++ b/ietf/nomcom/management/commands/feedback_email.py
@@ -1,9 +1,7 @@
-# Copyright The IETF Trust 2013-2019, All Rights Reserved
+# Copyright The IETF Trust 2013-2020, All Rights Reserved
 # -*- coding: utf-8 -*-
 
 
-from __future__ import absolute_import, print_function, unicode_literals
-
 import io
 import sys
 
diff --git a/ietf/nomcom/management/commands/make_dummy_nomcom.py b/ietf/nomcom/management/commands/make_dummy_nomcom.py
index 2e34aba6a..417182b79 100644
--- a/ietf/nomcom/management/commands/make_dummy_nomcom.py
+++ b/ietf/nomcom/management/commands/make_dummy_nomcom.py
@@ -2,8 +2,6 @@
 # -*- coding: utf-8 -*-
 
 
-from __future__ import absolute_import, print_function, unicode_literals
-
 import socket
 
 from django.core.management.base import BaseCommand
diff --git a/ietf/nomcom/management/commands/send_reminders.py b/ietf/nomcom/management/commands/send_reminders.py
index a4a442de8..3dce0a361 100644
--- a/ietf/nomcom/management/commands/send_reminders.py
+++ b/ietf/nomcom/management/commands/send_reminders.py
@@ -1,9 +1,7 @@
-# Copyright The IETF Trust 2013-2019, All Rights Reserved
+# Copyright The IETF Trust 2013-2020, All Rights Reserved
 # -*- coding: utf-8 -*-
 
 
-from __future__ import absolute_import, print_function, unicode_literals
-
 import datetime
 import syslog
 
diff --git a/ietf/nomcom/migrations/0001_initial.py b/ietf/nomcom/migrations/0001_initial.py
index a2c41ff44..9ef8e5476 100644
--- a/ietf/nomcom/migrations/0001_initial.py
+++ b/ietf/nomcom/migrations/0001_initial.py
@@ -1,10 +1,8 @@
-# Copyright The IETF Trust 2018-2019, All Rights Reserved
+# Copyright The IETF Trust 2018-2020, All Rights Reserved
 # -*- coding: utf-8 -*-
 # Generated by Django 1.11.10 on 2018-02-20 10:52
 
 
-from __future__ import absolute_import, print_function, unicode_literals
-
 from django.conf import settings
 from django.db import migrations, models
 import django.db.models.deletion
diff --git a/ietf/nomcom/migrations/0002_auto_20180918_0550.py b/ietf/nomcom/migrations/0002_auto_20180918_0550.py
index 9d32121c9..44fd8d4df 100644
--- a/ietf/nomcom/migrations/0002_auto_20180918_0550.py
+++ b/ietf/nomcom/migrations/0002_auto_20180918_0550.py
@@ -1,10 +1,8 @@
-# Copyright The IETF Trust 2018-2019, All Rights Reserved
+# Copyright The IETF Trust 2018-2020, All Rights Reserved
 # -*- coding: utf-8 -*-
 # Generated by Django 1.11.15 on 2018-09-18 05:50
 
 
-from __future__ import absolute_import, print_function, unicode_literals
-
 from django.conf import settings
 from django.db import migrations
 import django.db.models.deletion
diff --git a/ietf/nomcom/migrations/0003_nomcom_show_accepted_nominees.py b/ietf/nomcom/migrations/0003_nomcom_show_accepted_nominees.py
index df2b37105..cc7d73283 100644
--- a/ietf/nomcom/migrations/0003_nomcom_show_accepted_nominees.py
+++ b/ietf/nomcom/migrations/0003_nomcom_show_accepted_nominees.py
@@ -1,10 +1,8 @@
-# Copyright The IETF Trust 2018-2019, All Rights Reserved
+# Copyright The IETF Trust 2018-2020, All Rights Reserved
 # -*- coding: utf-8 -*-
 # Generated by Django 1.11.15 on 2018-09-26 11:10
 
 
-from __future__ import absolute_import, print_function, unicode_literals
-
 from django.db import migrations, models
 
 
diff --git a/ietf/nomcom/migrations/0004_set_show_accepted_nominees_false_on_existing_nomcoms.py b/ietf/nomcom/migrations/0004_set_show_accepted_nominees_false_on_existing_nomcoms.py
index d3ab2f478..7f4746a27 100644
--- a/ietf/nomcom/migrations/0004_set_show_accepted_nominees_false_on_existing_nomcoms.py
+++ b/ietf/nomcom/migrations/0004_set_show_accepted_nominees_false_on_existing_nomcoms.py
@@ -1,10 +1,8 @@
-# Copyright The IETF Trust 2018-2019, All Rights Reserved
+# Copyright The IETF Trust 2018-2020, All Rights Reserved
 # -*- coding: utf-8 -*-
 # Generated by Django 1.11.15 on 2018-09-26 11:12
 
 
-from __future__ import absolute_import, print_function, unicode_literals
-
 from django.db import migrations
 
 def forward(apps, schema_editor):
diff --git a/ietf/nomcom/migrations/0005_auto_20181008_0602.py b/ietf/nomcom/migrations/0005_auto_20181008_0602.py
index 9a5a37d4f..cd56b0993 100644
--- a/ietf/nomcom/migrations/0005_auto_20181008_0602.py
+++ b/ietf/nomcom/migrations/0005_auto_20181008_0602.py
@@ -1,10 +1,8 @@
-# Copyright The IETF Trust 2018-2019, All Rights Reserved
+# Copyright The IETF Trust 2018-2020, All Rights Reserved
 # -*- coding: utf-8 -*-
 # Generated by Django 1.11.16 on 2018-10-08 06:02
 
 
-from __future__ import absolute_import, print_function, unicode_literals
-
 from django.db import migrations
 
 
diff --git a/ietf/nomcom/migrations/0006_auto_20190716_1216.py b/ietf/nomcom/migrations/0006_auto_20190716_1216.py
index ab355eb2f..7c3a374f4 100644
--- a/ietf/nomcom/migrations/0006_auto_20190716_1216.py
+++ b/ietf/nomcom/migrations/0006_auto_20190716_1216.py
@@ -1,7 +1,7 @@
-# Copyright The IETF Trust 2019, All Rights Reserved
+# Copyright The IETF Trust 2019-2020, All Rights Reserved
 # -*- coding: utf-8 -*-
 # Generated by Django 1.11.22 on 2019-07-16 12:16
-from __future__ import unicode_literals
+
 
 from django.db import migrations, models
 
diff --git a/ietf/nomcom/migrations/0007_position_is_iesg_position.py b/ietf/nomcom/migrations/0007_position_is_iesg_position.py
index 25ebb48f9..edd4cf0f0 100644
--- a/ietf/nomcom/migrations/0007_position_is_iesg_position.py
+++ b/ietf/nomcom/migrations/0007_position_is_iesg_position.py
@@ -1,7 +1,7 @@
 # Copyright The IETF Trust 2020, All Rights Reserved
 # -*- coding: utf-8 -*-
 # Generated by Django 1.11.27 on 2020-01-07 14:41
-from __future__ import unicode_literals
+
 
 from django.db import migrations, models
 
diff --git a/ietf/nomcom/models.py b/ietf/nomcom/models.py
index 4a69bd238..53d9f375c 100644
--- a/ietf/nomcom/models.py
+++ b/ietf/nomcom/models.py
@@ -1,6 +1,6 @@
 # Copyright The IETF Trust 2012-2020, All Rights Reserved
 # -*- coding: utf-8 -*-
-from __future__ import absolute_import, print_function, unicode_literals
+
 
 import os
 
diff --git a/ietf/nomcom/test_data.py b/ietf/nomcom/test_data.py
index 29d92029e..fc4c4fded 100644
--- a/ietf/nomcom/test_data.py
+++ b/ietf/nomcom/test_data.py
@@ -2,8 +2,6 @@
 # -*- coding: utf-8 -*-
 
 
-from __future__ import absolute_import, print_function, unicode_literals
-
 import io
 import tempfile
 import os
diff --git a/ietf/nomcom/tests.py b/ietf/nomcom/tests.py
index 44c975e01..0ecd441e8 100644
--- a/ietf/nomcom/tests.py
+++ b/ietf/nomcom/tests.py
@@ -2,8 +2,6 @@
 # -*- coding: utf-8 -*-
 
 
-from __future__ import absolute_import, print_function, unicode_literals
-
 import datetime
 import io
 import random
diff --git a/ietf/nomcom/utils.py b/ietf/nomcom/utils.py
index c5d5f90ba..c416c1298 100644
--- a/ietf/nomcom/utils.py
+++ b/ietf/nomcom/utils.py
@@ -2,8 +2,6 @@
 # -*- coding: utf-8 -*-
 
 
-from __future__ import absolute_import, print_function, unicode_literals
-
 import datetime
 import hashlib
 import os
diff --git a/ietf/nomcom/views.py b/ietf/nomcom/views.py
index 5480cc12c..68adaae2b 100644
--- a/ietf/nomcom/views.py
+++ b/ietf/nomcom/views.py
@@ -1,9 +1,7 @@
-# Copyright The IETF Trust 2012-2019, All Rights Reserved
+# Copyright The IETF Trust 2012-2020, All Rights Reserved
 # -*- coding: utf-8 -*-
 
 
-from __future__ import absolute_import, print_function, unicode_literals
-
 import datetime
 import re
 from collections import OrderedDict, Counter
diff --git a/ietf/person/factories.py b/ietf/person/factories.py
index e076b4ef7..7cbe621a9 100644
--- a/ietf/person/factories.py
+++ b/ietf/person/factories.py
@@ -1,9 +1,7 @@
-# Copyright The IETF Trust 2015-2019, All Rights Reserved
+# Copyright The IETF Trust 2015-2020, All Rights Reserved
 # -*- coding: utf-8 -*-
 
 
-from __future__ import absolute_import, print_function, unicode_literals
-
 import factory
 import faker 
 import faker.config
diff --git a/ietf/person/fields.py b/ietf/person/fields.py
index 7f4fdbfb6..a90d0a62c 100644
--- a/ietf/person/fields.py
+++ b/ietf/person/fields.py
@@ -2,8 +2,6 @@
 # -*- coding: utf-8 -*-
 
 
-from __future__ import absolute_import, print_function, unicode_literals
-
 import json
 
 from collections import Counter
diff --git a/ietf/person/forms.py b/ietf/person/forms.py
index d146aa0b1..81ee36256 100644
--- a/ietf/person/forms.py
+++ b/ietf/person/forms.py
@@ -1,10 +1,7 @@
-# Copyright The IETF Trust 2018-2019, All Rights Reserved
+# Copyright The IETF Trust 2018-2020, All Rights Reserved
 # -*- coding: utf-8 -*-
 
 
-from __future__ import absolute_import, print_function, unicode_literals
-
-
 from django import forms
 from ietf.person.models import Person
 
diff --git a/ietf/person/management/commands/deactivate_email_addresses.py b/ietf/person/management/commands/deactivate_email_addresses.py
index 04357dc9f..c91761987 100644
--- a/ietf/person/management/commands/deactivate_email_addresses.py
+++ b/ietf/person/management/commands/deactivate_email_addresses.py
@@ -1,9 +1,7 @@
-# Copyright The IETF Trust 2018-2019, All Rights Reserved
+# Copyright The IETF Trust 2018-2020, All Rights Reserved
 # -*- coding: utf-8 -*-
 
 
-from __future__ import absolute_import, print_function, unicode_literals
-
 import flufl.bounce
 import io
 import mailbox
diff --git a/ietf/person/migrations/0001_initial.py b/ietf/person/migrations/0001_initial.py
index 6e73eacbe..72f6c9105 100644
--- a/ietf/person/migrations/0001_initial.py
+++ b/ietf/person/migrations/0001_initial.py
@@ -1,10 +1,8 @@
-# Copyright The IETF Trust 2018-2019, All Rights Reserved
+# Copyright The IETF Trust 2018-2020, All Rights Reserved
 # -*- coding: utf-8 -*-
 # Generated by Django 1.11.10 on 2018-02-20 10:52
 
 
-from __future__ import absolute_import, print_function, unicode_literals
-
 import datetime
 from django.conf import settings
 import django.core.validators
diff --git a/ietf/person/migrations/0002_auto_20180330_0808.py b/ietf/person/migrations/0002_auto_20180330_0808.py
index 455389865..ec2d2d893 100644
--- a/ietf/person/migrations/0002_auto_20180330_0808.py
+++ b/ietf/person/migrations/0002_auto_20180330_0808.py
@@ -1,10 +1,8 @@
-# Copyright The IETF Trust 2018-2019, All Rights Reserved
+# Copyright The IETF Trust 2018-2020, All Rights Reserved
 # -*- coding: utf-8 -*-
 # Generated by Django 1.11.11 on 2018-03-30 08:08
 
 
-from __future__ import absolute_import, print_function, unicode_literals
-
 from django.db import migrations, models
 
 
diff --git a/ietf/person/migrations/0003_auto_20180504_1519.py b/ietf/person/migrations/0003_auto_20180504_1519.py
index b7e9cbd97..928c637c5 100644
--- a/ietf/person/migrations/0003_auto_20180504_1519.py
+++ b/ietf/person/migrations/0003_auto_20180504_1519.py
@@ -1,10 +1,8 @@
-# Copyright The IETF Trust 2018-2019, All Rights Reserved
+# Copyright The IETF Trust 2018-2020, All Rights Reserved
 # -*- coding: utf-8 -*-
 # Generated by Django 1.11.12 on 2018-05-04 15:19
 
 
-from __future__ import absolute_import, print_function, unicode_literals
-
 import datetime
 from django.conf import settings
 import django.core.validators
diff --git a/ietf/person/migrations/0004_populate_email_origin.py b/ietf/person/migrations/0004_populate_email_origin.py
index 5a07e0b83..147b7b70c 100644
--- a/ietf/person/migrations/0004_populate_email_origin.py
+++ b/ietf/person/migrations/0004_populate_email_origin.py
@@ -1,10 +1,8 @@
-# Copyright The IETF Trust 2018-2019, All Rights Reserved
+# Copyright The IETF Trust 2018-2020, All Rights Reserved
 # -*- coding: utf-8 -*-
 # Generated by Django 1.11.12 on 2018-05-10 05:28
 
 
-from __future__ import absolute_import, print_function, unicode_literals
-
 import sys
 
 from django.db import migrations
diff --git a/ietf/person/migrations/0005_populate_person_name_from_draft.py b/ietf/person/migrations/0005_populate_person_name_from_draft.py
index dc4cb829d..d83dd2284 100644
--- a/ietf/person/migrations/0005_populate_person_name_from_draft.py
+++ b/ietf/person/migrations/0005_populate_person_name_from_draft.py
@@ -1,10 +1,8 @@
-# Copyright The IETF Trust 2018-2019, All Rights Reserved
+# Copyright The IETF Trust 2018-2020, All Rights Reserved
 # -*- coding: utf-8 -*-
 # Generated by Django 1.11.12 on 2018-05-10 05:28
 
 
-from __future__ import absolute_import, print_function, unicode_literals
-
 import sys
 
 from django.db import migrations
diff --git a/ietf/person/migrations/0006_auto_20180910_0719.py b/ietf/person/migrations/0006_auto_20180910_0719.py
index 2a86ac351..9e17137a8 100644
--- a/ietf/person/migrations/0006_auto_20180910_0719.py
+++ b/ietf/person/migrations/0006_auto_20180910_0719.py
@@ -1,10 +1,8 @@
-# Copyright The IETF Trust 2018-2019, All Rights Reserved
+# Copyright The IETF Trust 2018-2020, All Rights Reserved
 # -*- coding: utf-8 -*-
 # Generated by Django 1.11.13 on 2018-09-10 07:19
 
 
-from __future__ import absolute_import, print_function, unicode_literals
-
 from django.conf import settings
 from django.db import migrations
 import django.db.models.deletion
diff --git a/ietf/person/migrations/0007_auto_20180929_1303.py b/ietf/person/migrations/0007_auto_20180929_1303.py
index 4c83b5177..b4e41d7fa 100644
--- a/ietf/person/migrations/0007_auto_20180929_1303.py
+++ b/ietf/person/migrations/0007_auto_20180929_1303.py
@@ -1,10 +1,8 @@
-# Copyright The IETF Trust 2018-2019, All Rights Reserved
+# Copyright The IETF Trust 2018-2020, All Rights Reserved
 # -*- coding: utf-8 -*-
 # Generated by Django 1.11.15 on 2018-09-29 13:03
 
 
-from __future__ import absolute_import, print_function, unicode_literals
-
 from django.db import migrations, models
 
 
diff --git a/ietf/person/migrations/0008_auto_20181014_1448.py b/ietf/person/migrations/0008_auto_20181014_1448.py
index 9712919af..f6d765b02 100644
--- a/ietf/person/migrations/0008_auto_20181014_1448.py
+++ b/ietf/person/migrations/0008_auto_20181014_1448.py
@@ -1,10 +1,8 @@
-# Copyright The IETF Trust 2018-2019, All Rights Reserved
+# Copyright The IETF Trust 2018-2020, All Rights Reserved
 # -*- coding: utf-8 -*-
 # Generated by Django 1.11.16 on 2018-10-14 14:48
 
 
-from __future__ import absolute_import, print_function, unicode_literals
-
 from django.db import migrations, models
 
 
diff --git a/ietf/person/migrations/0009_auto_20190118_0725.py b/ietf/person/migrations/0009_auto_20190118_0725.py
index 3ceb958b9..be609f109 100644
--- a/ietf/person/migrations/0009_auto_20190118_0725.py
+++ b/ietf/person/migrations/0009_auto_20190118_0725.py
@@ -1,10 +1,8 @@
-# Copyright The IETF Trust 2019, All Rights Reserved
+# Copyright The IETF Trust 2019-2020, All Rights Reserved
 # -*- coding: utf-8 -*-
 # Generated by Django 1.11.18 on 2019-01-18 07:25
 
 
-from __future__ import absolute_import, print_function, unicode_literals
-
 from django.db import migrations, models
 
 
diff --git a/ietf/person/models.py b/ietf/person/models.py
index 6a1f0bf6f..360b05790 100644
--- a/ietf/person/models.py
+++ b/ietf/person/models.py
@@ -2,12 +2,9 @@
 # -*- coding: utf-8 -*-
 
 
-from __future__ import absolute_import, print_function, unicode_literals
-
 import datetime
 import email.utils
 import email.header
-import six
 import uuid
 
 from hashids import Hashids
@@ -350,7 +347,7 @@ class PersonalApiKey(models.Model):
     @classmethod
     def validate_key(cls, s):
         import struct, hashlib, base64
-        assert isinstance(s, six.binary_type)
+        assert isinstance(s, bytes)
         key = base64.urlsafe_b64decode(s)
         id, salt, hash = struct.unpack(KEY_STRUCT, key)
         k = cls.objects.filter(id=id)
diff --git a/ietf/person/name.py b/ietf/person/name.py
index bcae148d6..7edc0fe70 100644
--- a/ietf/person/name.py
+++ b/ietf/person/name.py
@@ -2,8 +2,6 @@
 # -*- coding: utf-8 -*-
 
 
-from __future__ import absolute_import, print_function, unicode_literals
-
 import re
 import unidecode
 
diff --git a/ietf/person/tests.py b/ietf/person/tests.py
index fd3129e42..f0c7196b6 100644
--- a/ietf/person/tests.py
+++ b/ietf/person/tests.py
@@ -2,8 +2,6 @@
 # -*- coding: utf-8 -*-
 
 
-from __future__ import absolute_import, print_function, unicode_literals
-
 import datetime
 
 from pyquery import PyQuery
diff --git a/ietf/person/utils.py b/ietf/person/utils.py
index 1f3e78b2a..8afe79791 100755
--- a/ietf/person/utils.py
+++ b/ietf/person/utils.py
@@ -1,13 +1,10 @@
-# Copyright The IETF Trust 2015-2019, All Rights Reserved
+# Copyright The IETF Trust 2015-2020, All Rights Reserved
 # -*- coding: utf-8 -*-
 
 
-from __future__ import absolute_import, print_function, unicode_literals
-
 import datetime
 import os
 import pprint 
-import six
 import sys
 import syslog
 
@@ -55,13 +52,13 @@ def merge_persons(source, target, file=sys.stdout, verbose=False):
         objs, opts, user, admin_site, using)
     deletable_objects_summary = deletable_objects[1]
     if len(deletable_objects_summary) > 1:    # should only inlcude one object (Person)
-        six.print_("Not Deleting Person: {}({})".format(source.ascii,source.pk), file=file)
-        six.print_("Related objects remain:", file=file)
+        print("Not Deleting Person: {}({})".format(source.ascii,source.pk), file=file)
+        print("Related objects remain:", file=file)
         pprint.pprint(deletable_objects[1], stream=file)
         success = False
     else:
         success = True
-        six.print_("Deleting Person: {}({})".format(source.ascii,source.pk), file=file)
+        print("Deleting Person: {}({})".format(source.ascii,source.pk), file=file)
         source.delete()
     
     return success, changes
@@ -114,7 +111,7 @@ def move_related_objects(source, target, file, verbose=False):
         field_name = related_object.field.name
         queryset = getattr(source, accessor).all()
         if verbose:
-            six.print_("Merging {}:{}".format(accessor,queryset.count()), file=file)
+            print("Merging {}:{}".format(accessor,queryset.count()), file=file)
         kwargs = { field_name:target }
         queryset.update(**kwargs)
 
diff --git a/ietf/person/views.py b/ietf/person/views.py
index 59e0cc101..dade5c1ff 100644
--- a/ietf/person/views.py
+++ b/ietf/person/views.py
@@ -1,9 +1,7 @@
-# Copyright The IETF Trust 2012-2019, All Rights Reserved
+# Copyright The IETF Trust 2012-2020, All Rights Reserved
 # -*- coding: utf-8 -*-
 
 
-from __future__ import absolute_import, print_function, unicode_literals
-
 import datetime
 from io import StringIO
 
diff --git a/ietf/redirects/models.py b/ietf/redirects/models.py
index 6a3b702e5..c173c736c 100644
--- a/ietf/redirects/models.py
+++ b/ietf/redirects/models.py
@@ -1,9 +1,7 @@
-# Copyright The IETF Trust 2007-2019, All Rights Reserved
+# Copyright The IETF Trust 2007-2020, All Rights Reserved
 # -*- coding: utf-8 -*-
 
 
-from __future__ import absolute_import, print_function, unicode_literals
-
 from django.db import models
 from django.utils.encoding import python_2_unicode_compatible
 
diff --git a/ietf/redirects/tests.py b/ietf/redirects/tests.py
index 0337c68b1..7656a10ee 100644
--- a/ietf/redirects/tests.py
+++ b/ietf/redirects/tests.py
@@ -1,4 +1,4 @@
-# Copyright The IETF Trust 2009-2019, All Rights Reserved
+# Copyright The IETF Trust 2009-2020, All Rights Reserved
 # -*- coding: utf-8 -*-
 # Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
 # All rights reserved. Contact: Pasi Eronen <pasi.eronen@nokia.com>
@@ -33,8 +33,6 @@
 # OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 
 
-from __future__ import absolute_import, print_function, unicode_literals
-
 from ietf.utils.test_utils import split_url, TestCase
 
 import debug                            # pyflakes:ignore
diff --git a/ietf/redirects/views.py b/ietf/redirects/views.py
index 37d2b7645..597e39cec 100644
--- a/ietf/redirects/views.py
+++ b/ietf/redirects/views.py
@@ -1,9 +1,7 @@
-# Copyright The IETF Trust 2007-2019, All Rights Reserved
+# Copyright The IETF Trust 2007-2020, All Rights Reserved
 # -*- coding: utf-8 -*-
 
 
-from __future__ import absolute_import, print_function, unicode_literals
-
 from django.http import HttpResponsePermanentRedirect, Http404, BadHeaderError
 from django.shortcuts import get_object_or_404
 import re
diff --git a/ietf/release/tests.py b/ietf/release/tests.py
index 3a4ac01a2..bb2d95100 100644
--- a/ietf/release/tests.py
+++ b/ietf/release/tests.py
@@ -1,9 +1,7 @@
-# Copyright The IETF Trust 2012-2019, All Rights Reserved
+# Copyright The IETF Trust 2012-2020, All Rights Reserved
 # -*- coding: utf-8 -*-
 
 
-from __future__ import absolute_import, print_function, unicode_literals
-
 from pyquery import PyQuery
 
 from django.urls import reverse
diff --git a/ietf/release/urls.py b/ietf/release/urls.py
index 34d8605c7..0053d9f2c 100644
--- a/ietf/release/urls.py
+++ b/ietf/release/urls.py
@@ -1,9 +1,7 @@
-# Copyright The IETF Trust 2015-2019, All Rights Reserved
+# Copyright The IETF Trust 2015-2020, All Rights Reserved
 # -*- coding: utf-8 -*-
 
 
-from __future__ import absolute_import, print_function, unicode_literals
-
 from django.views.generic import TemplateView
 
 from ietf.release import views
diff --git a/ietf/release/views.py b/ietf/release/views.py
index 49b5bc123..1dc9a8ce5 100644
--- a/ietf/release/views.py
+++ b/ietf/release/views.py
@@ -1,9 +1,7 @@
-# Copyright The IETF Trust 2012-2019, All Rights Reserved
+# Copyright The IETF Trust 2012-2020, All Rights Reserved
 # -*- coding: utf-8 -*-
 
 
-from __future__ import absolute_import, print_function, unicode_literals
-
 import io
 import os
 import re
diff --git a/ietf/review/admin.py b/ietf/review/admin.py
index 2574fb026..a63b9af24 100644
--- a/ietf/review/admin.py
+++ b/ietf/review/admin.py
@@ -1,9 +1,7 @@
-# Copyright The IETF Trust 2016-2019, All Rights Reserved
+# Copyright The IETF Trust 2016-2020, All Rights Reserved
 # -*- coding: utf-8 -*-
 
 
-from __future__ import absolute_import, print_function, unicode_literals
-
 import simple_history
 
 from django.contrib import admin
diff --git a/ietf/review/mailarch.py b/ietf/review/mailarch.py
index 7c6dcf215..d52f348bf 100644
--- a/ietf/review/mailarch.py
+++ b/ietf/review/mailarch.py
@@ -2,9 +2,6 @@
 # -*- coding: utf-8 -*-
 
 
-from __future__ import absolute_import, print_function, unicode_literals
-
-
 # various utilities for working with the mailarch mail archive at
 # mailarchive.ietf.org
 
diff --git a/ietf/review/migrations/0001_initial.py b/ietf/review/migrations/0001_initial.py
index 8b6f8d861..5e7fde9ec 100644
--- a/ietf/review/migrations/0001_initial.py
+++ b/ietf/review/migrations/0001_initial.py
@@ -1,10 +1,8 @@
-# Copyright The IETF Trust 2018-2019, All Rights Reserved
+# Copyright The IETF Trust 2018-2020, All Rights Reserved
 # -*- coding: utf-8 -*-
 # Generated by Django 1.11.10 on 2018-02-20 10:52
 
 
-from __future__ import absolute_import, print_function, unicode_literals
-
 import datetime
 from django.db import migrations, models
 import django.db.models.deletion
diff --git a/ietf/review/migrations/0002_unavailableperiod_reason.py b/ietf/review/migrations/0002_unavailableperiod_reason.py
index 8e6dc8d98..e4c81ad7c 100644
--- a/ietf/review/migrations/0002_unavailableperiod_reason.py
+++ b/ietf/review/migrations/0002_unavailableperiod_reason.py
@@ -1,10 +1,8 @@
-# Copyright The IETF Trust 2018-2019, All Rights Reserved
+# Copyright The IETF Trust 2018-2020, All Rights Reserved
 # -*- coding: utf-8 -*-
 # Generated by Django 1.11.14 on 2018-07-23 15:11
 
 
-from __future__ import absolute_import, print_function, unicode_literals
-
 from django.db import migrations, models
 
 
diff --git a/ietf/review/migrations/0003_add_notify_ad_when.py b/ietf/review/migrations/0003_add_notify_ad_when.py
index 3a950a413..78e0d7959 100644
--- a/ietf/review/migrations/0003_add_notify_ad_when.py
+++ b/ietf/review/migrations/0003_add_notify_ad_when.py
@@ -1,10 +1,8 @@
-# Copyright The IETF Trust 2018-2019, All Rights Reserved
+# Copyright The IETF Trust 2018-2020, All Rights Reserved
 # -*- coding: utf-8 -*-
 # Generated by Django 1.11.16 on 2018-11-02 10:10
 
 
-from __future__ import absolute_import, print_function, unicode_literals
-
 from django.db import migrations, models
 import ietf.review.models
 
diff --git a/ietf/review/migrations/0004_reviewteamsettings_secr_mail_alias.py b/ietf/review/migrations/0004_reviewteamsettings_secr_mail_alias.py
index 535f776d1..96fb0ba1c 100644
--- a/ietf/review/migrations/0004_reviewteamsettings_secr_mail_alias.py
+++ b/ietf/review/migrations/0004_reviewteamsettings_secr_mail_alias.py
@@ -1,10 +1,8 @@
-# Copyright The IETF Trust 2018-2019, All Rights Reserved
+# Copyright The IETF Trust 2018-2020, All Rights Reserved
 # -*- coding: utf-8 -*-
 # Generated by Django 1.11.16 on 2018-11-03 03:10
 
 
-from __future__ import absolute_import, print_function, unicode_literals
-
 from django.db import migrations, models
 
 
diff --git a/ietf/review/migrations/0005_set_secdir_notify_ad_when.py b/ietf/review/migrations/0005_set_secdir_notify_ad_when.py
index ade5a5287..66b768a50 100644
--- a/ietf/review/migrations/0005_set_secdir_notify_ad_when.py
+++ b/ietf/review/migrations/0005_set_secdir_notify_ad_when.py
@@ -1,10 +1,8 @@
-# Copyright The IETF Trust 2018-2019, All Rights Reserved
+# Copyright The IETF Trust 2018-2020, All Rights Reserved
 # -*- coding: utf-8 -*-
 # Generated by Django 1.11.16 on 2018-11-02 10:20
 
 
-from __future__ import absolute_import, print_function, unicode_literals
-
 from django.db import migrations
 
 def forward(apps, schema_editor):
diff --git a/ietf/review/migrations/0006_historicalreviewersettings.py b/ietf/review/migrations/0006_historicalreviewersettings.py
index 33f330cf9..4129ab409 100644
--- a/ietf/review/migrations/0006_historicalreviewersettings.py
+++ b/ietf/review/migrations/0006_historicalreviewersettings.py
@@ -1,10 +1,8 @@
-# Copyright The IETF Trust 2018-2019, All Rights Reserved
+# Copyright The IETF Trust 2018-2020, All Rights Reserved
 # -*- coding: utf-8 -*-
 # Generated by Django 1.11.16 on 2018-11-09 08:31
 
 
-from __future__ import absolute_import, print_function, unicode_literals
-
 from django.conf import settings
 from django.db import migrations, models
 import django.db.models.deletion
diff --git a/ietf/review/migrations/0007_allow_notify_ad_when_to_be_blank.py b/ietf/review/migrations/0007_allow_notify_ad_when_to_be_blank.py
index 91016a8ed..11da10b36 100644
--- a/ietf/review/migrations/0007_allow_notify_ad_when_to_be_blank.py
+++ b/ietf/review/migrations/0007_allow_notify_ad_when_to_be_blank.py
@@ -1,10 +1,8 @@
-# Copyright The IETF Trust 2018-2019, All Rights Reserved
+# Copyright The IETF Trust 2018-2020, All Rights Reserved
 # -*- coding: utf-8 -*-
 # Generated by Django 1.11.17 on 2018-12-06 13:16
 
 
-from __future__ import absolute_import, print_function, unicode_literals
-
 from django.db import migrations, models
 
 
diff --git a/ietf/review/migrations/0008_remove_reviewrequest_old_id.py b/ietf/review/migrations/0008_remove_reviewrequest_old_id.py
index df107e5b0..7f3e0b24c 100644
--- a/ietf/review/migrations/0008_remove_reviewrequest_old_id.py
+++ b/ietf/review/migrations/0008_remove_reviewrequest_old_id.py
@@ -1,10 +1,8 @@
-# Copyright The IETF Trust 2019, All Rights Reserved
+# Copyright The IETF Trust 2019-2020, All Rights Reserved
 # -*- coding: utf-8 -*-
 # Generated by Django 1.11.17 on 2019-01-03 12:34
 
 
-from __future__ import absolute_import, print_function, unicode_literals
-
 from django.db import migrations
 
 
diff --git a/ietf/review/migrations/0009_refactor_review_request.py b/ietf/review/migrations/0009_refactor_review_request.py
index 87eaba0a7..d3b22e138 100644
--- a/ietf/review/migrations/0009_refactor_review_request.py
+++ b/ietf/review/migrations/0009_refactor_review_request.py
@@ -1,10 +1,8 @@
-# Copyright The IETF Trust 2019, All Rights Reserved
+# Copyright The IETF Trust 2019-2020, All Rights Reserved
 # -*- coding: utf-8 -*-
 # Generated by Django 1.11.18 on 2019-01-04 14:27
 
 
-from __future__ import absolute_import, print_function, unicode_literals
-
 from django.db import migrations, models
 import django.db.models.deletion
 import ietf.utils.models
diff --git a/ietf/review/migrations/0010_populate_review_assignments.py b/ietf/review/migrations/0010_populate_review_assignments.py
index 3602645c4..83f87325b 100644
--- a/ietf/review/migrations/0010_populate_review_assignments.py
+++ b/ietf/review/migrations/0010_populate_review_assignments.py
@@ -1,10 +1,8 @@
-# Copyright The IETF Trust 2019, All Rights Reserved
+# Copyright The IETF Trust 2019-2020, All Rights Reserved
 # -*- coding: utf-8 -*-
 # Generated by Django 1.11.18 on 2019-01-04 14:34
 
 
-from __future__ import absolute_import, print_function, unicode_literals
-
 import sys
 
 from tqdm import tqdm
diff --git a/ietf/review/migrations/0011_review_document2_fk.py b/ietf/review/migrations/0011_review_document2_fk.py
index f613cdb9b..1fca4fd4e 100644
--- a/ietf/review/migrations/0011_review_document2_fk.py
+++ b/ietf/review/migrations/0011_review_document2_fk.py
@@ -1,10 +1,8 @@
-# Copyright The IETF Trust 2019, All Rights Reserved
+# Copyright The IETF Trust 2019-2020, All Rights Reserved
 # -*- coding: utf-8 -*-
 # Generated by Django 1.11.20 on 2019-05-08 11:58
 
 
-from __future__ import absolute_import, print_function, unicode_literals
-
 from django.db import migrations
 import django.db.models.deletion
 import ietf.utils.models
diff --git a/ietf/review/migrations/0012_remove_old_document_field.py b/ietf/review/migrations/0012_remove_old_document_field.py
index 56790f507..2c5b5c277 100644
--- a/ietf/review/migrations/0012_remove_old_document_field.py
+++ b/ietf/review/migrations/0012_remove_old_document_field.py
@@ -1,10 +1,8 @@
-# Copyright The IETF Trust 2019, All Rights Reserved
+# Copyright The IETF Trust 2019-2020, All Rights Reserved
 # -*- coding: utf-8 -*-
 # Generated by Django 1.11.20 on 2019-05-20 09:53
 
 
-from __future__ import absolute_import, print_function, unicode_literals
-
 from django.db import migrations
 
 
diff --git a/ietf/review/migrations/0013_rename_field_document2.py b/ietf/review/migrations/0013_rename_field_document2.py
index da3c17ea0..0577b0d31 100644
--- a/ietf/review/migrations/0013_rename_field_document2.py
+++ b/ietf/review/migrations/0013_rename_field_document2.py
@@ -1,10 +1,8 @@
-# Copyright The IETF Trust 2019, All Rights Reserved
+# Copyright The IETF Trust 2019-2020, All Rights Reserved
 # -*- coding: utf-8 -*-
 # Generated by Django 1.11.20 on 2019-05-21 05:31
 
 
-from __future__ import absolute_import, print_function, unicode_literals
-
 from django.db import migrations
 
 
diff --git a/ietf/review/migrations/0014_document_primary_key_cleanup.py b/ietf/review/migrations/0014_document_primary_key_cleanup.py
index c8ef25beb..20c28ace6 100644
--- a/ietf/review/migrations/0014_document_primary_key_cleanup.py
+++ b/ietf/review/migrations/0014_document_primary_key_cleanup.py
@@ -1,10 +1,8 @@
-# Copyright The IETF Trust 2019, All Rights Reserved
+# Copyright The IETF Trust 2019-2020, All Rights Reserved
 # -*- coding: utf-8 -*-
 # Generated by Django 1.11.20 on 2019-06-10 03:47
 
 
-from __future__ import absolute_import, print_function, unicode_literals
-
 from django.db import migrations
 import django.db.models.deletion
 import ietf.utils.models
diff --git a/ietf/review/migrations/0015_populate_completed_on_for_rejected.py b/ietf/review/migrations/0015_populate_completed_on_for_rejected.py
index e1126f23c..feed8ea1c 100644
--- a/ietf/review/migrations/0015_populate_completed_on_for_rejected.py
+++ b/ietf/review/migrations/0015_populate_completed_on_for_rejected.py
@@ -1,7 +1,7 @@
-# Copyright The IETF Trust 2019, All Rights Reserved
+# Copyright The IETF Trust 2019-2020, All Rights Reserved
 # -*- coding: utf-8 -*-
 # Generated by Django 1.11.24 on 2019-09-30 08:17
-from __future__ import unicode_literals
+
 
 from django.db import migrations
 
diff --git a/ietf/review/migrations/0016_add_remind_days_open_reviews.py b/ietf/review/migrations/0016_add_remind_days_open_reviews.py
index 5b64fcc2a..57e991147 100644
--- a/ietf/review/migrations/0016_add_remind_days_open_reviews.py
+++ b/ietf/review/migrations/0016_add_remind_days_open_reviews.py
@@ -1,7 +1,7 @@
-# Copyright The IETF Trust 2019, All Rights Reserved
+# Copyright The IETF Trust 2019-2020, All Rights Reserved
 # -*- coding: utf-8 -*-
 # Generated by Django 1.11.23 on 2019-09-05 05:03
-from __future__ import unicode_literals
+
 
 from django.db import migrations, models
 
diff --git a/ietf/review/migrations/0017_add_review_team_remind_days_unconfirmed_assignments.py b/ietf/review/migrations/0017_add_review_team_remind_days_unconfirmed_assignments.py
index ccbf83442..af48a4243 100644
--- a/ietf/review/migrations/0017_add_review_team_remind_days_unconfirmed_assignments.py
+++ b/ietf/review/migrations/0017_add_review_team_remind_days_unconfirmed_assignments.py
@@ -1,7 +1,7 @@
-# Copyright The IETF Trust 2019, All Rights Reserved
+# Copyright The IETF Trust 2019-2020, All Rights Reserved
 # -*- coding: utf-8 -*-
 # Generated by Django 1.11.23 on 2019-10-01 04:40
-from __future__ import unicode_literals
+
 
 from django.db import migrations, models
 
diff --git a/ietf/review/migrations/0018_auto_20191015_1014.py b/ietf/review/migrations/0018_auto_20191015_1014.py
index b695905ee..f61c75502 100644
--- a/ietf/review/migrations/0018_auto_20191015_1014.py
+++ b/ietf/review/migrations/0018_auto_20191015_1014.py
@@ -1,7 +1,7 @@
-# Copyright The IETF Trust 2019, All Rights Reserved
+# Copyright The IETF Trust 2019-2020, All Rights Reserved
 # -*- coding: utf-8 -*-
 # Generated by Django 1.11.25 on 2019-10-15 10:14
-from __future__ import unicode_literals
+
 
 from django.db import migrations, models
 
diff --git a/ietf/review/migrations/0019_auto_20191023_0829.py b/ietf/review/migrations/0019_auto_20191023_0829.py
index 9ef375b69..c5e84573c 100644
--- a/ietf/review/migrations/0019_auto_20191023_0829.py
+++ b/ietf/review/migrations/0019_auto_20191023_0829.py
@@ -1,7 +1,7 @@
-# Copyright The IETF Trust 2019, All Rights Reserved
+# Copyright The IETF Trust 2019-2020, All Rights Reserved
 # -*- coding: utf-8 -*-
 # Generated by Django 1.11.25 on 2019-10-23 08:29
-from __future__ import unicode_literals
+
 
 import datetime
 from django.db import migrations, models
diff --git a/ietf/review/migrations/0020_auto_20191115_2059.py b/ietf/review/migrations/0020_auto_20191115_2059.py
index ccf041800..025e3d2d3 100644
--- a/ietf/review/migrations/0020_auto_20191115_2059.py
+++ b/ietf/review/migrations/0020_auto_20191115_2059.py
@@ -1,7 +1,7 @@
-# Copyright The IETF Trust 2019, All Rights Reserved
+# Copyright The IETF Trust 2019-2020, All Rights Reserved
 # -*- coding: utf-8 -*-
 # Generated by Django 1.11.26 on 2019-11-15 20:59
-from __future__ import unicode_literals
+
 
 from django.db import migrations, models
 
diff --git a/ietf/review/migrations/0021_add_additional_history.py b/ietf/review/migrations/0021_add_additional_history.py
index bbabb494d..58dc709ec 100644
--- a/ietf/review/migrations/0021_add_additional_history.py
+++ b/ietf/review/migrations/0021_add_additional_history.py
@@ -1,7 +1,7 @@
-# Copyright The IETF Trust 2016-2019, All Rights Reserved
+# Copyright The IETF Trust 2019-2020, All Rights Reserved
 # -*- coding: utf-8 -*-
 # Generated by Django 1.11.23 on 2019-11-19 04:36
-from __future__ import unicode_literals
+
 
 import datetime
 from django.conf import settings
diff --git a/ietf/review/migrations/0022_reviewer_queue_policy_and_request_assignment_next.py b/ietf/review/migrations/0022_reviewer_queue_policy_and_request_assignment_next.py
index c1f3885a1..9d705ea14 100644
--- a/ietf/review/migrations/0022_reviewer_queue_policy_and_request_assignment_next.py
+++ b/ietf/review/migrations/0022_reviewer_queue_policy_and_request_assignment_next.py
@@ -1,7 +1,7 @@
-# Copyright The IETF Trust 2019, All Rights Reserved
+# Copyright The IETF Trust 2019-2020, All Rights Reserved
 # -*- coding: utf-8 -*-
 # Generated by Django 1.11.23 on 2019-11-18 08:50
-from __future__ import unicode_literals
+
 
 from django.db import migrations, models
 import django.db.models.deletion
diff --git a/ietf/review/migrations/0023_historicalreviewersettings-change-reason-text-field.py b/ietf/review/migrations/0023_historicalreviewersettings-change-reason-text-field.py
index 28e908b85..1e83f2650 100644
--- a/ietf/review/migrations/0023_historicalreviewersettings-change-reason-text-field.py
+++ b/ietf/review/migrations/0023_historicalreviewersettings-change-reason-text-field.py
@@ -1,7 +1,7 @@
 # -*- coding: utf-8 -*-
-# Copyright The IETF Trust 2019, All Rights Reserved
+# Copyright The IETF Trust 2019-2020, All Rights Reserved
 # Generated by Django 1.11.26 on 2019-12-21 11:52
-from __future__ import unicode_literals
+
 
 from django.db import migrations, models
 
diff --git a/ietf/review/models.py b/ietf/review/models.py
index 9c2619cbc..ef5ee48ef 100644
--- a/ietf/review/models.py
+++ b/ietf/review/models.py
@@ -2,8 +2,6 @@
 # -*- coding: utf-8 -*-
 
 
-from __future__ import absolute_import, print_function, unicode_literals
-
 import datetime
 
 from simple_history.models import HistoricalRecords
diff --git a/ietf/review/policies.py b/ietf/review/policies.py
index ffd3582e6..9c541e5f1 100644
--- a/ietf/review/policies.py
+++ b/ietf/review/policies.py
@@ -1,6 +1,5 @@
 # Copyright The IETF Trust 2019-2020, All Rights Reserved
 
-from __future__ import absolute_import, print_function, unicode_literals
 
 import re
 
diff --git a/ietf/review/tests.py b/ietf/review/tests.py
index f46e44bf9..47590682b 100644
--- a/ietf/review/tests.py
+++ b/ietf/review/tests.py
@@ -1,9 +1,7 @@
-# Copyright The IETF Trust 2019, All Rights Reserved
+# Copyright The IETF Trust 2019-2020, All Rights Reserved
 # -*- coding: utf-8 -*-
 
 
-from __future__ import absolute_import, print_function, unicode_literals
-
 from ietf.review.factories import ReviewAssignmentFactory, ReviewRequestFactory
 from ietf.utils.test_utils import TestCase, reload_db_objects
 from .mailarch import hash_list_message_id
diff --git a/ietf/review/utils.py b/ietf/review/utils.py
index a6418808f..898cabaad 100644
--- a/ietf/review/utils.py
+++ b/ietf/review/utils.py
@@ -1,9 +1,7 @@
-# Copyright The IETF Trust 2016-2019, All Rights Reserved
+# Copyright The IETF Trust 2016-2020, All Rights Reserved
 # -*- coding: utf-8 -*-
 
 
-from __future__ import absolute_import, print_function, unicode_literals
-
 import datetime
 import itertools
 
diff --git a/ietf/secr/announcement/forms.py b/ietf/secr/announcement/forms.py
index e3d3cd9e6..46b2e7b78 100644
--- a/ietf/secr/announcement/forms.py
+++ b/ietf/secr/announcement/forms.py
@@ -2,8 +2,6 @@
 # -*- coding: utf-8 -*-
 
 
-from __future__ import absolute_import, print_function, unicode_literals
-
 from django import forms
 
 from ietf.group.models import Group, Role
diff --git a/ietf/secr/announcement/tests.py b/ietf/secr/announcement/tests.py
index 5d7ee45a9..d4df48163 100644
--- a/ietf/secr/announcement/tests.py
+++ b/ietf/secr/announcement/tests.py
@@ -2,8 +2,6 @@
 # -*- coding: utf-8 -*-
 
 
-from __future__ import absolute_import, print_function, unicode_literals
-
 from pyquery import PyQuery
 
 from django.urls import reverse
diff --git a/ietf/secr/console/tests.py b/ietf/secr/console/tests.py
index 75ddf483b..9de570795 100644
--- a/ietf/secr/console/tests.py
+++ b/ietf/secr/console/tests.py
@@ -1,9 +1,7 @@
-# Copyright The IETF Trust 2013-2019, All Rights Reserved
+# Copyright The IETF Trust 2013-2020, All Rights Reserved
 # -*- coding: utf-8 -*-
 
 
-from __future__ import absolute_import, print_function, unicode_literals
-
 """
 This file demonstrates two different styles of tests (one doctest and one
 unittest). These will both pass when you run "manage.py test".
diff --git a/ietf/secr/drafts/forms.py b/ietf/secr/drafts/forms.py
index 0dd7539a0..17f37ba7b 100644
--- a/ietf/secr/drafts/forms.py
+++ b/ietf/secr/drafts/forms.py
@@ -1,9 +1,7 @@
-# Copyright The IETF Trust 2013-2019, All Rights Reserved
+# Copyright The IETF Trust 2013-2020, All Rights Reserved
 # -*- coding: utf-8 -*-
 
 
-from __future__ import absolute_import, print_function, unicode_literals
-
 import re
 import os
 
diff --git a/ietf/secr/drafts/tests_views.py b/ietf/secr/drafts/tests_views.py
index ca0968737..997146607 100644
--- a/ietf/secr/drafts/tests_views.py
+++ b/ietf/secr/drafts/tests_views.py
@@ -1,9 +1,7 @@
-# Copyright The IETF Trust 2013-2019, All Rights Reserved
+# Copyright The IETF Trust 2013-2020, All Rights Reserved
 # -*- coding: utf-8 -*-
 
 
-from __future__ import absolute_import, print_function, unicode_literals
-
 import datetime
 import io
 import os
diff --git a/ietf/secr/drafts/views.py b/ietf/secr/drafts/views.py
index ef851afbe..0f1c646d0 100644
--- a/ietf/secr/drafts/views.py
+++ b/ietf/secr/drafts/views.py
@@ -1,9 +1,7 @@
-# Copyright The IETF Trust 2013-2019, All Rights Reserved
+# Copyright The IETF Trust 2013-2020, All Rights Reserved
 # -*- coding: utf-8 -*-
 
 
-from __future__ import absolute_import, print_function, unicode_literals
-
 import datetime
 import glob
 import io
diff --git a/ietf/secr/groups/tests.py b/ietf/secr/groups/tests.py
index c49d95cd1..26977a1d7 100644
--- a/ietf/secr/groups/tests.py
+++ b/ietf/secr/groups/tests.py
@@ -1,9 +1,7 @@
-# Copyright The IETF Trust 2013-2019, All Rights Reserved
+# Copyright The IETF Trust 2013-2020, All Rights Reserved
 # -*- coding: utf-8 -*-
 
 
-from __future__ import absolute_import, print_function, unicode_literals
-
 from django.urls import reverse
 from ietf.utils.test_utils import TestCase
 from ietf.group.models import Group
diff --git a/ietf/secr/meetings/blue_sheets.py b/ietf/secr/meetings/blue_sheets.py
index 49d8755ca..617554121 100644
--- a/ietf/secr/meetings/blue_sheets.py
+++ b/ietf/secr/meetings/blue_sheets.py
@@ -1,9 +1,7 @@
-# Copyright The IETF Trust 2013-2019, All Rights Reserved
+# Copyright The IETF Trust 2013-2020, All Rights Reserved
 # -*- coding: utf-8 -*-
 
 
-from __future__ import absolute_import, print_function, unicode_literals
-
 import io
 
 from django.conf import settings
diff --git a/ietf/secr/meetings/tests.py b/ietf/secr/meetings/tests.py
index 91ad389e2..40d2ac9f4 100644
--- a/ietf/secr/meetings/tests.py
+++ b/ietf/secr/meetings/tests.py
@@ -1,9 +1,7 @@
-# Copyright The IETF Trust 2013-2019, All Rights Reserved
+# Copyright The IETF Trust 2013-2020, All Rights Reserved
 # -*- coding: utf-8 -*-
 
 
-from __future__ import absolute_import, print_function, unicode_literals
-
 import datetime
 import os
 import shutil
diff --git a/ietf/secr/proceedings/migrations/0001_initial.py b/ietf/secr/proceedings/migrations/0001_initial.py
index 48d6b6264..70bf55f31 100644
--- a/ietf/secr/proceedings/migrations/0001_initial.py
+++ b/ietf/secr/proceedings/migrations/0001_initial.py
@@ -1,10 +1,8 @@
-# Copyright The IETF Trust 2018-2019, All Rights Reserved
+# Copyright The IETF Trust 2018-2020, All Rights Reserved
 # -*- coding: utf-8 -*-
 # Generated by Django 1.11.10 on 2018-02-20 10:52
 
 
-from __future__ import absolute_import, print_function, unicode_literals
-
 from django.db import migrations, models
 
 
diff --git a/ietf/secr/proceedings/models.py b/ietf/secr/proceedings/models.py
index e7d24e7c8..fb672bf23 100644
--- a/ietf/secr/proceedings/models.py
+++ b/ietf/secr/proceedings/models.py
@@ -1,9 +1,7 @@
-# Copyright The IETF Trust 2013-2019, All Rights Reserved
+# Copyright The IETF Trust 2013-2020, All Rights Reserved
 # -*- coding: utf-8 -*-
 
 
-from __future__ import absolute_import, print_function, unicode_literals
-
 import os
 
 from django.conf import settings
diff --git a/ietf/secr/proceedings/proc_utils.py b/ietf/secr/proceedings/proc_utils.py
index 6ca49eace..9e49c7ac8 100644
--- a/ietf/secr/proceedings/proc_utils.py
+++ b/ietf/secr/proceedings/proc_utils.py
@@ -2,8 +2,6 @@
 # -*- coding: utf-8 -*-
 
 
-from __future__ import absolute_import, print_function, unicode_literals
-
 '''
 proc_utils.py
 
diff --git a/ietf/secr/proceedings/tests.py b/ietf/secr/proceedings/tests.py
index 2004b88f6..e6ee6a593 100644
--- a/ietf/secr/proceedings/tests.py
+++ b/ietf/secr/proceedings/tests.py
@@ -1,9 +1,7 @@
-# Copyright The IETF Trust 2013-2019, All Rights Reserved
+# Copyright The IETF Trust 2013-2020, All Rights Reserved
 # -*- coding: utf-8 -*-
 
 
-from __future__ import absolute_import, print_function, unicode_literals
-
 import debug                            # pyflakes:ignore
 import io
 import json
diff --git a/ietf/secr/proceedings/views.py b/ietf/secr/proceedings/views.py
index 1c65780ca..916118217 100644
--- a/ietf/secr/proceedings/views.py
+++ b/ietf/secr/proceedings/views.py
@@ -1,9 +1,7 @@
-# Copyright The IETF Trust 2013-2019, All Rights Reserved
+# Copyright The IETF Trust 2013-2020, All Rights Reserved
 # -*- coding: utf-8 -*-
 
 
-from __future__ import absolute_import, print_function, unicode_literals
-
 import datetime
 import glob
 import itertools
diff --git a/ietf/secr/roles/tests.py b/ietf/secr/roles/tests.py
index e70d5e563..242d396db 100644
--- a/ietf/secr/roles/tests.py
+++ b/ietf/secr/roles/tests.py
@@ -1,9 +1,7 @@
-# Copyright The IETF Trust 2013-2019, All Rights Reserved
+# Copyright The IETF Trust 2013-2020, All Rights Reserved
 # -*- coding: utf-8 -*-
 
 
-from __future__ import absolute_import, print_function, unicode_literals
-
 from django.urls import reverse
 from ietf.utils.test_utils import TestCase
 
diff --git a/ietf/secr/rolodex/forms.py b/ietf/secr/rolodex/forms.py
index ab094bdca..8c95da88d 100644
--- a/ietf/secr/rolodex/forms.py
+++ b/ietf/secr/rolodex/forms.py
@@ -1,9 +1,7 @@
-# Copyright The IETF Trust 2013-2019, All Rights Reserved
+# Copyright The IETF Trust 2013-2020, All Rights Reserved
 # -*- coding: utf-8 -*-
 
 
-from __future__ import absolute_import, print_function, unicode_literals
-
 import re
 
 from django import forms
diff --git a/ietf/secr/sreq/forms.py b/ietf/secr/sreq/forms.py
index dec6200da..af6dc3284 100644
--- a/ietf/secr/sreq/forms.py
+++ b/ietf/secr/sreq/forms.py
@@ -2,8 +2,6 @@
 # -*- coding: utf-8 -*-
 
 
-from __future__ import absolute_import, print_function, unicode_literals
-
 from django import forms
 
 import debug                            # pyflakes:ignore
diff --git a/ietf/secr/sreq/tests.py b/ietf/secr/sreq/tests.py
index c556a02b8..612c2c855 100644
--- a/ietf/secr/sreq/tests.py
+++ b/ietf/secr/sreq/tests.py
@@ -2,8 +2,6 @@
 # -*- coding: utf-8 -*-
 
 
-from __future__ import absolute_import, print_function, unicode_literals
-
 import datetime
 
 from django.urls import reverse
diff --git a/ietf/secr/sreq/views.py b/ietf/secr/sreq/views.py
index ead39e9ee..d7c1bdd68 100644
--- a/ietf/secr/sreq/views.py
+++ b/ietf/secr/sreq/views.py
@@ -2,8 +2,6 @@
 # -*- coding: utf-8 -*-
 
 
-from __future__ import absolute_import, print_function, unicode_literals
-
 import datetime
 from collections import defaultdict
 
diff --git a/ietf/secr/telechat/tests.py b/ietf/secr/telechat/tests.py
index 1264a12ab..c707675fc 100644
--- a/ietf/secr/telechat/tests.py
+++ b/ietf/secr/telechat/tests.py
@@ -1,9 +1,7 @@
-# Copyright The IETF Trust 2013-2019, All Rights Reserved
+# Copyright The IETF Trust 2013-2020, All Rights Reserved
 # -*- coding: utf-8 -*-
 
 
-from __future__ import absolute_import, print_function, unicode_literals
-
 import datetime
 from pyquery import PyQuery
 
diff --git a/ietf/secr/telechat/views.py b/ietf/secr/telechat/views.py
index c192e447e..8359d5bb3 100644
--- a/ietf/secr/telechat/views.py
+++ b/ietf/secr/telechat/views.py
@@ -1,9 +1,7 @@
-# Copyright The IETF Trust 2013-2019, All Rights Reserved
+# Copyright The IETF Trust 2013-2020, All Rights Reserved
 # -*- coding: utf-8 -*-
 
 
-from __future__ import absolute_import, print_function, unicode_literals
-
 import datetime
 
 from django.contrib import messages
diff --git a/ietf/secr/utils/ams_utils.py b/ietf/secr/utils/ams_utils.py
index d8e3c2a62..17c780a02 100644
--- a/ietf/secr/utils/ams_utils.py
+++ b/ietf/secr/utils/ams_utils.py
@@ -1,9 +1,7 @@
-# Copyright The IETF Trust 2013-2019, All Rights Reserved
+# Copyright The IETF Trust 2013-2020, All Rights Reserved
 # -*- coding: utf-8 -*-
 
 
-from __future__ import absolute_import, print_function, unicode_literals
-
 from django.conf import settings
 
 from ietf.person.models import Person
diff --git a/ietf/secr/utils/document.py b/ietf/secr/utils/document.py
index 216958b70..0a34512a1 100644
--- a/ietf/secr/utils/document.py
+++ b/ietf/secr/utils/document.py
@@ -1,9 +1,7 @@
-# Copyright The IETF Trust 2013-2019, All Rights Reserved
+# Copyright The IETF Trust 2013-2020, All Rights Reserved
 # -*- coding: utf-8 -*-
 
 
-from __future__ import absolute_import, print_function, unicode_literals
-
 def get_full_path(doc):
     '''
     Returns for name of file on disk with full path.  This should really be a method on doc
diff --git a/ietf/secr/utils/group.py b/ietf/secr/utils/group.py
index 3895367ec..44ef5f022 100644
--- a/ietf/secr/utils/group.py
+++ b/ietf/secr/utils/group.py
@@ -1,9 +1,7 @@
-# Copyright The IETF Trust 2013-2019, All Rights Reserved
+# Copyright The IETF Trust 2013-2020, All Rights Reserved
 # -*- coding: utf-8 -*-
 
 
-from __future__ import absolute_import, print_function, unicode_literals
-
 # Python imports
 import io
 import os
diff --git a/ietf/secr/utils/test.py b/ietf/secr/utils/test.py
index 3fc791923..4f3578234 100644
--- a/ietf/secr/utils/test.py
+++ b/ietf/secr/utils/test.py
@@ -1,9 +1,7 @@
-# Copyright The IETF Trust 2013-2019, All Rights Reserved
+# Copyright The IETF Trust 2013-2020, All Rights Reserved
 # -*- coding: utf-8 -*-
 
 
-from __future__ import absolute_import, print_function, unicode_literals
-
 '''
 Functions to aid unit testing
 '''
diff --git a/ietf/settings.py b/ietf/settings.py
index 691707e19..fc858026c 100644
--- a/ietf/settings.py
+++ b/ietf/settings.py
@@ -2,8 +2,6 @@
 # -*- coding: utf-8 -*-
 
 
-from __future__ import absolute_import, print_function, unicode_literals
-
 # Django settings for ietf project.
 # BASE_DIR and "settings_local" are from
 # http://code.djangoproject.com/wiki/SplitSettings
diff --git a/ietf/settings_releasetest.py b/ietf/settings_releasetest.py
index 421e6f851..99c275d1b 100644
--- a/ietf/settings_releasetest.py
+++ b/ietf/settings_releasetest.py
@@ -1,10 +1,7 @@
-# Copyright The IETF Trust 2015-2019, All Rights Reserved
+# Copyright The IETF Trust 2015-2020, All Rights Reserved
 # -*- coding: utf-8 -*-
 
 
-from __future__ import absolute_import, print_function, unicode_literals
-
-
 # Standard settings except we use SQLite, this is useful for speeding
 # up tests that depend on the test database, try for instance:
 #
diff --git a/ietf/settings_sqlitetest.py b/ietf/settings_sqlitetest.py
index 2a884768c..bc678ab18 100644
--- a/ietf/settings_sqlitetest.py
+++ b/ietf/settings_sqlitetest.py
@@ -1,9 +1,7 @@
-# Copyright The IETF Trust 2010-2019, All Rights Reserved
+# Copyright The IETF Trust 2010-2020, All Rights Reserved
 # -*- coding: utf-8 -*-
 
 
-from __future__ import absolute_import, print_function, unicode_literals
-
 # Standard settings except we use SQLite and skip migrations, this is
 # useful for speeding up tests that depend on the test database, try
 # for instance:
diff --git a/ietf/settings_testcrawl.py b/ietf/settings_testcrawl.py
index f4ae6ee63..7dfb08f1b 100644
--- a/ietf/settings_testcrawl.py
+++ b/ietf/settings_testcrawl.py
@@ -1,9 +1,7 @@
-# Copyright The IETF Trust 2015-2019, All Rights Reserved
+# Copyright The IETF Trust 2015-2020, All Rights Reserved
 # -*- coding: utf-8 -*-
 
 
-from __future__ import absolute_import, print_function, unicode_literals
-
 # Standard settings except we enable caching like in the production
 # environment, this is useful for speeding up the test crawl, try for
 # instance:
diff --git a/ietf/stats/backfill_data.py b/ietf/stats/backfill_data.py
index b9314a035..c8ee39531 100755
--- a/ietf/stats/backfill_data.py
+++ b/ietf/stats/backfill_data.py
@@ -2,7 +2,6 @@
 # Copyright The IETF Trust 2017-2020, All Rights Reserved
 # -*- coding: utf-8 -*-
 
-from __future__ import absolute_import, print_function, unicode_literals
 
 import io
 import sys
diff --git a/ietf/stats/migrations/0001_initial.py b/ietf/stats/migrations/0001_initial.py
index 33d48edbe..bf702b9a4 100644
--- a/ietf/stats/migrations/0001_initial.py
+++ b/ietf/stats/migrations/0001_initial.py
@@ -1,10 +1,8 @@
-# Copyright The IETF Trust 2018-2019, All Rights Reserved
+# Copyright The IETF Trust 2018-2020, All Rights Reserved
 # -*- coding: utf-8 -*-
 # Generated by Django 1.11.10 on 2018-02-20 10:52
 
 
-from __future__ import absolute_import, print_function, unicode_literals
-
 from django.db import migrations, models
 import django.db.models.deletion
 import ietf.utils.models
diff --git a/ietf/stats/models.py b/ietf/stats/models.py
index 924ff962e..14bba4984 100644
--- a/ietf/stats/models.py
+++ b/ietf/stats/models.py
@@ -1,9 +1,7 @@
-# Copyright The IETF Trust 2017-2019, All Rights Reserved
+# Copyright The IETF Trust 2017-2020, All Rights Reserved
 # -*- coding: utf-8 -*-
 
 
-from __future__ import absolute_import, print_function, unicode_literals
-
 from django.db import models
 from django.utils.encoding import python_2_unicode_compatible
 
diff --git a/ietf/stats/tests.py b/ietf/stats/tests.py
index 3431903c9..e755a6c88 100644
--- a/ietf/stats/tests.py
+++ b/ietf/stats/tests.py
@@ -1,9 +1,7 @@
-# Copyright The IETF Trust 2016-2019, All Rights Reserved
+# Copyright The IETF Trust 2016-2020, All Rights Reserved
 # -*- coding: utf-8 -*-
 
 
-from __future__ import absolute_import, print_function, unicode_literals
-
 import calendar
 import datetime
 import json
diff --git a/ietf/stats/urls.py b/ietf/stats/urls.py
index 7929ecadd..d2993759d 100644
--- a/ietf/stats/urls.py
+++ b/ietf/stats/urls.py
@@ -1,9 +1,7 @@
-# Copyright The IETF Trust 2016-2019, All Rights Reserved
+# Copyright The IETF Trust 2016-2020, All Rights Reserved
 # -*- coding: utf-8 -*-
 
 
-from __future__ import absolute_import, print_function, unicode_literals
-
 from django.conf import settings
 
 from ietf.stats import views
diff --git a/ietf/stats/utils.py b/ietf/stats/utils.py
index fa8f23f1b..93c12a45f 100644
--- a/ietf/stats/utils.py
+++ b/ietf/stats/utils.py
@@ -1,9 +1,7 @@
-# Copyright The IETF Trust 2017-2019, All Rights Reserved
+# Copyright The IETF Trust 2017-2020, All Rights Reserved
 # -*- coding: utf-8 -*-
 
 
-from __future__ import absolute_import, print_function, unicode_literals
-
 import re
 import requests
 from collections import defaultdict
diff --git a/ietf/stats/views.py b/ietf/stats/views.py
index f9d7968f0..c7e38bf38 100644
--- a/ietf/stats/views.py
+++ b/ietf/stats/views.py
@@ -1,9 +1,7 @@
-# Copyright The IETF Trust 2016-2019, All Rights Reserved
+# Copyright The IETF Trust 2016-2020, All Rights Reserved
 # -*- coding: utf-8 -*-
 
 
-from __future__ import absolute_import, print_function, unicode_literals
-
 import os
 import calendar
 import datetime
diff --git a/ietf/submit/checkers.py b/ietf/submit/checkers.py
index 64cfc579f..59db02f16 100644
--- a/ietf/submit/checkers.py
+++ b/ietf/submit/checkers.py
@@ -2,13 +2,10 @@
 # -*- coding: utf-8 -*-
 
 
-from __future__ import absolute_import, print_function, unicode_literals
-
 import io
 import os
 import re
 import shutil
-import six
 import sys
 import tempfile
 
@@ -148,8 +145,8 @@ class DraftYangChecker(object):
                 # This places the yang models as files in workdir
                 saved_stdout = sys.stdout
                 saved_stderr = sys.stderr
-                sys.stdout = six.StringIO()
-                sys.stderr = six.StringIO()
+                sys.stdout = io.StringIO()
+                sys.stderr = io.StringIO()
                 extractor.extract_yang_model(file.readlines())
                 model_list = extractor.get_extracted_models(False, True)
                 out = sys.stdout.getvalue()
diff --git a/ietf/submit/forms.py b/ietf/submit/forms.py
index 205682b09..00709fdd1 100644
--- a/ietf/submit/forms.py
+++ b/ietf/submit/forms.py
@@ -2,15 +2,12 @@
 # -*- coding: utf-8 -*-
 
 
-from __future__ import absolute_import, print_function, unicode_literals
-
 import io
 import os
 import re
 import datetime
 import email
 import pytz
-import six
 import sys
 import tempfile
 import xml2rfc
@@ -18,12 +15,6 @@ import xml2rfc
 from email.utils import formataddr
 from unidecode import unidecode
 
-if six.PY2:
-    from StringIO import StringIO
-else:
-    from io import StringIO
-
-
 from django import forms
 from django.conf import settings
 from django.utils.html import mark_safe # type:ignore
@@ -170,8 +161,8 @@ class SubmissionBaseUploadForm(forms.Form):
             name, ext = os.path.splitext(os.path.basename(xml_file.name))
             tfh, tfn = tempfile.mkstemp(prefix=name+'-', suffix='.xml')
             file_name = {}
-            xml2rfc.log.write_out = StringIO()   # open(os.devnull, "w")
-            xml2rfc.log.write_err = StringIO()   # open(os.devnull, "w")
+            xml2rfc.log.write_out = io.StringIO()   # open(os.devnull, "w")
+            xml2rfc.log.write_err = io.StringIO()   # open(os.devnull, "w")
             try:
                 # We need to write the xml file to disk in order to hand it
                 # over to the xml parser.  XXX FIXME: investigate updating
diff --git a/ietf/submit/mail.py b/ietf/submit/mail.py
index 43db7285e..32dd89e25 100644
--- a/ietf/submit/mail.py
+++ b/ietf/submit/mail.py
@@ -2,8 +2,6 @@
 # -*- coding: utf-8 -*-
 
 
-from __future__ import absolute_import, print_function, unicode_literals
-
 import re
 import email
 import datetime
diff --git a/ietf/submit/management/commands/manualpost_email.py b/ietf/submit/management/commands/manualpost_email.py
index 10d3ed3d5..aaabfb39b 100644
--- a/ietf/submit/management/commands/manualpost_email.py
+++ b/ietf/submit/management/commands/manualpost_email.py
@@ -1,9 +1,7 @@
-# Copyright The IETF Trust 2016-2019, All Rights Reserved
+# Copyright The IETF Trust 2016-2020, All Rights Reserved
 # -*- coding: utf-8 -*-
 
 
-from __future__ import absolute_import, print_function, unicode_literals
-
 import io
 import sys
 
diff --git a/ietf/submit/migrations/0001_initial.py b/ietf/submit/migrations/0001_initial.py
index 79d5fc3db..619260600 100644
--- a/ietf/submit/migrations/0001_initial.py
+++ b/ietf/submit/migrations/0001_initial.py
@@ -1,10 +1,8 @@
-# Copyright The IETF Trust 2018-2019, All Rights Reserved
+# Copyright The IETF Trust 2018-2020, All Rights Reserved
 # -*- coding: utf-8 -*-
 # Generated by Django 1.11.10 on 2018-02-20 10:52
 
 
-from __future__ import absolute_import, print_function, unicode_literals
-
 import datetime
 from django.db import migrations, models
 import django.db.models.deletion
diff --git a/ietf/submit/migrations/0002_submission_document2_fk.py b/ietf/submit/migrations/0002_submission_document2_fk.py
index 27d9daa7f..7885cff32 100644
--- a/ietf/submit/migrations/0002_submission_document2_fk.py
+++ b/ietf/submit/migrations/0002_submission_document2_fk.py
@@ -1,10 +1,8 @@
-# Copyright The IETF Trust 2019, All Rights Reserved
+# Copyright The IETF Trust 2019-2020, All Rights Reserved
 # -*- coding: utf-8 -*-
 # Generated by Django 1.11.20 on 2019-05-08 11:58
 
 
-from __future__ import absolute_import, print_function, unicode_literals
-
 from django.db import migrations
 import django.db.models.deletion
 import ietf.utils.models
diff --git a/ietf/submit/migrations/0003_remove_old_document_field.py b/ietf/submit/migrations/0003_remove_old_document_field.py
index fe4d880ef..f8deb2ff9 100644
--- a/ietf/submit/migrations/0003_remove_old_document_field.py
+++ b/ietf/submit/migrations/0003_remove_old_document_field.py
@@ -1,10 +1,8 @@
-# Copyright The IETF Trust 2019, All Rights Reserved
+# Copyright The IETF Trust 2019-2020, All Rights Reserved
 # -*- coding: utf-8 -*-
 # Generated by Django 1.11.20 on 2019-05-25 06:44
 
 
-from __future__ import absolute_import, print_function, unicode_literals
-
 from django.db import migrations
 
 
diff --git a/ietf/submit/migrations/0004_rename_field_document2.py b/ietf/submit/migrations/0004_rename_field_document2.py
index b1bdbdcec..422265923 100644
--- a/ietf/submit/migrations/0004_rename_field_document2.py
+++ b/ietf/submit/migrations/0004_rename_field_document2.py
@@ -1,10 +1,8 @@
-# Copyright The IETF Trust 2019, All Rights Reserved
+# Copyright The IETF Trust 2019-2020, All Rights Reserved
 # -*- coding: utf-8 -*-
 # Generated by Django 1.11.20 on 2019-05-25 06:46
 
 
-from __future__ import absolute_import, print_function, unicode_literals
-
 from django.db import migrations
 
 
diff --git a/ietf/submit/models.py b/ietf/submit/models.py
index 04f7400bf..e8e1e0849 100644
--- a/ietf/submit/models.py
+++ b/ietf/submit/models.py
@@ -1,9 +1,7 @@
-# Copyright The IETF Trust 2011-2019, All Rights Reserved
+# Copyright The IETF Trust 2011-2020, All Rights Reserved
 # -*- coding: utf-8 -*-
 
 
-from __future__ import absolute_import, print_function, unicode_literals
-
 import datetime
 import email
 import jsonfield
diff --git a/ietf/submit/parsers/base.py b/ietf/submit/parsers/base.py
index 05674420f..22f67a56a 100644
--- a/ietf/submit/parsers/base.py
+++ b/ietf/submit/parsers/base.py
@@ -1,16 +1,13 @@
-# Copyright The IETF Trust 2011-2019, All Rights Reserved
+# Copyright The IETF Trust 2011-2020, All Rights Reserved
 # -*- coding: utf-8 -*-
 
 
-from __future__ import absolute_import, print_function, unicode_literals
-
 import re
 import magic
 import datetime
 import debug                            # pyflakes:ignore
-import six
-if six.PY3:
-    from typing import List, Optional   # pyflakes:ignore
+
+from typing import List, Optional   # pyflakes:ignore
 
 from django.conf import settings
 from django.template.defaultfilters import filesizeformat
diff --git a/ietf/submit/parsers/plain_parser.py b/ietf/submit/parsers/plain_parser.py
index a0e1f3659..a3338e35a 100644
--- a/ietf/submit/parsers/plain_parser.py
+++ b/ietf/submit/parsers/plain_parser.py
@@ -1,8 +1,6 @@
 # Copyright The IETF Trust 2011-2020, All Rights Reserved
 
 
-from __future__ import absolute_import, print_function, unicode_literals
-
 import re
 
 import debug                            # pyflakes:ignore
diff --git a/ietf/submit/templatetags/submit_tags.py b/ietf/submit/templatetags/submit_tags.py
index b2bbde386..416564881 100644
--- a/ietf/submit/templatetags/submit_tags.py
+++ b/ietf/submit/templatetags/submit_tags.py
@@ -1,9 +1,7 @@
-# Copyright The IETF Trust 2011-2019, All Rights Reserved
+# Copyright The IETF Trust 2011-2020, All Rights Reserved
 # -*- coding: utf-8 -*-
 
 
-from __future__ import absolute_import, print_function, unicode_literals
-
 import os
 
 from django import template
diff --git a/ietf/submit/tests.py b/ietf/submit/tests.py
index 4af95af10..8deaa8934 100644
--- a/ietf/submit/tests.py
+++ b/ietf/submit/tests.py
@@ -2,15 +2,12 @@
 # -*- coding: utf-8 -*-
 
 
-from __future__ import absolute_import, print_function, unicode_literals
-
 import datetime
 import email
 import io
 import os
 import re
 import shutil
-import six
 import sys
 
 
@@ -160,7 +157,7 @@ class SubmitTests(TestCase):
         submission = Submission.objects.get(name=name)
         if len(submission.authors) != 1:
             sys.stderr.write("\nAuthor extraction failure.\n")
-            sys.stderr.write(six.ensure_text("Author name used in test: %s\n"%author))
+            sys.stderr.write(force_str("Author name used in test: %s\n"%author))
             sys.stderr.write("Author ascii name: %s\n" % author.ascii)
             sys.stderr.write("Author initials: %s\n" % author.initials())
         self.assertEqual(len(submission.authors), 1)
diff --git a/ietf/submit/utils.py b/ietf/submit/utils.py
index 6083539c0..033403ff1 100644
--- a/ietf/submit/utils.py
+++ b/ietf/submit/utils.py
@@ -2,15 +2,12 @@
 # -*- coding: utf-8 -*-
 
 
-from __future__ import absolute_import, print_function, unicode_literals
-
 import datetime
 import io
 import os
 import re
-import six                              # pyflakes:ignore
-if six.PY3:
-    from typing import Callable, Optional # pyflakes:ignore
+
+from typing import Callable, Optional # pyflakes:ignore
 
 from django.conf import settings
 from django.core.validators import validate_email, ValidationError
diff --git a/ietf/submit/views.py b/ietf/submit/views.py
index d8b32a641..9c095b0f0 100644
--- a/ietf/submit/views.py
+++ b/ietf/submit/views.py
@@ -1,15 +1,12 @@
-# Copyright The IETF Trust 2011-2019, All Rights Reserved
+# Copyright The IETF Trust 2011-2020, All Rights Reserved
 # -*- coding: utf-8 -*-
 
 
-from __future__ import absolute_import, print_function, unicode_literals
-
 import re
 import base64
 import datetime
-import six
-if six.PY3:
-    from typing import Optional         # pyflakes:ignore
+
+from typing import Optional         # pyflakes:ignore
 
 from django.conf import settings
 from django.contrib import messages
diff --git a/ietf/sync/iana.py b/ietf/sync/iana.py
index e80772cec..eac3ccc9c 100644
--- a/ietf/sync/iana.py
+++ b/ietf/sync/iana.py
@@ -2,8 +2,6 @@
 # -*- coding: utf-8 -*-
 
 
-from __future__ import absolute_import, print_function, unicode_literals
-
 import base64
 import datetime
 import email
diff --git a/ietf/sync/rfceditor.py b/ietf/sync/rfceditor.py
index a257b8f70..1afc85cf3 100644
--- a/ietf/sync/rfceditor.py
+++ b/ietf/sync/rfceditor.py
@@ -2,8 +2,6 @@
 # -*- coding: utf-8 -*-
 
 
-from __future__ import absolute_import, print_function, unicode_literals
-
 import base64
 import datetime
 import re
diff --git a/ietf/sync/tests.py b/ietf/sync/tests.py
index bbdcf7149..8b43117d4 100644
--- a/ietf/sync/tests.py
+++ b/ietf/sync/tests.py
@@ -2,8 +2,6 @@
 # -*- coding: utf-8 -*-
 
 
-from __future__ import absolute_import, print_function, unicode_literals
-
 import os
 import io
 import json
diff --git a/ietf/utils/accesstoken.py b/ietf/utils/accesstoken.py
index a6ba65935..b2a93f77d 100644
--- a/ietf/utils/accesstoken.py
+++ b/ietf/utils/accesstoken.py
@@ -1,9 +1,7 @@
-# Copyright The IETF Trust 2013-2019, All Rights Reserved
+# Copyright The IETF Trust 2013-2020, All Rights Reserved
 # -*- coding: utf-8 -*-
 
 
-from __future__ import absolute_import, print_function, unicode_literals
-
 import time, random, hashlib
 
 from django.conf import settings
diff --git a/ietf/utils/admin.py b/ietf/utils/admin.py
index cf37dcff9..3e562c2bc 100644
--- a/ietf/utils/admin.py
+++ b/ietf/utils/admin.py
@@ -2,9 +2,6 @@
 # -*- coding: utf-8 -*-
 
 
-from __future__ import absolute_import, print_function, unicode_literals
-
-
 from django.contrib import admin
 from django.utils.encoding import force_text
 
diff --git a/ietf/utils/aliases.py b/ietf/utils/aliases.py
index 6c31e9ec2..53a7f815e 100644
--- a/ietf/utils/aliases.py
+++ b/ietf/utils/aliases.py
@@ -1,5 +1,5 @@
 #!/usr/bin/env python
-# Copyright The IETF Trust 2013-2019, All Rights Reserved
+# Copyright The IETF Trust 2013-2020, All Rights Reserved
 # -*- coding: utf-8 -*-
 # -*- Python -*-
 #
@@ -9,8 +9,6 @@
 #
 
 
-from __future__ import absolute_import, print_function, unicode_literals
-
 """
 
 Mailing list alias dumping utilities
diff --git a/ietf/utils/bootstrap.py b/ietf/utils/bootstrap.py
index b4e169f5a..0ff40084c 100644
--- a/ietf/utils/bootstrap.py
+++ b/ietf/utils/bootstrap.py
@@ -1,9 +1,7 @@
-# Copyright The IETF Trust 2016-2019, All Rights Reserved
+# Copyright The IETF Trust 2016-2020, All Rights Reserved
 # -*- coding: utf-8 -*-
 
 
-from __future__ import absolute_import, print_function, unicode_literals
-
 import bootstrap3.renderers
 
 class SeparateErrorsFromHelpTextFieldRenderer(bootstrap3.renderers.FieldRenderer):
diff --git a/ietf/utils/decorators.py b/ietf/utils/decorators.py
index ff91a2860..6d01dc409 100644
--- a/ietf/utils/decorators.py
+++ b/ietf/utils/decorators.py
@@ -1,9 +1,7 @@
-# Copyright The IETF Trust 2016-2019, All Rights Reserved
+# Copyright The IETF Trust 2016-2020, All Rights Reserved
 # -*- coding: utf-8 -*-
 
 
-from __future__ import absolute_import, print_function, unicode_literals
-
 import datetime
 
 from decorator import decorator, decorate
diff --git a/ietf/utils/draft.py b/ietf/utils/draft.py
index cc0b77985..938b0148c 100755
--- a/ietf/utils/draft.py
+++ b/ietf/utils/draft.py
@@ -4,8 +4,6 @@
 # -*- python -*-
 
 
-from __future__ import absolute_import, print_function, unicode_literals
-
 """
 NAME
         %(program)s - Extract meta-information from an IETF draft.
diff --git a/ietf/utils/draft_search.py b/ietf/utils/draft_search.py
index dd250e319..2363250d4 100644
--- a/ietf/utils/draft_search.py
+++ b/ietf/utils/draft_search.py
@@ -1,9 +1,7 @@
-# Copyright The IETF Trust 2007-2019, All Rights Reserved
+# Copyright The IETF Trust 2007-2020, All Rights Reserved
 # -*- coding: utf-8 -*-
 
 
-from __future__ import absolute_import, print_function, unicode_literals
-
 import re
 
 def normalize_draftname(string):
diff --git a/ietf/utils/fields.py b/ietf/utils/fields.py
index ec2e5b3e7..681b111db 100644
--- a/ietf/utils/fields.py
+++ b/ietf/utils/fields.py
@@ -2,8 +2,6 @@
 # -*- coding: utf-8 -*-
 
 
-from __future__ import absolute_import, print_function, unicode_literals
-
 import datetime
 import re
 
diff --git a/ietf/utils/history.py b/ietf/utils/history.py
index 35d532641..03fad4793 100644
--- a/ietf/utils/history.py
+++ b/ietf/utils/history.py
@@ -1,9 +1,7 @@
-# Copyright The IETF Trust 2011-2019, All Rights Reserved
+# Copyright The IETF Trust 2011-2020, All Rights Reserved
 # -*- coding: utf-8 -*-
 
 
-from __future__ import absolute_import, print_function, unicode_literals
-
 import debug                            # pyflakes:ignore
 
 def find_history_active_at(obj, time):
diff --git a/ietf/utils/html.py b/ietf/utils/html.py
index 35f2c14e4..1630c8acc 100644
--- a/ietf/utils/html.py
+++ b/ietf/utils/html.py
@@ -4,15 +4,12 @@
 """Utilities for working with HTML."""
 
 
-from __future__ import absolute_import, print_function, unicode_literals
-
 import bleach
 import copy
 import html2text
 import lxml.etree
 import lxml.html
 import lxml.html.clean
-import six
 
 import debug                            # pyflakes:ignore
 
@@ -63,7 +60,7 @@ class Cleaner(lxml.html.clean.Cleaner):
     # Copied from lxml 4.2.0 and modified to insert charset meta:
     def clean_html(self, html):
         result_type = type(html)
-        if isinstance(html, six.string_types):
+        if isinstance(html, (str, bytes)):
             doc = lxml.html.fromstring(html)
         else:
             doc = copy.deepcopy(html)
diff --git a/ietf/utils/log.py b/ietf/utils/log.py
index 8599291fe..ddbe77339 100644
--- a/ietf/utils/log.py
+++ b/ietf/utils/log.py
@@ -2,8 +2,6 @@
 # -*- coding: utf-8 -*-
 
 
-from __future__ import absolute_import, print_function, unicode_literals
-
 import sys
 import logging
 import inspect
diff --git a/ietf/utils/mail.py b/ietf/utils/mail.py
index eb186610a..054e4ae4a 100644
--- a/ietf/utils/mail.py
+++ b/ietf/utils/mail.py
@@ -2,8 +2,6 @@
 # -*- coding: utf-8 -*-
 
 
-from __future__ import absolute_import, print_function, unicode_literals
-
 import copy
 import datetime
 #import logging
diff --git a/ietf/utils/management/commands/check_referential_integrity.py b/ietf/utils/management/commands/check_referential_integrity.py
index 528a30cd4..f876df107 100644
--- a/ietf/utils/management/commands/check_referential_integrity.py
+++ b/ietf/utils/management/commands/check_referential_integrity.py
@@ -2,8 +2,6 @@
 # -*- coding: utf-8 -*-
 
 
-from __future__ import absolute_import, print_function, unicode_literals
-
 from tqdm import tqdm
 
 import django
diff --git a/ietf/utils/management/commands/coverage_changes.py b/ietf/utils/management/commands/coverage_changes.py
index 38660836b..7a445bd0c 100644
--- a/ietf/utils/management/commands/coverage_changes.py
+++ b/ietf/utils/management/commands/coverage_changes.py
@@ -2,8 +2,6 @@
 # -*- coding: utf-8 -*-
 
 
-from __future__ import absolute_import, print_function, unicode_literals
-
 import gzip
 import io
 import json
diff --git a/ietf/utils/management/commands/create_group_wikis.py b/ietf/utils/management/commands/create_group_wikis.py
index 8c9caea8b..13315b012 100644
--- a/ietf/utils/management/commands/create_group_wikis.py
+++ b/ietf/utils/management/commands/create_group_wikis.py
@@ -2,8 +2,6 @@
 # -*- coding: utf-8 -*-
 
 
-from __future__ import absolute_import, print_function, unicode_literals
-
 import os
 import copy
 import io
diff --git a/ietf/utils/management/commands/download_extras.py b/ietf/utils/management/commands/download_extras.py
index 74bfc1e1b..a74291bc2 100644
--- a/ietf/utils/management/commands/download_extras.py
+++ b/ietf/utils/management/commands/download_extras.py
@@ -1,9 +1,7 @@
-# Copyright The IETF Trust 2019, All Rights Reserved
+# Copyright The IETF Trust 2019-2020, All Rights Reserved
 # -*- coding: utf-8 -*-
 
 
-from __future__ import absolute_import, print_function, unicode_literals
-
 import os
 import subprocess
 
diff --git a/ietf/utils/management/commands/dumprelated.py b/ietf/utils/management/commands/dumprelated.py
index 60a7ea70b..66fbb33bf 100644
--- a/ietf/utils/management/commands/dumprelated.py
+++ b/ietf/utils/management/commands/dumprelated.py
@@ -1,9 +1,7 @@
-# Copyright The IETF Trust 2018-2019, All Rights Reserved
+# Copyright The IETF Trust 2018-2020, All Rights Reserved
 # -*- coding: utf-8 -*-
 
 
-from __future__ import absolute_import, print_function, unicode_literals
-
 import io
 import warnings
 from collections import OrderedDict
diff --git a/ietf/utils/management/commands/fix_ambiguous_timestamps.py b/ietf/utils/management/commands/fix_ambiguous_timestamps.py
index 9a20d1cc5..fc872f458 100644
--- a/ietf/utils/management/commands/fix_ambiguous_timestamps.py
+++ b/ietf/utils/management/commands/fix_ambiguous_timestamps.py
@@ -1,6 +1,6 @@
-# Copyright The IETF Trust 2014-2019, All Rights Reserved
+# Copyright The IETF Trust 2019-2020, All Rights Reserved
 # -*- coding: utf-8 -*-
-from __future__ import absolute_import, print_function, unicode_literals
+
 
 import datetime
 import pytz
diff --git a/ietf/utils/management/commands/loadrelated.py b/ietf/utils/management/commands/loadrelated.py
index 78da0e33e..e3d84990c 100644
--- a/ietf/utils/management/commands/loadrelated.py
+++ b/ietf/utils/management/commands/loadrelated.py
@@ -1,9 +1,7 @@
-# Copyright The IETF Trust 2018-2019, All Rights Reserved
+# Copyright The IETF Trust 2018-2020, All Rights Reserved
 # -*- coding: utf-8 -*-
 
 
-from __future__ import absolute_import, print_function, unicode_literals
-
 import gzip
 import os
 #import sys
diff --git a/ietf/utils/management/commands/makefixture.py b/ietf/utils/management/commands/makefixture.py
index 35e99556e..0044dc719 100644
--- a/ietf/utils/management/commands/makefixture.py
+++ b/ietf/utils/management/commands/makefixture.py
@@ -3,8 +3,6 @@
 # From https://github.com/ericholscher/django-test-utils/blob/master/test_utils/management/commands/makefixture.py
 
 
-from __future__ import absolute_import, print_function, unicode_literals
-
 """
 "Make fixture" command.
 
diff --git a/ietf/utils/management/commands/mergedata.py b/ietf/utils/management/commands/mergedata.py
index 732e2ad4b..3a169c51e 100644
--- a/ietf/utils/management/commands/mergedata.py
+++ b/ietf/utils/management/commands/mergedata.py
@@ -1,7 +1,6 @@
 # Copyright The IETF Trust 2020, All Rights Reserved
 # -*- coding: utf-8 -*-
 
-from __future__ import absolute_import, print_function, unicode_literals
 
 import os
 import warnings
diff --git a/ietf/utils/management/commands/populate_yang_model_dirs.py b/ietf/utils/management/commands/populate_yang_model_dirs.py
index 891fd362c..9151cedff 100644
--- a/ietf/utils/management/commands/populate_yang_model_dirs.py
+++ b/ietf/utils/management/commands/populate_yang_model_dirs.py
@@ -2,8 +2,6 @@
 # -*- coding: utf-8 -*-
 
 
-from __future__ import absolute_import, print_function, unicode_literals
-
 import io
 import os
 import sys
diff --git a/ietf/utils/management/commands/pyflakes.py b/ietf/utils/management/commands/pyflakes.py
index 0423afff4..001508a0f 100644
--- a/ietf/utils/management/commands/pyflakes.py
+++ b/ietf/utils/management/commands/pyflakes.py
@@ -1,9 +1,7 @@
-# Copyright The IETF Trust 2014-2019, All Rights Reserved
+# Copyright The IETF Trust 2014-2020, All Rights Reserved
 # -*- coding: utf-8 -*-
 
 
-from __future__ import absolute_import
-
 import ast
 import os
 from pyflakes import checker, messages
diff --git a/ietf/utils/management/commands/run_yang_model_checks.py b/ietf/utils/management/commands/run_yang_model_checks.py
index 3fed40a44..ad053746b 100644
--- a/ietf/utils/management/commands/run_yang_model_checks.py
+++ b/ietf/utils/management/commands/run_yang_model_checks.py
@@ -1,9 +1,7 @@
-# Copyright The IETF Trust 2017-2019, All Rights Reserved
+# Copyright The IETF Trust 2017-2020, All Rights Reserved
 # -*- coding: utf-8 -*-
 
 
-from __future__ import absolute_import, print_function, unicode_literals
-
 import json
 
 from textwrap import dedent
diff --git a/ietf/utils/management/commands/send_apikey_usage_emails.py b/ietf/utils/management/commands/send_apikey_usage_emails.py
index f8f923021..4aa4e5524 100644
--- a/ietf/utils/management/commands/send_apikey_usage_emails.py
+++ b/ietf/utils/management/commands/send_apikey_usage_emails.py
@@ -1,9 +1,7 @@
-# Copyright The IETF Trust 2017-2019, All Rights Reserved
+# Copyright The IETF Trust 2017-2020, All Rights Reserved
 # -*- coding: utf-8 -*-
 
 
-from __future__ import absolute_import, print_function, unicode_literals
-
 import datetime
 
 from textwrap import dedent
diff --git a/ietf/utils/management/commands/send_gdpr_consent_request.py b/ietf/utils/management/commands/send_gdpr_consent_request.py
index 9a50399dc..2bb08eed1 100644
--- a/ietf/utils/management/commands/send_gdpr_consent_request.py
+++ b/ietf/utils/management/commands/send_gdpr_consent_request.py
@@ -1,9 +1,7 @@
-# Copyright The IETF Trust 2018-2019, All Rights Reserved
+# Copyright The IETF Trust 2018-2020, All Rights Reserved
 # -*- coding: utf-8 -*-
 
 
-from __future__ import absolute_import, print_function, unicode_literals
-
 import datetime
 import time
 
diff --git a/ietf/utils/management/commands/sqldumpdump.py b/ietf/utils/management/commands/sqldumpdump.py
index a8e596330..68c15b3f8 100644
--- a/ietf/utils/management/commands/sqldumpdump.py
+++ b/ietf/utils/management/commands/sqldumpdump.py
@@ -1,6 +1,6 @@
 # Copyright The IETF Trust 2020, All Rights Reserved
 # -*- coding: utf-8 -*-
-from __future__ import absolute_import, print_function, unicode_literals
+
 
 import collections
 import io
diff --git a/ietf/utils/management/commands/tests.py b/ietf/utils/management/commands/tests.py
index 12c606b02..6619cb819 100644
--- a/ietf/utils/management/commands/tests.py
+++ b/ietf/utils/management/commands/tests.py
@@ -2,8 +2,6 @@
 # -*- coding: utf-8 -*-
 
 
-from __future__ import absolute_import, print_function, unicode_literals
-
 import io
 import os
 import tempfile
diff --git a/ietf/utils/management/commands/update_community_list_index.py b/ietf/utils/management/commands/update_community_list_index.py
index 299038388..3f3a783cf 100644
--- a/ietf/utils/management/commands/update_community_list_index.py
+++ b/ietf/utils/management/commands/update_community_list_index.py
@@ -1,10 +1,7 @@
-# Copyright The IETF Trust 2019, All Rights Reserved
+# Copyright The IETF Trust 2019-2020, All Rights Reserved
 # -*- coding: utf-8 -*-
 
 
-from __future__ import absolute_import, print_function, unicode_literals
-
-
 from django.core.management.base import BaseCommand
 
 import debug                            # pyflakes:ignore
diff --git a/ietf/utils/management/commands/update_external_command_info.py b/ietf/utils/management/commands/update_external_command_info.py
index c7b3497ad..9cc1d1ba4 100644
--- a/ietf/utils/management/commands/update_external_command_info.py
+++ b/ietf/utils/management/commands/update_external_command_info.py
@@ -2,8 +2,6 @@
 # -*- coding: utf-8 -*-
 
 
-from __future__ import absolute_import, print_function, unicode_literals
-
 import sys
 
 from textwrap import dedent
diff --git a/ietf/utils/markup_txt.py b/ietf/utils/markup_txt.py
index fe5fc7600..cb4f23820 100644
--- a/ietf/utils/markup_txt.py
+++ b/ietf/utils/markup_txt.py
@@ -34,8 +34,6 @@
 # OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 
 
-from __future__ import absolute_import, print_function, unicode_literals
-
 import re
 
 from django.utils.html import escape
diff --git a/ietf/utils/migrations/0001_initial.py b/ietf/utils/migrations/0001_initial.py
index 6311b8828..87cb75287 100644
--- a/ietf/utils/migrations/0001_initial.py
+++ b/ietf/utils/migrations/0001_initial.py
@@ -3,8 +3,6 @@
 # Generated by Django 1.11.10 on 2018-02-20 10:52
 
 
-from __future__ import absolute_import, print_function, unicode_literals
-
 from typing import List, Tuple      # pyflakes:ignore
 
 from django.db import migrations, models
diff --git a/ietf/utils/mime.py b/ietf/utils/mime.py
index 4c58d6629..e5289133a 100644
--- a/ietf/utils/mime.py
+++ b/ietf/utils/mime.py
@@ -1,7 +1,6 @@
 # Copyright The IETF Trust 2020, All Rights Reserved
 # -*- coding: utf-8 -*-
 
-from __future__ import absolute_import, print_function, unicode_literals
 
 import magic
 
diff --git a/ietf/utils/ordereddict.py b/ietf/utils/ordereddict.py
index bdc911efd..a5b1380c5 100644
--- a/ietf/utils/ordereddict.py
+++ b/ietf/utils/ordereddict.py
@@ -1,9 +1,7 @@
-# Copyright The IETF Trust 2014-2019, All Rights Reserved
+# Copyright The IETF Trust 2014-2020, All Rights Reserved
 # -*- coding: utf-8 -*-
 
 
-from __future__ import absolute_import, print_function, unicode_literals
-
 def insert_after_in_ordered_dict(dictionary, key, value, after):
     """There's no "insert" in ordered dict so simulate it instead by
     re-adding entries. Obviously that's not ideal, but for small dicts the
diff --git a/ietf/utils/patch.py b/ietf/utils/patch.py
index 379f2c760..b98106126 100644
--- a/ietf/utils/patch.py
+++ b/ietf/utils/patch.py
@@ -11,7 +11,7 @@
     https://github.com/techtonik/python-patch/
 
 """
-from __future__ import print_function
+
 
 __author__ = "anatoly techtonik <techtonik@gmail.com>"
 __version__ = "1.16"
diff --git a/ietf/utils/pdf.py b/ietf/utils/pdf.py
index 989e1a871..cb856dadc 100644
--- a/ietf/utils/pdf.py
+++ b/ietf/utils/pdf.py
@@ -1,9 +1,7 @@
-# Copyright The IETF Trust 2015-2019, All Rights Reserved
+# Copyright The IETF Trust 2015-2020, All Rights Reserved
 # -*- coding: utf-8 -*-
 
 
-from __future__ import absolute_import, print_function, unicode_literals
-
 import io
 import re
 
diff --git a/ietf/utils/pipe.py b/ietf/utils/pipe.py
index e61fce373..907e4af5f 100644
--- a/ietf/utils/pipe.py
+++ b/ietf/utils/pipe.py
@@ -1,9 +1,7 @@
-# Copyright The IETF Trust 2010-2019, All Rights Reserved
+# Copyright The IETF Trust 2010-2020, All Rights Reserved
 # -*- coding: utf-8 -*-
 
 
-from __future__ import absolute_import, print_function, unicode_literals
-
 # Simplified interface to os.popen3()
 
 def pipe(cmd, str=None):
diff --git a/ietf/utils/templatetags/htmlfilters.py b/ietf/utils/templatetags/htmlfilters.py
index 80ad13e78..10c40408c 100644
--- a/ietf/utils/templatetags/htmlfilters.py
+++ b/ietf/utils/templatetags/htmlfilters.py
@@ -1,10 +1,7 @@
-# Copyright The IETF Trust 2017-2019, All Rights Reserved
+# Copyright The IETF Trust 2017-2020, All Rights Reserved
 # -*- coding: utf-8 -*-
 
 
-from __future__ import absolute_import, print_function, unicode_literals
-
-
 from django.template.library import Library
 from django.template.defaultfilters import stringfilter
 
diff --git a/ietf/utils/templatetags/textfilters.py b/ietf/utils/templatetags/textfilters.py
index ad4d6cb64..8ba5992e1 100644
--- a/ietf/utils/templatetags/textfilters.py
+++ b/ietf/utils/templatetags/textfilters.py
@@ -1,9 +1,7 @@
-# Copyright The IETF Trust 2016-2019, All Rights Reserved
+# Copyright The IETF Trust 2016-2020, All Rights Reserved
 # -*- coding: utf-8 -*-
 
 
-from __future__ import absolute_import, print_function, unicode_literals
-
 import bleach
 
 from django import template
diff --git a/ietf/utils/test_data.py b/ietf/utils/test_data.py
index a0ce65f80..d39aacd7c 100644
--- a/ietf/utils/test_data.py
+++ b/ietf/utils/test_data.py
@@ -1,10 +1,7 @@
-# Copyright The IETF Trust 2011-2019, All Rights Reserved
+# Copyright The IETF Trust 2011-2020, All Rights Reserved
 # -*- coding: utf-8 -*-
 
 
-from __future__ import absolute_import, print_function, unicode_literals
-
-
 import datetime
 
 from django.conf import settings
diff --git a/ietf/utils/test_runner.py b/ietf/utils/test_runner.py
index 2bd0b5ac5..c39090d5a 100644
--- a/ietf/utils/test_runner.py
+++ b/ietf/utils/test_runner.py
@@ -34,8 +34,6 @@
 # OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 
 
-from __future__ import absolute_import, print_function, unicode_literals
-
 import io
 import re
 import os
diff --git a/ietf/utils/test_smtpserver.py b/ietf/utils/test_smtpserver.py
index 21644a643..e8e6727a5 100644
--- a/ietf/utils/test_smtpserver.py
+++ b/ietf/utils/test_smtpserver.py
@@ -2,8 +2,6 @@
 # -*- coding: utf-8 -*-
 
 
-from __future__ import absolute_import, print_function, unicode_literals
-
 import smtpd
 import threading
 import asyncore
diff --git a/ietf/utils/test_textupload.py b/ietf/utils/test_textupload.py
index a79fb73f8..8790fe7a9 100644
--- a/ietf/utils/test_textupload.py
+++ b/ietf/utils/test_textupload.py
@@ -1,9 +1,7 @@
-# Copyright The IETF Trust 2015-2019, All Rights Reserved
+# Copyright The IETF Trust 2014-2020, All Rights Reserved
 # -*- coding: utf-8 -*-
 
 
-from __future__ import absolute_import, print_function, unicode_literals
-
 from django.core.exceptions import ValidationError
 from django.core.files.uploadedfile import SimpleUploadedFile
 
diff --git a/ietf/utils/test_utils.py b/ietf/utils/test_utils.py
index e14a57ee7..b8b8367a8 100644
--- a/ietf/utils/test_utils.py
+++ b/ietf/utils/test_utils.py
@@ -34,8 +34,6 @@
 # OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 
 
-from __future__ import absolute_import, print_function, unicode_literals
-
 import os
 import re
 import email
diff --git a/ietf/utils/tests.py b/ietf/utils/tests.py
index f4338b179..b6556df0b 100644
--- a/ietf/utils/tests.py
+++ b/ietf/utils/tests.py
@@ -2,8 +2,6 @@
 # -*- coding: utf-8 -*-
 
 
-from __future__ import absolute_import, print_function, unicode_literals
-
 import io
 import os.path
 import shutil
@@ -52,7 +50,6 @@ skip_message = ""
 try:
     import svn                          # pyflakes:ignore
 except ImportError as e:
-    import sys
     skip_wiki_glue_testing = True
     skip_message = "Skipping trac tests: %s" % e
     sys.stderr.write("     "+skip_message+'\n')
diff --git a/ietf/utils/tests_restapi.py b/ietf/utils/tests_restapi.py
index a6b3c53e1..a1a646db6 100644
--- a/ietf/utils/tests_restapi.py
+++ b/ietf/utils/tests_restapi.py
@@ -2,8 +2,6 @@
 # -*- coding: utf-8 -*-
 
 
-from __future__ import absolute_import, print_function, unicode_literals
-
 import sys
 
 import debug
diff --git a/ietf/utils/texescape.py b/ietf/utils/texescape.py
index 623c192db..a38d8a5b2 100644
--- a/ietf/utils/texescape.py
+++ b/ietf/utils/texescape.py
@@ -1,11 +1,9 @@
-# Copyright The IETF Trust 2018-2019, All Rights Reserved
+# Copyright The IETF Trust 2018-2020, All Rights Reserved
 # -*- coding: utf-8 -*-
 # Copied from https://github.com/sphinx-doc/sphinx/blob/master/sphinx/util/texescape.py
 # Copyright and license as indicated in the original and below
 
 
-from __future__ import absolute_import, print_function, unicode_literals
-
 """
     sphinx.util.texescape
     ~~~~~~~~~~~~~~~~~~~~~
diff --git a/ietf/utils/text.py b/ietf/utils/text.py
index 0346e1e78..8040f0978 100644
--- a/ietf/utils/text.py
+++ b/ietf/utils/text.py
@@ -2,8 +2,6 @@
 # -*- coding: utf-8 -*-
 
 
-from __future__ import absolute_import, print_function, unicode_literals
-
 import re
 import textwrap
 import unicodedata
diff --git a/ietf/utils/textupload.py b/ietf/utils/textupload.py
index d9779df45..239a3dc05 100644
--- a/ietf/utils/textupload.py
+++ b/ietf/utils/textupload.py
@@ -1,9 +1,7 @@
-# Copyright The IETF Trust 2012-2019, All Rights Reserved
+# Copyright The IETF Trust 2012-2020, All Rights Reserved
 # -*- coding: utf-8 -*-
 
 
-from __future__ import absolute_import, print_function, unicode_literals
-
 import re
 
 from django.conf import settings
diff --git a/ietf/utils/urls.py b/ietf/utils/urls.py
index e3b5a0856..7f46d9c43 100644
--- a/ietf/utils/urls.py
+++ b/ietf/utils/urls.py
@@ -2,8 +2,6 @@
 # -*- coding: utf-8 -*-
 
 
-from __future__ import absolute_import, print_function, unicode_literals
-
 import debug                            # pyflakes:ignore
 
 from inspect import isclass
diff --git a/ietf/utils/validators.py b/ietf/utils/validators.py
index 9bf179ae3..fba46e564 100644
--- a/ietf/utils/validators.py
+++ b/ietf/utils/validators.py
@@ -1,7 +1,6 @@
 # Copyright The IETF Trust 2016-2020, All Rights Reserved
 # -*- coding: utf-8 -*-
 
-from __future__ import absolute_import, print_function, unicode_literals
 
 import os
 import re
diff --git a/ietf/wsgi.py b/ietf/wsgi.py
index cacc8ed60..76b63bde9 100644
--- a/ietf/wsgi.py
+++ b/ietf/wsgi.py
@@ -1,9 +1,7 @@
-# Copyright The IETF Trust 2013-2019, All Rights Reserved
+# Copyright The IETF Trust 2013-2020, All Rights Reserved
 # -*- coding: utf-8 -*-
 
 
-from __future__ import absolute_import, print_function, unicode_literals
-
 """
 WSGI configuration for the datatracker.