You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@allura.apache.org by ke...@apache.org on 2022/02/24 18:08:50 UTC

[allura] 01/04: [#8415] py2 removal - remove future imports

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

kentontaylor pushed a commit to branch kt/8415
in repository https://gitbox.apache.org/repos/asf/allura.git

commit e06eb8a7a8f35c44e25318d892dc6d3a2cfe9085
Author: Kenton Taylor <kt...@slashdotmedia.com>
AuthorDate: Wed Feb 23 18:59:24 2022 +0000

    [#8415] py2 removal - remove future imports
---
 Allura/allura/__init__.py                                    |  2 --
 Allura/allura/app.py                                         |  2 --
 Allura/allura/command/__init__.py                            |  2 --
 Allura/allura/command/base.py                                |  2 --
 Allura/allura/command/create_neighborhood.py                 |  2 --
 Allura/allura/command/create_trove_categories.py             |  2 --
 Allura/allura/command/reclone_repo.py                        |  2 --
 Allura/allura/command/script.py                              |  3 ---
 Allura/allura/command/set_neighborhood_features.py           |  2 --
 Allura/allura/command/show_models.py                         |  3 ---
 Allura/allura/command/smtp_server.py                         |  2 --
 Allura/allura/command/taskd.py                               |  3 ---
 Allura/allura/command/taskd_cleanup.py                       |  2 --
 Allura/allura/config/app_cfg.py                              |  2 --
 Allura/allura/config/environment.py                          |  2 --
 Allura/allura/config/middleware.py                           |  2 --
 Allura/allura/config/resources.py                            |  2 --
 Allura/allura/controllers/__init__.py                        |  1 -
 Allura/allura/controllers/attachments.py                     |  2 --
 Allura/allura/controllers/auth.py                            |  2 --
 Allura/allura/controllers/base.py                            |  2 --
 Allura/allura/controllers/basetest_project_root.py           |  2 --
 Allura/allura/controllers/discuss.py                         |  2 --
 Allura/allura/controllers/error.py                           |  2 --
 Allura/allura/controllers/feed.py                            |  2 --
 Allura/allura/controllers/newforge.py                        |  2 --
 Allura/allura/controllers/project.py                         |  2 --
 Allura/allura/controllers/repository.py                      |  2 --
 Allura/allura/controllers/rest.py                            |  2 --
 Allura/allura/controllers/root.py                            |  6 ++----
 Allura/allura/controllers/search.py                          |  2 --
 Allura/allura/controllers/site_admin.py                      |  2 --
 Allura/allura/controllers/task.py                            |  2 --
 Allura/allura/controllers/trovecategories.py                 |  2 --
 Allura/allura/eventslistener.py                              |  1 -
 Allura/allura/ext/admin/admin_main.py                        |  2 --
 Allura/allura/ext/admin/widgets.py                           |  4 +---
 Allura/allura/ext/personal_dashboard/dashboard_main.py       |  2 --
 Allura/allura/ext/project_home/project_main.py               |  2 --
 Allura/allura/ext/search/search_main.py                      |  2 --
 Allura/allura/ext/user_profile/user_main.py                  |  5 +++--
 Allura/allura/lib/app_globals.py                             |  2 --
 Allura/allura/lib/base.py                                    |  2 --
 Allura/allura/lib/custom_middleware.py                       |  2 --
 Allura/allura/lib/decorators.py                              |  2 --
 Allura/allura/lib/diff.py                                    |  2 --
 Allura/allura/lib/exceptions.py                              |  2 --
 Allura/allura/lib/gravatar.py                                |  2 --
 Allura/allura/lib/helpers.py                                 |  2 --
 Allura/allura/lib/import_api.py                              |  2 --
 Allura/allura/lib/macro.py                                   |  2 --
 Allura/allura/lib/mail_util.py                               |  2 --
 Allura/allura/lib/markdown_extensions.py                     |  2 --
 Allura/allura/lib/multifactor.py                             |  2 --
 Allura/allura/lib/package_path_loader.py                     |  2 --
 Allura/allura/lib/patches.py                                 |  2 --
 Allura/allura/lib/phone/__init__.py                          |  2 --
 Allura/allura/lib/phone/nexmo.py                             |  2 --
 Allura/allura/lib/plugin.py                                  |  2 --
 Allura/allura/lib/project_create_helpers.py                  |  2 --
 Allura/allura/lib/repository.py                              |  2 --
 Allura/allura/lib/search.py                                  |  2 --
 Allura/allura/lib/security.py                                |  1 -
 Allura/allura/lib/solr.py                                    |  2 --
 Allura/allura/lib/spam/__init__.py                           |  2 --
 Allura/allura/lib/spam/akismetfilter.py                      |  2 --
 Allura/allura/lib/spam/stopforumspamfilter.py                |  2 --
 Allura/allura/lib/utils.py                                   |  2 --
 Allura/allura/lib/validators.py                              |  2 --
 Allura/allura/lib/widgets/__init__.py                        |  1 -
 Allura/allura/lib/widgets/analytics.py                       |  2 --
 Allura/allura/lib/widgets/auth_widgets.py                    |  2 --
 Allura/allura/lib/widgets/discuss.py                         |  2 --
 Allura/allura/lib/widgets/form_fields.py                     |  2 --
 Allura/allura/lib/widgets/forms.py                           |  2 --
 Allura/allura/lib/widgets/macros.py                          |  2 --
 Allura/allura/lib/widgets/oauth_widgets.py                   |  2 --
 Allura/allura/lib/widgets/project_list.py                    |  2 --
 Allura/allura/lib/widgets/repo.py                            |  2 --
 Allura/allura/lib/widgets/search.py                          |  2 --
 Allura/allura/lib/widgets/subscriptions.py                   |  2 --
 Allura/allura/lib/widgets/user_profile.py                    |  2 --
 Allura/allura/lib/widgets/vote.py                            |  2 --
 Allura/allura/model/__init__.py                              |  2 --
 Allura/allura/model/artifact.py                              |  6 ++----
 Allura/allura/model/attachments.py                           |  2 --
 Allura/allura/model/auth.py                                  |  2 --
 Allura/allura/model/discuss.py                               |  2 --
 Allura/allura/model/filesystem.py                            |  4 +---
 Allura/allura/model/index.py                                 |  2 --
 Allura/allura/model/monq_model.py                            |  2 --
 Allura/allura/model/multifactor.py                           |  2 --
 Allura/allura/model/neighborhood.py                          |  2 --
 Allura/allura/model/notification.py                          |  2 --
 Allura/allura/model/oauth.py                                 |  2 --
 Allura/allura/model/project.py                               |  2 --
 Allura/allura/model/repo.py                                  |  1 -
 Allura/allura/model/repo_refresh.py                          |  2 --
 Allura/allura/model/repository.py                            |  2 --
 Allura/allura/model/session.py                               |  2 --
 Allura/allura/model/stats.py                                 |  2 --
 Allura/allura/model/timeline.py                              |  2 --
 Allura/allura/model/types.py                                 |  2 --
 Allura/allura/model/webhook.py                               |  2 --
 Allura/allura/scripts/__init__.py                            |  1 -
 Allura/allura/scripts/backfill_previous_login_details.py     |  1 -
 Allura/allura/scripts/clear_old_notifications.py             |  1 -
 Allura/allura/scripts/create_sitemap_files.py                |  3 ---
 Allura/allura/scripts/delete_projects.py                     |  2 --
 Allura/allura/scripts/disable_users.py                       |  2 --
 Allura/allura/scripts/refresh_last_commits.py                |  3 ---
 Allura/allura/scripts/refreshrepo.py                         |  2 --
 Allura/allura/scripts/reindex_projects.py                    |  2 --
 Allura/allura/scripts/reindex_users.py                       |  2 --
 Allura/allura/scripts/scripttask.py                          |  2 --
 Allura/allura/scripts/set_default_user_notifications.py      |  1 -
 Allura/allura/scripts/trac_export.py                         |  3 ---
 Allura/allura/tasks/activity_tasks.py                        |  2 --
 Allura/allura/tasks/admin_tasks.py                           |  2 --
 Allura/allura/tasks/event_tasks.py                           |  1 -
 Allura/allura/tasks/export_tasks.py                          |  2 --
 Allura/allura/tasks/index_tasks.py                           |  2 --
 Allura/allura/tasks/mail_tasks.py                            |  2 --
 Allura/allura/tasks/notification_tasks.py                    |  2 --
 Allura/allura/tasks/repo_tasks.py                            |  2 --
 Allura/allura/templates_responsive/responsive_overrides.py   |  1 -
 Allura/allura/tests/__init__.py                              |  2 --
 Allura/allura/tests/decorators.py                            |  2 --
 Allura/allura/tests/functional/test_admin.py                 |  2 --
 Allura/allura/tests/functional/test_auth.py                  |  3 ---
 Allura/allura/tests/functional/test_discuss.py               |  4 +---
 Allura/allura/tests/functional/test_feeds.py                 |  2 --
 Allura/allura/tests/functional/test_gravatar.py              |  2 --
 Allura/allura/tests/functional/test_home.py                  |  2 --
 Allura/allura/tests/functional/test_nav.py                   |  2 --
 Allura/allura/tests/functional/test_neighborhood.py          |  2 --
 Allura/allura/tests/functional/test_newforge.py              |  2 --
 Allura/allura/tests/functional/test_personal_dashboard.py    |  2 --
 Allura/allura/tests/functional/test_rest.py                  |  2 --
 Allura/allura/tests/functional/test_root.py                  |  2 --
 Allura/allura/tests/functional/test_search.py                |  2 --
 Allura/allura/tests/functional/test_site_admin.py            |  2 --
 Allura/allura/tests/functional/test_static.py                |  2 --
 Allura/allura/tests/functional/test_subscriber.py            |  2 --
 Allura/allura/tests/functional/test_tool_list.py             |  2 --
 Allura/allura/tests/functional/test_trovecategory.py         |  2 --
 Allura/allura/tests/functional/test_user_profile.py          |  2 --
 Allura/allura/tests/model/test_artifact.py                   |  2 --
 Allura/allura/tests/model/test_auth.py                       |  2 --
 Allura/allura/tests/model/test_discussion.py                 |  2 --
 Allura/allura/tests/model/test_filesystem.py                 |  2 --
 Allura/allura/tests/model/test_monq.py                       |  2 --
 Allura/allura/tests/model/test_neighborhood.py               |  2 --
 Allura/allura/tests/model/test_notification.py               |  2 --
 Allura/allura/tests/model/test_oauth.py                      |  2 --
 Allura/allura/tests/model/test_project.py                    |  2 --
 Allura/allura/tests/model/test_repo.py                       |  2 --
 Allura/allura/tests/model/test_timeline.py                   |  2 --
 Allura/allura/tests/scripts/test_create_sitemap_files.py     |  2 --
 Allura/allura/tests/scripts/test_delete_projects.py          |  2 --
 Allura/allura/tests/scripts/test_misc_scripts.py             |  2 --
 Allura/allura/tests/scripts/test_reindexes.py                |  2 --
 Allura/allura/tests/templates/jinja_master/test_lib.py       |  2 --
 Allura/allura/tests/test_app.py                              |  2 --
 Allura/allura/tests/test_commands.py                         |  2 --
 Allura/allura/tests/test_decorators.py                       |  2 --
 Allura/allura/tests/test_diff.py                             |  2 --
 Allura/allura/tests/test_dispatch.py                         |  2 --
 Allura/allura/tests/test_globals.py                          |  2 --
 Allura/allura/tests/test_helpers.py                          |  2 --
 Allura/allura/tests/test_mail_util.py                        | 12 +++++-------
 Allura/allura/tests/test_markdown.py                         |  2 --
 Allura/allura/tests/test_middlewares.py                      |  2 --
 Allura/allura/tests/test_multifactor.py                      |  2 --
 Allura/allura/tests/test_patches.py                          |  2 --
 Allura/allura/tests/test_plugin.py                           |  2 --
 Allura/allura/tests/test_scripttask.py                       |  2 --
 Allura/allura/tests/test_security.py                         |  2 --
 Allura/allura/tests/test_tasks.py                            |  2 --
 Allura/allura/tests/test_utils.py                            |  2 --
 Allura/allura/tests/test_validators.py                       |  2 --
 Allura/allura/tests/test_webhooks.py                         |  2 --
 Allura/allura/tests/tscript.py                               |  3 ---
 Allura/allura/tests/tscript_error.py                         |  1 -
 Allura/allura/tests/unit/__init__.py                         |  1 -
 Allura/allura/tests/unit/controllers/test_auth.py            |  2 --
 .../controllers/test_discussion_moderation_controller.py     |  2 --
 Allura/allura/tests/unit/controllers/test_dispatch_index.py  |  2 --
 Allura/allura/tests/unit/factories.py                        |  2 --
 Allura/allura/tests/unit/patches.py                          |  2 --
 Allura/allura/tests/unit/phone/test_nexmo.py                 |  2 --
 Allura/allura/tests/unit/phone/test_phone_service.py         |  2 --
 Allura/allura/tests/unit/spam/test_akismet.py                |  2 --
 Allura/allura/tests/unit/spam/test_spam_filter.py            |  2 --
 Allura/allura/tests/unit/spam/test_stopforumspam.py          |  2 --
 Allura/allura/tests/unit/test_app.py                         |  2 --
 Allura/allura/tests/unit/test_artifact.py                    |  2 --
 Allura/allura/tests/unit/test_discuss.py                     |  2 --
 Allura/allura/tests/unit/test_helpers/test_ago.py            |  2 --
 Allura/allura/tests/unit/test_helpers/test_set_context.py    |  2 --
 Allura/allura/tests/unit/test_ldap_auth_provider.py          |  2 --
 Allura/allura/tests/unit/test_mixins.py                      |  2 --
 Allura/allura/tests/unit/test_package_path_loader.py         |  2 --
 Allura/allura/tests/unit/test_post_model.py                  |  2 --
 Allura/allura/tests/unit/test_project.py                     |  2 --
 Allura/allura/tests/unit/test_repo.py                        |  2 --
 Allura/allura/tests/unit/test_session.py                     |  2 --
 Allura/allura/tests/unit/test_sitemapentry.py                |  2 --
 Allura/allura/tests/unit/test_solr.py                        |  2 --
 Allura/allura/version.py                                     |  2 --
 Allura/allura/webhooks.py                                    |  2 --
 Allura/allura/websetup/__init__.py                           |  2 --
 Allura/allura/websetup/bootstrap.py                          |  2 --
 Allura/allura/websetup/schema.py                             |  2 --
 Allura/docs/conf.py                                          |  2 --
 Allura/ldap-setup.py                                         |  2 --
 Allura/ldap-userconfig.py                                    |  2 --
 Allura/setup.py                                              |  4 +---
 AlluraTest/alluratest/controller.py                          |  2 --
 AlluraTest/alluratest/pylint_checkers.py                     |  2 --
 AlluraTest/alluratest/smtp_debug.py                          |  3 ---
 AlluraTest/alluratest/test_syntax.py                         |  2 --
 AlluraTest/alluratest/validation.py                          |  2 --
 AlluraTest/setup.py                                          |  2 --
 ForgeActivity/forgeactivity/__init__.py                      |  1 -
 ForgeActivity/forgeactivity/config/resources.py              |  2 --
 ForgeActivity/forgeactivity/main.py                          |  2 --
 ForgeActivity/forgeactivity/tests/functional/test_rest.py    |  2 --
 ForgeActivity/forgeactivity/tests/functional/test_root.py    |  2 --
 ForgeActivity/forgeactivity/widgets/follow.py                |  2 --
 ForgeActivity/setup.py                                       |  2 --
 ForgeBlog/forgeblog/command/base.py                          |  2 --
 ForgeBlog/forgeblog/command/rssfeeds.py                      |  2 --
 ForgeBlog/forgeblog/main.py                                  |  2 --
 ForgeBlog/forgeblog/model/__init__.py                        |  1 -
 ForgeBlog/forgeblog/model/blog.py                            |  2 --
 ForgeBlog/forgeblog/tests/functional/test_feeds.py           |  2 --
 ForgeBlog/forgeblog/tests/functional/test_rest.py            |  2 --
 ForgeBlog/forgeblog/tests/functional/test_root.py            |  2 --
 ForgeBlog/forgeblog/tests/test_app.py                        |  2 --
 ForgeBlog/forgeblog/tests/test_commands.py                   |  2 --
 ForgeBlog/forgeblog/tests/test_roles.py                      |  2 --
 ForgeBlog/forgeblog/tests/unit/__init__.py                   |  2 --
 ForgeBlog/forgeblog/tests/unit/test_blog_post.py             |  2 --
 ForgeBlog/forgeblog/version.py                               |  2 --
 ForgeBlog/forgeblog/widgets.py                               |  2 --
 ForgeBlog/setup.py                                           |  2 --
 ForgeChat/forgechat/command.py                               |  2 --
 ForgeChat/forgechat/main.py                                  |  2 --
 ForgeChat/forgechat/model/__init__.py                        |  1 -
 ForgeChat/forgechat/model/chat.py                            |  2 --
 ForgeChat/forgechat/tests/functional/test_root.py            |  2 --
 ForgeChat/forgechat/version.py                               |  2 --
 ForgeChat/setup.py                                           |  2 --
 ForgeDiscussion/forgediscussion/controllers/__init__.py      |  1 -
 ForgeDiscussion/forgediscussion/controllers/forum.py         |  2 --
 ForgeDiscussion/forgediscussion/controllers/root.py          |  2 --
 ForgeDiscussion/forgediscussion/forum_main.py                |  2 --
 ForgeDiscussion/forgediscussion/import_support.py            |  2 --
 ForgeDiscussion/forgediscussion/model/__init__.py            |  1 -
 ForgeDiscussion/forgediscussion/model/forum.py               |  2 --
 ForgeDiscussion/forgediscussion/site_stats.py                |  2 --
 ForgeDiscussion/forgediscussion/tasks.py                     |  2 --
 .../forgediscussion/tests/functional/test_forum.py           |  2 --
 .../forgediscussion/tests/functional/test_forum_admin.py     |  2 --
 .../forgediscussion/tests/functional/test_import.py          |  2 --
 .../forgediscussion/tests/functional/test_rest.py            |  2 --
 ForgeDiscussion/forgediscussion/tests/test_app.py            |  2 --
 ForgeDiscussion/forgediscussion/tests/test_forum_roles.py    |  2 --
 ForgeDiscussion/forgediscussion/utils.py                     |  2 --
 ForgeDiscussion/forgediscussion/version.py                   |  2 --
 ForgeDiscussion/forgediscussion/widgets/__init__.py          |  2 --
 ForgeDiscussion/forgediscussion/widgets/admin.py             |  2 --
 ForgeDiscussion/forgediscussion/widgets/forum_widgets.py     |  2 --
 ForgeDiscussion/setup.py                                     |  2 --
 ForgeFeedback/forgefeedback/feedback_main.py                 |  2 --
 ForgeFeedback/forgefeedback/model/__init__.py                |  1 -
 ForgeFeedback/forgefeedback/model/feedback.py                |  2 --
 ForgeFeedback/forgefeedback/tests/functional/test_root.py    |  2 --
 ForgeFeedback/forgefeedback/tests/test_feedback_roles.py     |  2 --
 ForgeFeedback/forgefeedback/tests/unit/__init__.py           |  2 --
 ForgeFeedback/forgefeedback/tests/unit/test_feedback.py      |  2 --
 .../forgefeedback/tests/unit/test_root_controller.py         |  2 --
 ForgeFeedback/forgefeedback/version.py                       |  2 --
 ForgeFeedback/setup.py                                       |  4 +---
 ForgeFiles/forgefiles/files_main.py                          |  2 --
 ForgeFiles/forgefiles/model/__init__.py                      |  1 -
 ForgeFiles/forgefiles/model/files.py                         |  2 --
 ForgeFiles/forgefiles/tests/functional/test_root.py          |  2 --
 ForgeFiles/forgefiles/tests/model/__init__.py                |  2 --
 ForgeFiles/forgefiles/tests/model/test_files.py              |  2 --
 ForgeFiles/forgefiles/tests/test_files_roles.py              |  2 --
 ForgeFiles/setup.py                                          |  2 --
 ForgeGit/forgegit/controllers.py                             |  2 --
 ForgeGit/forgegit/git_main.py                                |  2 --
 ForgeGit/forgegit/model/__init__.py                          |  1 -
 ForgeGit/forgegit/model/git_repo.py                          |  2 --
 ForgeGit/forgegit/tests/__init__.py                          |  2 --
 ForgeGit/forgegit/tests/functional/test_auth.py              |  2 --
 ForgeGit/forgegit/tests/functional/test_controllers.py       |  3 ---
 ForgeGit/forgegit/tests/model/test_repository.py             |  3 ---
 ForgeGit/forgegit/tests/test_git_app.py                      |  2 --
 ForgeGit/forgegit/tests/test_tasks.py                        |  2 --
 ForgeGit/forgegit/version.py                                 |  2 --
 ForgeGit/setup.py                                            |  2 --
 ForgeImporters/docs/conf.py                                  |  1 -
 ForgeImporters/forgeimporters/base.py                        |  2 --
 ForgeImporters/forgeimporters/forge/alluraImporter.py        |  1 -
 ForgeImporters/forgeimporters/forge/discussion.py            |  1 -
 ForgeImporters/forgeimporters/forge/tracker.py               |  2 --
 ForgeImporters/forgeimporters/github/__init__.py             |  2 --
 ForgeImporters/forgeimporters/github/code.py                 |  2 --
 ForgeImporters/forgeimporters/github/project.py              |  2 --
 ForgeImporters/forgeimporters/github/tasks.py                |  2 --
 ForgeImporters/forgeimporters/github/tests/test_code.py      |  2 --
 ForgeImporters/forgeimporters/github/tests/test_oauth.py     |  2 --
 ForgeImporters/forgeimporters/github/tests/test_tracker.py   |  2 --
 ForgeImporters/forgeimporters/github/tests/test_utils.py     |  2 --
 ForgeImporters/forgeimporters/github/tests/test_wiki.py      |  2 --
 ForgeImporters/forgeimporters/github/tracker.py              |  2 --
 ForgeImporters/forgeimporters/github/utils.py                |  2 --
 ForgeImporters/forgeimporters/github/wiki.py                 |  2 --
 ForgeImporters/forgeimporters/tests/forge/test_discussion.py |  2 --
 ForgeImporters/forgeimporters/tests/forge/test_tracker.py    |  2 --
 .../forgeimporters/tests/github/functional/test_github.py    |  2 --
 ForgeImporters/forgeimporters/tests/github/test_extractor.py |  2 --
 ForgeImporters/forgeimporters/tests/github/test_tasks.py     |  2 --
 ForgeImporters/forgeimporters/tests/github/test_tracker.py   |  2 --
 ForgeImporters/forgeimporters/tests/test_base.py             |  2 --
 ForgeImporters/forgeimporters/trac/__init__.py               |  2 --
 ForgeImporters/forgeimporters/trac/project.py                |  2 --
 .../forgeimporters/trac/tests/functional/test_trac.py        |  2 --
 ForgeImporters/forgeimporters/trac/tests/test_tickets.py     |  2 --
 ForgeImporters/forgeimporters/trac/tickets.py                |  2 --
 ForgeImporters/setup.py                                      |  2 --
 ForgeLink/forgelink/link_main.py                             |  2 --
 ForgeLink/forgelink/tests/functional/test_rest.py            |  2 --
 ForgeLink/forgelink/tests/functional/test_root.py            |  2 --
 ForgeLink/forgelink/tests/test_app.py                        |  2 --
 ForgeLink/forgelink/version.py                               |  2 --
 ForgeLink/setup.py                                           |  2 --
 ForgeSVN/forgesvn/controllers.py                             |  2 --
 ForgeSVN/forgesvn/model/__init__.py                          |  1 -
 ForgeSVN/forgesvn/model/svn.py                               |  2 --
 ForgeSVN/forgesvn/svn_main.py                                |  2 --
 ForgeSVN/forgesvn/tests/__init__.py                          |  2 --
 ForgeSVN/forgesvn/tests/functional/test_auth.py              |  2 --
 ForgeSVN/forgesvn/tests/functional/test_controllers.py       |  3 ---
 ForgeSVN/forgesvn/tests/model/test_repository.py             |  3 ---
 ForgeSVN/forgesvn/tests/model/test_svnimplementation.py      |  2 --
 ForgeSVN/forgesvn/tests/test_svn_app.py                      |  2 --
 ForgeSVN/forgesvn/tests/test_tasks.py                        |  2 --
 ForgeSVN/forgesvn/version.py                                 |  2 --
 ForgeSVN/forgesvn/widgets.py                                 |  2 --
 ForgeSVN/setup.py                                            |  3 ---
 ForgeShortUrl/forgeshorturl/main.py                          |  2 --
 ForgeShortUrl/forgeshorturl/model/shorturl.py                |  2 --
 ForgeShortUrl/forgeshorturl/tests/functional/test.py         |  2 --
 ForgeShortUrl/forgeshorturl/widgets/short_url.py             |  2 --
 ForgeShortUrl/setup.py                                       |  2 --
 ForgeTracker/forgetracker/command/fix_discussion.py          |  2 --
 ForgeTracker/forgetracker/config/resources.py                |  2 --
 ForgeTracker/forgetracker/import_support.py                  |  2 --
 ForgeTracker/forgetracker/model/__init__.py                  |  1 -
 ForgeTracker/forgetracker/model/ticket.py                    |  2 --
 ForgeTracker/forgetracker/plugins.py                         |  1 -
 ForgeTracker/forgetracker/search.py                          |  2 --
 ForgeTracker/forgetracker/site_stats.py                      |  2 --
 ForgeTracker/forgetracker/tasks.py                           |  2 --
 .../forgetracker/tests/command/test_fix_discussion.py        |  2 --
 ForgeTracker/forgetracker/tests/functional/test_rest.py      |  2 --
 ForgeTracker/forgetracker/tests/functional/test_root.py      |  6 ++----
 ForgeTracker/forgetracker/tests/test_app.py                  |  2 --
 ForgeTracker/forgetracker/tests/test_tracker_roles.py        |  2 --
 ForgeTracker/forgetracker/tests/unit/__init__.py             |  2 --
 ForgeTracker/forgetracker/tests/unit/test_globals_model.py   |  2 --
 .../forgetracker/tests/unit/test_milestone_controller.py     |  2 --
 ForgeTracker/forgetracker/tests/unit/test_root_controller.py |  2 --
 ForgeTracker/forgetracker/tests/unit/test_search.py          |  2 --
 .../tests/unit/test_ticket_custom_fields_form.py             |  2 --
 ForgeTracker/forgetracker/tests/unit/test_ticket_form.py     |  2 --
 ForgeTracker/forgetracker/tests/unit/test_ticket_model.py    |  2 --
 ForgeTracker/forgetracker/tracker_main.py                    |  2 --
 ForgeTracker/forgetracker/version.py                         |  2 --
 ForgeTracker/forgetracker/widgets/admin.py                   |  2 --
 ForgeTracker/forgetracker/widgets/admin_custom_fields.py     |  2 --
 ForgeTracker/forgetracker/widgets/bin_form.py                |  2 --
 ForgeTracker/forgetracker/widgets/ticket_form.py             |  2 --
 ForgeTracker/forgetracker/widgets/ticket_search.py           |  2 --
 ForgeTracker/setup.py                                        |  2 --
 ForgeUserStats/forgeuserstats/controllers/userstats.py       |  2 --
 ForgeUserStats/forgeuserstats/main.py                        |  2 --
 ForgeUserStats/forgeuserstats/model/stats.py                 |  2 --
 ForgeUserStats/forgeuserstats/tests/test_model.py            |  2 --
 ForgeUserStats/forgeuserstats/tests/test_stats.py            |  2 --
 ForgeUserStats/forgeuserstats/version.py                     |  2 --
 ForgeUserStats/forgeuserstats/widgets/forms.py               |  2 --
 ForgeUserStats/setup.py                                      |  2 --
 ForgeWiki/forgewiki/converters.py                            |  2 --
 ForgeWiki/forgewiki/model/__init__.py                        |  1 -
 ForgeWiki/forgewiki/model/wiki.py                            |  2 --
 ForgeWiki/forgewiki/tests/functional/test_rest.py            |  2 --
 ForgeWiki/forgewiki/tests/functional/test_root.py            |  5 +----
 ForgeWiki/forgewiki/tests/test_app.py                        |  2 --
 ForgeWiki/forgewiki/tests/test_converters.py                 |  2 --
 ForgeWiki/forgewiki/tests/test_models.py                     |  2 --
 ForgeWiki/forgewiki/tests/test_wiki_roles.py                 |  2 --
 ForgeWiki/forgewiki/version.py                               |  2 --
 ForgeWiki/forgewiki/wiki_main.py                             |  2 --
 ForgeWiki/setup.py                                           |  2 --
 fuse/accessfs.py                                             |  3 ---
 scripts/ApacheAccessHandler.py                               |  2 --
 scripts/add_user_to_group.py                                 |  2 --
 scripts/changelog.py                                         |  3 ---
 scripts/create-allura-sitemap.py                             |  2 --
 scripts/migrations/013-update-ordinals.py                    |  2 --
 scripts/migrations/015-add-neighborhood_id-to-blog-posts.py  |  2 --
 scripts/migrations/018-add-svn-checkout-url.py               |  2 --
 scripts/migrations/020-remove-wiki-title-slashes.py          |  3 ---
 scripts/migrations/022-change-anon-display-name.py           |  2 --
 scripts/migrations/024-migrate-custom-profile-text.py        |  2 --
 scripts/migrations/025-add-is-nbhd-project.py                |  2 --
 scripts/migrations/026-install-activity-tool.py              |  2 --
 scripts/migrations/027-change-ticket-write-permissions.py    |  2 --
 scripts/migrations/028-remove-svn-trees.py                   |  3 ---
 scripts/migrations/029-set-mailbox-queue_empty.py            |  2 --
 scripts/migrations/031-set-user-pending-to-false.py          |  3 ---
 scripts/migrations/032-subscribe-merge-request-submitters.py |  3 ---
 scripts/migrations/033-change-comment-anon-permissions.py    |  5 +----
 .../034-update_subscriptions_ticket_and_mr_titles.py         |  2 --
 scripts/new_ticket.py                                        |  3 ---
 scripts/perf/call_count.py                                   |  3 ---
 scripts/perf/generate-projects.py                            |  3 ---
 scripts/perf/load-up-forum.py                                |  2 --
 scripts/perf/parse_timings.py                                |  3 ---
 scripts/perf/sstress.py                                      |  3 ---
 scripts/perf/test_git_lcd.py                                 |  3 ---
 scripts/project-import.py                                    |  2 --
 scripts/publicize-neighborhood.py                            |  2 --
 scripts/rethumb.py                                           |  2 --
 scripts/scrub-allura-data.py                                 |  2 --
 scripts/teamforge-import.py                                  |  3 ---
 scripts/trac_export.py                                       |  2 --
 scripts/trac_export_wiki.py                                  |  2 --
 scripts/trac_import.py                                       |  3 ---
 scripts/wiki-copy.py                                         |  3 ---
 446 files changed, 21 insertions(+), 913 deletions(-)

diff --git a/Allura/allura/__init__.py b/Allura/allura/__init__.py
index f5270ce..15c3ab2 100644
--- a/Allura/allura/__init__.py
+++ b/Allura/allura/__init__.py
@@ -18,8 +18,6 @@
 #       under the License.
 
 """The allura package"""
-from __future__ import unicode_literals
-from __future__ import absolute_import
 from tg.support.registry import StackedObjectProxy
 
 credentials = StackedObjectProxy(name='credentials')
diff --git a/Allura/allura/app.py b/Allura/allura/app.py
index 8446fd4..924d7f3 100644
--- a/Allura/allura/app.py
+++ b/Allura/allura/app.py
@@ -15,8 +15,6 @@
 #       specific language governing permissions and limitations
 #       under the License.
 
-from __future__ import unicode_literals
-from __future__ import absolute_import
 import os
 import logging
 from six.moves.urllib_parse import urljoin
diff --git a/Allura/allura/command/__init__.py b/Allura/allura/command/__init__.py
index 91bff33..d0f1e55 100644
--- a/Allura/allura/command/__init__.py
+++ b/Allura/allura/command/__init__.py
@@ -15,8 +15,6 @@
 #       specific language governing permissions and limitations
 #       under the License.
 
-from __future__ import unicode_literals
-from __future__ import absolute_import
 from .base import Command
 from .show_models import ShowModelsCommand, ReindexCommand, EnsureIndexCommand
 from .script import ScriptCommand, SetToolAccessCommand
diff --git a/Allura/allura/command/base.py b/Allura/allura/command/base.py
index b5e4926..f8b78fc 100644
--- a/Allura/allura/command/base.py
+++ b/Allura/allura/command/base.py
@@ -15,8 +15,6 @@
 #       specific language governing permissions and limitations
 #       under the License.
 
-from __future__ import unicode_literals
-from __future__ import absolute_import
 import os
 import logging
 
diff --git a/Allura/allura/command/create_neighborhood.py b/Allura/allura/command/create_neighborhood.py
index 85b3319..dc4b2cd 100644
--- a/Allura/allura/command/create_neighborhood.py
+++ b/Allura/allura/command/create_neighborhood.py
@@ -15,8 +15,6 @@
 #       specific language governing permissions and limitations
 #       under the License.
 
-from __future__ import unicode_literals
-from __future__ import absolute_import
 import logging
 
 from . import base
diff --git a/Allura/allura/command/create_trove_categories.py b/Allura/allura/command/create_trove_categories.py
index e2f6da4..43bbb4e 100644
--- a/Allura/allura/command/create_trove_categories.py
+++ b/Allura/allura/command/create_trove_categories.py
@@ -15,8 +15,6 @@
 #       specific language governing permissions and limitations
 #       under the License.
 
-from __future__ import unicode_literals
-from __future__ import absolute_import
 import re
 import sys
 import logging
diff --git a/Allura/allura/command/reclone_repo.py b/Allura/allura/command/reclone_repo.py
index a7d60fe..51e5ca6 100644
--- a/Allura/allura/command/reclone_repo.py
+++ b/Allura/allura/command/reclone_repo.py
@@ -15,8 +15,6 @@
 #       specific language governing permissions and limitations
 #       under the License.
 
-from __future__ import unicode_literals
-from __future__ import absolute_import
 import warnings
 
 from tg import tmpl_context as c
diff --git a/Allura/allura/command/script.py b/Allura/allura/command/script.py
index 488ac79..17d0988 100644
--- a/Allura/allura/command/script.py
+++ b/Allura/allura/command/script.py
@@ -15,9 +15,6 @@
 #       specific language governing permissions and limitations
 #       under the License.
 
-from __future__ import unicode_literals
-from __future__ import print_function
-from __future__ import absolute_import
 import sys
 import os.path
 import cProfile
diff --git a/Allura/allura/command/set_neighborhood_features.py b/Allura/allura/command/set_neighborhood_features.py
index a4d48fb..36ba22b 100644
--- a/Allura/allura/command/set_neighborhood_features.py
+++ b/Allura/allura/command/set_neighborhood_features.py
@@ -15,8 +15,6 @@
 #       specific language governing permissions and limitations
 #       under the License.
 
-from __future__ import unicode_literals
-from __future__ import absolute_import
 from ast import literal_eval
 
 from allura.command import base
diff --git a/Allura/allura/command/show_models.py b/Allura/allura/command/show_models.py
index b0fb3ac..8120021 100644
--- a/Allura/allura/command/show_models.py
+++ b/Allura/allura/command/show_models.py
@@ -15,9 +15,6 @@
 #       specific language governing permissions and limitations
 #       under the License.
 
-from __future__ import unicode_literals
-from __future__ import print_function
-from __future__ import absolute_import
 import sys
 from collections import defaultdict
 from contextlib import contextmanager
diff --git a/Allura/allura/command/smtp_server.py b/Allura/allura/command/smtp_server.py
index 6819c96..a8fe44b 100644
--- a/Allura/allura/command/smtp_server.py
+++ b/Allura/allura/command/smtp_server.py
@@ -15,8 +15,6 @@
 #       specific language governing permissions and limitations
 #       under the License.
 
-from __future__ import unicode_literals
-from __future__ import absolute_import
 import smtpd
 import asyncore
 
diff --git a/Allura/allura/command/taskd.py b/Allura/allura/command/taskd.py
index 5f9d747..b1a38fa 100644
--- a/Allura/allura/command/taskd.py
+++ b/Allura/allura/command/taskd.py
@@ -15,9 +15,6 @@
 #       specific language governing permissions and limitations
 #       under the License.
 
-from __future__ import unicode_literals
-from __future__ import print_function
-from __future__ import absolute_import
 
 import re
 import logging
diff --git a/Allura/allura/command/taskd_cleanup.py b/Allura/allura/command/taskd_cleanup.py
index 43ee799..d42c9ba 100644
--- a/Allura/allura/command/taskd_cleanup.py
+++ b/Allura/allura/command/taskd_cleanup.py
@@ -15,8 +15,6 @@
 #       specific language governing permissions and limitations
 #       under the License.
 
-from __future__ import unicode_literals
-from __future__ import absolute_import
 import os
 import time
 import signal
diff --git a/Allura/allura/config/app_cfg.py b/Allura/allura/config/app_cfg.py
index 1df14fe..8194d70 100644
--- a/Allura/allura/config/app_cfg.py
+++ b/Allura/allura/config/app_cfg.py
@@ -30,8 +30,6 @@ convert them into boolean, for example, you should use the
     setting = asbool(global_conf.get('the_setting'))
 
 """
-from __future__ import unicode_literals
-from __future__ import absolute_import
 import logging
 from functools import partial
 import six
diff --git a/Allura/allura/config/environment.py b/Allura/allura/config/environment.py
index 1e7ef12..bf0f5b6 100644
--- a/Allura/allura/config/environment.py
+++ b/Allura/allura/config/environment.py
@@ -19,8 +19,6 @@
 
 """WSGI environment setup for allura."""
 
-from __future__ import unicode_literals
-from __future__ import absolute_import
 from allura.config.app_cfg import base_config
 
 __all__ = ['load_environment']
diff --git a/Allura/allura/config/middleware.py b/Allura/allura/config/middleware.py
index b81c388..5a34445 100644
--- a/Allura/allura/config/middleware.py
+++ b/Allura/allura/config/middleware.py
@@ -18,9 +18,7 @@
 #       under the License.
 
 """WSGI middleware initialization for the allura application."""
-from __future__ import unicode_literals
 
-from __future__ import absolute_import
 import ast
 import importlib
 import mimetypes
diff --git a/Allura/allura/config/resources.py b/Allura/allura/config/resources.py
index bbc52f8..e8717fe 100644
--- a/Allura/allura/config/resources.py
+++ b/Allura/allura/config/resources.py
@@ -15,8 +15,6 @@
 #       specific language governing permissions and limitations
 #       under the License.
 
-from __future__ import unicode_literals
-from __future__ import absolute_import
 import os
 import logging
 
diff --git a/Allura/allura/controllers/__init__.py b/Allura/allura/controllers/__init__.py
index 1e5cd2c..417b8ad 100644
--- a/Allura/allura/controllers/__init__.py
+++ b/Allura/allura/controllers/__init__.py
@@ -18,7 +18,6 @@
 #       under the License.
 
 """Controllers for the allura application."""
-from __future__ import unicode_literals
 from .discuss import DiscussionController, AppDiscussionController, ThreadController, PostController
 from .discuss import ModerationController, AppDiscussionRestController
 from .base import BaseController, DispatchIndex
diff --git a/Allura/allura/controllers/attachments.py b/Allura/allura/controllers/attachments.py
index f93c684..d1e5119 100644
--- a/Allura/allura/controllers/attachments.py
+++ b/Allura/allura/controllers/attachments.py
@@ -15,8 +15,6 @@
 #       specific language governing permissions and limitations
 #       under the License.
 
-from __future__ import unicode_literals
-from __future__ import absolute_import
 
 import six
 from six.moves.urllib.parse import unquote
diff --git a/Allura/allura/controllers/auth.py b/Allura/allura/controllers/auth.py
index 5d5184a..cc71a38 100644
--- a/Allura/allura/controllers/auth.py
+++ b/Allura/allura/controllers/auth.py
@@ -15,8 +15,6 @@
 #       specific language governing permissions and limitations
 #       under the License.
 
-from __future__ import unicode_literals
-from __future__ import absolute_import
 import logging
 import os
 from base64 import b32encode
diff --git a/Allura/allura/controllers/base.py b/Allura/allura/controllers/base.py
index a61beab..883783e 100644
--- a/Allura/allura/controllers/base.py
+++ b/Allura/allura/controllers/base.py
@@ -15,8 +15,6 @@
 #       specific language governing permissions and limitations
 #       under the License.
 
-from __future__ import unicode_literals
-from __future__ import absolute_import
 import logging
 
 from tg import expose
diff --git a/Allura/allura/controllers/basetest_project_root.py b/Allura/allura/controllers/basetest_project_root.py
index 459c95e..f192b7c 100644
--- a/Allura/allura/controllers/basetest_project_root.py
+++ b/Allura/allura/controllers/basetest_project_root.py
@@ -18,8 +18,6 @@
 #       under the License.
 
 """Main Controller"""
-from __future__ import unicode_literals
-from __future__ import absolute_import
 import logging
 from six.moves.urllib.parse import unquote
 
diff --git a/Allura/allura/controllers/discuss.py b/Allura/allura/controllers/discuss.py
index 93f2651..397e5ff 100644
--- a/Allura/allura/controllers/discuss.py
+++ b/Allura/allura/controllers/discuss.py
@@ -15,8 +15,6 @@
 #       specific language governing permissions and limitations
 #       under the License.
 
-from __future__ import unicode_literals
-from __future__ import absolute_import
 from six.moves.urllib.parse import unquote
 from datetime import datetime
 import logging
diff --git a/Allura/allura/controllers/error.py b/Allura/allura/controllers/error.py
index 1f2c7ed..5cb26d0 100644
--- a/Allura/allura/controllers/error.py
+++ b/Allura/allura/controllers/error.py
@@ -19,8 +19,6 @@
 
 """Error controller"""
 
-from __future__ import unicode_literals
-from __future__ import absolute_import
 from tg import request, expose
 
 __all__ = ['ErrorController']
diff --git a/Allura/allura/controllers/feed.py b/Allura/allura/controllers/feed.py
index 6fadd8e..bab4db7 100644
--- a/Allura/allura/controllers/feed.py
+++ b/Allura/allura/controllers/feed.py
@@ -15,8 +15,6 @@
 #       specific language governing permissions and limitations
 #       under the License.
 
-from __future__ import unicode_literals
-from __future__ import absolute_import
 from tg import expose, validate, request, response
 from tg.decorators import without_trailing_slash
 from formencode import validators as V
diff --git a/Allura/allura/controllers/newforge.py b/Allura/allura/controllers/newforge.py
index 0060f35..1ee2ce6 100644
--- a/Allura/allura/controllers/newforge.py
+++ b/Allura/allura/controllers/newforge.py
@@ -15,8 +15,6 @@
 #       specific language governing permissions and limitations
 #       under the License.
 
-from __future__ import unicode_literals
-from __future__ import absolute_import
 from io import BytesIO
 
 import six
diff --git a/Allura/allura/controllers/project.py b/Allura/allura/controllers/project.py
index 6de75c3..80ae7a3 100644
--- a/Allura/allura/controllers/project.py
+++ b/Allura/allura/controllers/project.py
@@ -15,8 +15,6 @@
 #       specific language governing permissions and limitations
 #       under the License.
 
-from __future__ import unicode_literals
-from __future__ import absolute_import
 import re
 import logging
 from datetime import datetime, timedelta
diff --git a/Allura/allura/controllers/repository.py b/Allura/allura/controllers/repository.py
index 54b762e..1fb72b1 100644
--- a/Allura/allura/controllers/repository.py
+++ b/Allura/allura/controllers/repository.py
@@ -15,8 +15,6 @@
 #       specific language governing permissions and limitations
 #       under the License.
 
-from __future__ import unicode_literals
-from __future__ import absolute_import
 import os
 import logging
 import difflib
diff --git a/Allura/allura/controllers/rest.py b/Allura/allura/controllers/rest.py
index 34f4118..dda7e07 100644
--- a/Allura/allura/controllers/rest.py
+++ b/Allura/allura/controllers/rest.py
@@ -18,8 +18,6 @@
 #       under the License.
 
 """REST Controller"""
-from __future__ import unicode_literals
-from __future__ import absolute_import
 import json
 import logging
 from six.moves.urllib.parse import unquote
diff --git a/Allura/allura/controllers/root.py b/Allura/allura/controllers/root.py
index c3a928a..94086bf 100644
--- a/Allura/allura/controllers/root.py
+++ b/Allura/allura/controllers/root.py
@@ -18,8 +18,6 @@
 #       under the License.
 
 """Main Controller"""
-from __future__ import unicode_literals
-from __future__ import absolute_import
 import logging
 from string import Template
 
@@ -82,11 +80,11 @@ class RootController(WsgiDispatchController):
     categories = TroveCategoryController()
     dashboard = DashboardController()
     browse = ProjectBrowseController()
-    
+
     def __init__(self):
         super(RootController, self).__init__()
         self.nf.admin = SiteAdminController()
-        
+
     @expose()
     def _lookup(self, nbhd_mount, *remainder):
         n_url_prefix = '/%s/' % nbhd_mount
diff --git a/Allura/allura/controllers/search.py b/Allura/allura/controllers/search.py
index cf6a6d9..63c4edb 100644
--- a/Allura/allura/controllers/search.py
+++ b/Allura/allura/controllers/search.py
@@ -15,8 +15,6 @@
 #       specific language governing permissions and limitations
 #       under the License.
 
-from __future__ import unicode_literals
-from __future__ import absolute_import
 from tg import expose, validate, request
 from tg.decorators import with_trailing_slash, without_trailing_slash
 from formencode import validators as V
diff --git a/Allura/allura/controllers/site_admin.py b/Allura/allura/controllers/site_admin.py
index 530297b..d9aab9e 100644
--- a/Allura/allura/controllers/site_admin.py
+++ b/Allura/allura/controllers/site_admin.py
@@ -15,8 +15,6 @@
 #       specific language governing permissions and limitations
 #       under the License.
 
-from __future__ import unicode_literals
-from __future__ import absolute_import
 import re
 import logging
 from datetime import datetime, timedelta
diff --git a/Allura/allura/controllers/task.py b/Allura/allura/controllers/task.py
index 209aafc..c9e46f6 100644
--- a/Allura/allura/controllers/task.py
+++ b/Allura/allura/controllers/task.py
@@ -16,9 +16,7 @@
 #       under the License.
 
 
-from __future__ import unicode_literals
 
-from __future__ import absolute_import
 import six
 
 
diff --git a/Allura/allura/controllers/trovecategories.py b/Allura/allura/controllers/trovecategories.py
index e52bcdb..0232587 100644
--- a/Allura/allura/controllers/trovecategories.py
+++ b/Allura/allura/controllers/trovecategories.py
@@ -14,8 +14,6 @@
 #       KIND, either express or implied.  See the License for the
 #       specific language governing permissions and limitations
 #       under the License.
-from __future__ import unicode_literals
-from __future__ import absolute_import
 import re
 from collections import OrderedDict
 
diff --git a/Allura/allura/eventslistener.py b/Allura/allura/eventslistener.py
index c4f077c..f9f7431 100644
--- a/Allura/allura/eventslistener.py
+++ b/Allura/allura/eventslistener.py
@@ -21,7 +21,6 @@ overwrite the methods defined here, which will be called when the related
 event happens, so that the statistics for the given entity are updated.'''
 
 
-from __future__ import unicode_literals
 class EventsListener:
 
     def newArtifact(self, art_type, art_datetime, project, user):
diff --git a/Allura/allura/ext/admin/admin_main.py b/Allura/allura/ext/admin/admin_main.py
index 079f60f..e254967 100644
--- a/Allura/allura/ext/admin/admin_main.py
+++ b/Allura/allura/ext/admin/admin_main.py
@@ -15,8 +15,6 @@
 #       specific language governing permissions and limitations
 #       under the License.
 
-from __future__ import unicode_literals
-from __future__ import absolute_import
 import logging
 import re
 import os
diff --git a/Allura/allura/ext/admin/widgets.py b/Allura/allura/ext/admin/widgets.py
index b558b01..6ce8280 100644
--- a/Allura/allura/ext/admin/widgets.py
+++ b/Allura/allura/ext/admin/widgets.py
@@ -15,8 +15,6 @@
 #       specific language governing permissions and limitations
 #       under the License.
 
-from __future__ import unicode_literals
-from __future__ import absolute_import
 from tg import tmpl_context as c
 
 import ew as ew_core
@@ -134,7 +132,7 @@ class ScreenshotAdmin(ff.ForgeFormResponsive):
     def fields(self):
         fields = [
             ew.InputField(name='screenshot', field_type='file',
-                          label='New Screenshot', 
+                          label='New Screenshot',
                           attrs={
                               'accept': 'image/*',
                               'required': 'true',
diff --git a/Allura/allura/ext/personal_dashboard/dashboard_main.py b/Allura/allura/ext/personal_dashboard/dashboard_main.py
index 2df14f0..7c227a2 100644
--- a/Allura/allura/ext/personal_dashboard/dashboard_main.py
+++ b/Allura/allura/ext/personal_dashboard/dashboard_main.py
@@ -15,8 +15,6 @@
 #       specific language governing permissions and limitations
 #       under the License.
 
-from __future__ import unicode_literals
-from __future__ import absolute_import
 import logging
 
 from tg import tmpl_context as c, app_globals as g
diff --git a/Allura/allura/ext/project_home/project_main.py b/Allura/allura/ext/project_home/project_main.py
index c25acdd..0710ea6 100644
--- a/Allura/allura/ext/project_home/project_main.py
+++ b/Allura/allura/ext/project_home/project_main.py
@@ -15,8 +15,6 @@
 #       specific language governing permissions and limitations
 #       under the License.
 
-from __future__ import unicode_literals
-from __future__ import absolute_import
 import logging
 
 import pkg_resources
diff --git a/Allura/allura/ext/search/search_main.py b/Allura/allura/ext/search/search_main.py
index 6218c34..08ca425 100644
--- a/Allura/allura/ext/search/search_main.py
+++ b/Allura/allura/ext/search/search_main.py
@@ -15,8 +15,6 @@
 #       specific language governing permissions and limitations
 #       under the License.
 
-from __future__ import unicode_literals
-from __future__ import absolute_import
 import logging
 
 import pkg_resources
diff --git a/Allura/allura/ext/user_profile/user_main.py b/Allura/allura/ext/user_profile/user_main.py
index 7ab48a5..6c5168b 100644
--- a/Allura/allura/ext/user_profile/user_main.py
+++ b/Allura/allura/ext/user_profile/user_main.py
@@ -15,8 +15,6 @@
 #       specific language governing permissions and limitations
 #       under the License.
 
-from __future__ import unicode_literals
-from __future__ import absolute_import
 import logging
 
 import pkg_resources
@@ -147,6 +145,9 @@ class UserProfileController(BaseController, FeedController):
 
     @expose('jinja:allura.ext.user_profile:templates/user_index.html')
     def index(self, **kw):
+        """
+        https://sf-11.xb.sf.net/u/admin1
+        """
         user = c.project.user_project_of
         if not user:
             raise exc.HTTPNotFound()
diff --git a/Allura/allura/lib/app_globals.py b/Allura/allura/lib/app_globals.py
index 834075b..8f8599a 100644
--- a/Allura/allura/lib/app_globals.py
+++ b/Allura/allura/lib/app_globals.py
@@ -20,8 +20,6 @@
 
 """The application's Globals object"""
 
-from __future__ import unicode_literals
-from __future__ import absolute_import
 import logging
 import cgi
 import hashlib
diff --git a/Allura/allura/lib/base.py b/Allura/allura/lib/base.py
index dc430c3..c0781f8 100644
--- a/Allura/allura/lib/base.py
+++ b/Allura/allura/lib/base.py
@@ -18,8 +18,6 @@
 #       under the License.
 
 """The base Controller API."""
-from __future__ import unicode_literals
-from __future__ import absolute_import
 from tg import TGController
 
 __all__ = ['WsgiDispatchController']
diff --git a/Allura/allura/lib/custom_middleware.py b/Allura/allura/lib/custom_middleware.py
index 4bd6736..85496a4 100644
--- a/Allura/allura/lib/custom_middleware.py
+++ b/Allura/allura/lib/custom_middleware.py
@@ -15,8 +15,6 @@
 #       specific language governing permissions and limitations
 #       under the License.
 
-from __future__ import unicode_literals
-from __future__ import absolute_import
 import os
 import re
 import logging
diff --git a/Allura/allura/lib/decorators.py b/Allura/allura/lib/decorators.py
index 406be72..edfcaca 100644
--- a/Allura/allura/lib/decorators.py
+++ b/Allura/allura/lib/decorators.py
@@ -15,8 +15,6 @@
 #       specific language governing permissions and limitations
 #       under the License.
 
-from __future__ import unicode_literals
-from __future__ import absolute_import
 import inspect
 import sys
 import json
diff --git a/Allura/allura/lib/diff.py b/Allura/allura/lib/diff.py
index e23d944..85b1023 100644
--- a/Allura/allura/lib/diff.py
+++ b/Allura/allura/lib/diff.py
@@ -15,8 +15,6 @@
 #       specific language governing permissions and limitations
 #       under the License.
 
-from __future__ import unicode_literals
-from __future__ import absolute_import
 import difflib
 
 import six
diff --git a/Allura/allura/lib/exceptions.py b/Allura/allura/lib/exceptions.py
index 43d3643..0e4ba22 100644
--- a/Allura/allura/lib/exceptions.py
+++ b/Allura/allura/lib/exceptions.py
@@ -15,8 +15,6 @@
 #       specific language governing permissions and limitations
 #       under the License.
 
-from __future__ import unicode_literals
-from __future__ import absolute_import
 import webob.exc
 from formencode import Invalid
 from six.moves import map
diff --git a/Allura/allura/lib/gravatar.py b/Allura/allura/lib/gravatar.py
index 7a39c87..92d879c 100644
--- a/Allura/allura/lib/gravatar.py
+++ b/Allura/allura/lib/gravatar.py
@@ -15,8 +15,6 @@
 #       specific language governing permissions and limitations
 #       under the License.
 
-from __future__ import unicode_literals
-from __future__ import absolute_import
 import re
 import six.moves.urllib.request
 import six.moves.urllib.parse
diff --git a/Allura/allura/lib/helpers.py b/Allura/allura/lib/helpers.py
index 3f85964..0a614dd 100644
--- a/Allura/allura/lib/helpers.py
+++ b/Allura/allura/lib/helpers.py
@@ -16,8 +16,6 @@
 #       KIND, either express or implied.  See the License for the
 #       specific language governing permissions and limitations
 #       under the License.
-from __future__ import unicode_literals
-from __future__ import absolute_import
 import base64
 import sys
 import os
diff --git a/Allura/allura/lib/import_api.py b/Allura/allura/lib/import_api.py
index 3560f38..32f35c4 100644
--- a/Allura/allura/lib/import_api.py
+++ b/Allura/allura/lib/import_api.py
@@ -15,8 +15,6 @@
 #       specific language governing permissions and limitations
 #       under the License.
 
-from __future__ import unicode_literals
-from __future__ import absolute_import
 import six.moves.urllib.request
 import six.moves.urllib.parse
 import six.moves.urllib.error
diff --git a/Allura/allura/lib/macro.py b/Allura/allura/lib/macro.py
index 3a85bea..82a135c 100644
--- a/Allura/allura/lib/macro.py
+++ b/Allura/allura/lib/macro.py
@@ -15,8 +15,6 @@
 #       specific language governing permissions and limitations
 #       under the License.
 
-from __future__ import unicode_literals
-from __future__ import absolute_import
 import cgi
 import random
 import logging
diff --git a/Allura/allura/lib/mail_util.py b/Allura/allura/lib/mail_util.py
index 00a6e71..4869c1f 100644
--- a/Allura/allura/lib/mail_util.py
+++ b/Allura/allura/lib/mail_util.py
@@ -15,8 +15,6 @@
 #       specific language governing permissions and limitations
 #       under the License.
 
-from __future__ import unicode_literals
-from __future__ import absolute_import
 import re
 import logging
 import smtplib
diff --git a/Allura/allura/lib/markdown_extensions.py b/Allura/allura/lib/markdown_extensions.py
index e3844f8..452b161 100644
--- a/Allura/allura/lib/markdown_extensions.py
+++ b/Allura/allura/lib/markdown_extensions.py
@@ -17,8 +17,6 @@
 #       specific language governing permissions and limitations
 #       under the License.
 
-from __future__ import unicode_literals
-from __future__ import absolute_import
 import re
 import logging
 from typing import List
diff --git a/Allura/allura/lib/multifactor.py b/Allura/allura/lib/multifactor.py
index 993ec3f..a85fa9e 100644
--- a/Allura/allura/lib/multifactor.py
+++ b/Allura/allura/lib/multifactor.py
@@ -15,8 +15,6 @@
 #       specific language governing permissions and limitations
 #       under the License.
 
-from __future__ import unicode_literals
-from __future__ import absolute_import
 import os
 import logging
 import random
diff --git a/Allura/allura/lib/package_path_loader.py b/Allura/allura/lib/package_path_loader.py
index 2a752f9..be28fed 100644
--- a/Allura/allura/lib/package_path_loader.py
+++ b/Allura/allura/lib/package_path_loader.py
@@ -122,8 +122,6 @@ The positioners are:
 **TODO:** Support multiple partial themes
 
 """
-from __future__ import unicode_literals
-from __future__ import absolute_import
 import pkg_resources
 import os
 
diff --git a/Allura/allura/lib/patches.py b/Allura/allura/lib/patches.py
index 7f77ba8..a304a07 100644
--- a/Allura/allura/lib/patches.py
+++ b/Allura/allura/lib/patches.py
@@ -15,8 +15,6 @@
 #       specific language governing permissions and limitations
 #       under the License.
 
-from __future__ import unicode_literals
-from __future__ import absolute_import
 import re
 
 import webob
diff --git a/Allura/allura/lib/phone/__init__.py b/Allura/allura/lib/phone/__init__.py
index b13bf6d..dd46f2f 100644
--- a/Allura/allura/lib/phone/__init__.py
+++ b/Allura/allura/lib/phone/__init__.py
@@ -15,8 +15,6 @@
 #       specific language governing permissions and limitations
 #       under the License.
 
-from __future__ import unicode_literals
-from __future__ import absolute_import
 import logging
 
 log = logging.getLogger(__name__)
diff --git a/Allura/allura/lib/phone/nexmo.py b/Allura/allura/lib/phone/nexmo.py
index f251c93..b51be42 100644
--- a/Allura/allura/lib/phone/nexmo.py
+++ b/Allura/allura/lib/phone/nexmo.py
@@ -15,8 +15,6 @@
 #       specific language governing permissions and limitations
 #       under the License.
 
-from __future__ import unicode_literals
-from __future__ import absolute_import
 import logging
 from six.moves.urllib.parse import urljoin
 import cgi
diff --git a/Allura/allura/lib/plugin.py b/Allura/allura/lib/plugin.py
index 75071cd..6331387 100644
--- a/Allura/allura/lib/plugin.py
+++ b/Allura/allura/lib/plugin.py
@@ -18,8 +18,6 @@
 '''
 Allura plugins for authentication and project registration
 '''
-from __future__ import unicode_literals
-from __future__ import absolute_import
 import re
 import os
 import logging
diff --git a/Allura/allura/lib/project_create_helpers.py b/Allura/allura/lib/project_create_helpers.py
index 5e08fb3..8256e71 100644
--- a/Allura/allura/lib/project_create_helpers.py
+++ b/Allura/allura/lib/project_create_helpers.py
@@ -15,8 +15,6 @@
 #       specific language governing permissions and limitations
 #       under the License.
 
-from __future__ import unicode_literals
-from __future__ import absolute_import
 from io import BytesIO
 
 import datetime
diff --git a/Allura/allura/lib/repository.py b/Allura/allura/lib/repository.py
index be49df1..30a1817 100644
--- a/Allura/allura/lib/repository.py
+++ b/Allura/allura/lib/repository.py
@@ -15,8 +15,6 @@
 #       specific language governing permissions and limitations
 #       under the License.
 
-from __future__ import unicode_literals
-from __future__ import absolute_import
 import logging
 
 import six
diff --git a/Allura/allura/lib/search.py b/Allura/allura/lib/search.py
index a8597f2..e343090 100644
--- a/Allura/allura/lib/search.py
+++ b/Allura/allura/lib/search.py
@@ -15,8 +15,6 @@
 #       specific language governing permissions and limitations
 #       under the License.
 
-from __future__ import unicode_literals
-from __future__ import absolute_import
 
 import ast
 import re
diff --git a/Allura/allura/lib/security.py b/Allura/allura/lib/security.py
index 7f852d2..52ba513 100644
--- a/Allura/allura/lib/security.py
+++ b/Allura/allura/lib/security.py
@@ -18,7 +18,6 @@
 """
 This module provides the security predicates used in decorating various models.
 """
-from __future__ import absolute_import, division, print_function, unicode_literals
 
 import six
 import sys
diff --git a/Allura/allura/lib/solr.py b/Allura/allura/lib/solr.py
index de4c536..76f1a6c 100644
--- a/Allura/allura/lib/solr.py
+++ b/Allura/allura/lib/solr.py
@@ -15,8 +15,6 @@
 #       specific language governing permissions and limitations
 #       under the License.
 
-from __future__ import unicode_literals
-from __future__ import absolute_import
 
 import json
 import logging
diff --git a/Allura/allura/lib/spam/__init__.py b/Allura/allura/lib/spam/__init__.py
index 4be8189..2e2d5a3 100644
--- a/Allura/allura/lib/spam/__init__.py
+++ b/Allura/allura/lib/spam/__init__.py
@@ -15,8 +15,6 @@
 #       specific language governing permissions and limitations
 #       under the License.
 
-from __future__ import unicode_literals
-from __future__ import absolute_import
 import logging
 from copy import copy
 
diff --git a/Allura/allura/lib/spam/akismetfilter.py b/Allura/allura/lib/spam/akismetfilter.py
index ee9b0ee..2f5b3f9 100644
--- a/Allura/allura/lib/spam/akismetfilter.py
+++ b/Allura/allura/lib/spam/akismetfilter.py
@@ -15,8 +15,6 @@
 #       specific language governing permissions and limitations
 #       under the License.
 
-from __future__ import unicode_literals
-from __future__ import absolute_import
 import logging
 
 from tg import request
diff --git a/Allura/allura/lib/spam/stopforumspamfilter.py b/Allura/allura/lib/spam/stopforumspamfilter.py
index a696e8f..7abcdff 100644
--- a/Allura/allura/lib/spam/stopforumspamfilter.py
+++ b/Allura/allura/lib/spam/stopforumspamfilter.py
@@ -15,8 +15,6 @@
 #       specific language governing permissions and limitations
 #       under the License.
 
-from __future__ import unicode_literals
-from __future__ import absolute_import
 import logging
 import csv
 from sys import getsizeof
diff --git a/Allura/allura/lib/utils.py b/Allura/allura/lib/utils.py
index f29646a..e2aefc5 100644
--- a/Allura/allura/lib/utils.py
+++ b/Allura/allura/lib/utils.py
@@ -14,9 +14,7 @@
 #       KIND, either express or implied.  See the License for the
 #       specific language governing permissions and limitations
 #       under the License.
-from __future__ import unicode_literals
 
-from __future__ import absolute_import
 import base64
 import operator
 from contextlib import contextmanager
diff --git a/Allura/allura/lib/validators.py b/Allura/allura/lib/validators.py
index e7b2ec7..cffd402 100644
--- a/Allura/allura/lib/validators.py
+++ b/Allura/allura/lib/validators.py
@@ -15,8 +15,6 @@
 #       specific language governing permissions and limitations
 #       under the License.
 
-from __future__ import unicode_literals
-from __future__ import absolute_import
 import json
 import re
 from bson import ObjectId
diff --git a/Allura/allura/lib/widgets/__init__.py b/Allura/allura/lib/widgets/__init__.py
index b08a310..3e8e798 100644
--- a/Allura/allura/lib/widgets/__init__.py
+++ b/Allura/allura/lib/widgets/__init__.py
@@ -15,7 +15,6 @@
 #       specific language governing permissions and limitations
 #       under the License.
 
-from __future__ import unicode_literals
 from .discuss import Post, Thread
 from .subscriptions import SubscriptionForm
 from .oauth_widgets import OAuthApplicationForm, OAuthRevocationForm
diff --git a/Allura/allura/lib/widgets/analytics.py b/Allura/allura/lib/widgets/analytics.py
index d02ed42..c2e85c5 100644
--- a/Allura/allura/lib/widgets/analytics.py
+++ b/Allura/allura/lib/widgets/analytics.py
@@ -15,8 +15,6 @@
 #       specific language governing permissions and limitations
 #       under the License.
 
-from __future__ import unicode_literals
-from __future__ import absolute_import
 import ew
 
 
diff --git a/Allura/allura/lib/widgets/auth_widgets.py b/Allura/allura/lib/widgets/auth_widgets.py
index 3e6cbfb..4ebbf70 100644
--- a/Allura/allura/lib/widgets/auth_widgets.py
+++ b/Allura/allura/lib/widgets/auth_widgets.py
@@ -15,8 +15,6 @@
 #       specific language governing permissions and limitations
 #       under the License.
 
-from __future__ import unicode_literals
-from __future__ import absolute_import
 import ew as ew_core
 import ew.jinja2_ew as ew
 from ew.core import validator
diff --git a/Allura/allura/lib/widgets/discuss.py b/Allura/allura/lib/widgets/discuss.py
index 9338fbb..b5daa0b 100644
--- a/Allura/allura/lib/widgets/discuss.py
+++ b/Allura/allura/lib/widgets/discuss.py
@@ -15,8 +15,6 @@
 #       specific language governing permissions and limitations
 #       under the License.
 
-from __future__ import unicode_literals
-from __future__ import absolute_import
 from formencode import validators as fev
 
 import ew as ew_core
diff --git a/Allura/allura/lib/widgets/form_fields.py b/Allura/allura/lib/widgets/form_fields.py
index 3400ac9..69e982a 100644
--- a/Allura/allura/lib/widgets/form_fields.py
+++ b/Allura/allura/lib/widgets/form_fields.py
@@ -15,8 +15,6 @@
 #       specific language governing permissions and limitations
 #       under the License.
 
-from __future__ import unicode_literals
-from __future__ import absolute_import
 
 from urllib.parse import urlparse
 
diff --git a/Allura/allura/lib/widgets/forms.py b/Allura/allura/lib/widgets/forms.py
index 27e7465..7340b72 100644
--- a/Allura/allura/lib/widgets/forms.py
+++ b/Allura/allura/lib/widgets/forms.py
@@ -15,8 +15,6 @@
 #       specific language governing permissions and limitations
 #       under the License.
 
-from __future__ import unicode_literals
-from __future__ import absolute_import
 import logging
 import warnings
 
diff --git a/Allura/allura/lib/widgets/macros.py b/Allura/allura/lib/widgets/macros.py
index 3926311..77c329a 100644
--- a/Allura/allura/lib/widgets/macros.py
+++ b/Allura/allura/lib/widgets/macros.py
@@ -15,8 +15,6 @@
 #       specific language governing permissions and limitations
 #       under the License.
 
-from __future__ import unicode_literals
-from __future__ import absolute_import
 import ew
 
 
diff --git a/Allura/allura/lib/widgets/oauth_widgets.py b/Allura/allura/lib/widgets/oauth_widgets.py
index b40158d..f04fed8 100644
--- a/Allura/allura/lib/widgets/oauth_widgets.py
+++ b/Allura/allura/lib/widgets/oauth_widgets.py
@@ -15,8 +15,6 @@
 #       specific language governing permissions and limitations
 #       under the License.
 
-from __future__ import unicode_literals
-from __future__ import absolute_import
 import ew as ew_core
 import ew.jinja2_ew as ew
 
diff --git a/Allura/allura/lib/widgets/project_list.py b/Allura/allura/lib/widgets/project_list.py
index c3a38e7..bbbe9a2 100644
--- a/Allura/allura/lib/widgets/project_list.py
+++ b/Allura/allura/lib/widgets/project_list.py
@@ -15,8 +15,6 @@
 #       specific language governing permissions and limitations
 #       under the License.
 
-from __future__ import unicode_literals
-from __future__ import absolute_import
 import ew as ew_core
 import ew.jinja2_ew as ew
 
diff --git a/Allura/allura/lib/widgets/repo.py b/Allura/allura/lib/widgets/repo.py
index 4514f69..d73ef0c 100644
--- a/Allura/allura/lib/widgets/repo.py
+++ b/Allura/allura/lib/widgets/repo.py
@@ -15,8 +15,6 @@
 #       specific language governing permissions and limitations
 #       under the License.
 
-from __future__ import unicode_literals
-from __future__ import absolute_import
 import ew as ew_core
 import ew.jinja2_ew as ew
 
diff --git a/Allura/allura/lib/widgets/search.py b/Allura/allura/lib/widgets/search.py
index ddac9c5..b923618 100644
--- a/Allura/allura/lib/widgets/search.py
+++ b/Allura/allura/lib/widgets/search.py
@@ -15,8 +15,6 @@
 #       specific language governing permissions and limitations
 #       under the License.
 
-from __future__ import unicode_literals
-from __future__ import absolute_import
 import ew as ew_core
 import ew.jinja2_ew as ew
 import jinja2
diff --git a/Allura/allura/lib/widgets/subscriptions.py b/Allura/allura/lib/widgets/subscriptions.py
index 2118041..83d3037 100644
--- a/Allura/allura/lib/widgets/subscriptions.py
+++ b/Allura/allura/lib/widgets/subscriptions.py
@@ -15,8 +15,6 @@
 #       specific language governing permissions and limitations
 #       under the License.
 
-from __future__ import unicode_literals
-from __future__ import absolute_import
 import ew as ew_core
 import ew.jinja2_ew as ew
 from tg import tmpl_context as c
diff --git a/Allura/allura/lib/widgets/user_profile.py b/Allura/allura/lib/widgets/user_profile.py
index ee0d652..3e77090 100644
--- a/Allura/allura/lib/widgets/user_profile.py
+++ b/Allura/allura/lib/widgets/user_profile.py
@@ -15,8 +15,6 @@
 #       specific language governing permissions and limitations
 #       under the License.
 
-from __future__ import unicode_literals
-from __future__ import absolute_import
 import logging
 import re
 
diff --git a/Allura/allura/lib/widgets/vote.py b/Allura/allura/lib/widgets/vote.py
index 1660fb4..4a8cae9 100644
--- a/Allura/allura/lib/widgets/vote.py
+++ b/Allura/allura/lib/widgets/vote.py
@@ -15,8 +15,6 @@
 #       specific language governing permissions and limitations
 #       under the License.
 
-from __future__ import unicode_literals
-from __future__ import absolute_import
 import ew as ew_core
 import ew.jinja2_ew as ew
 
diff --git a/Allura/allura/model/__init__.py b/Allura/allura/model/__init__.py
index 75d7fa6..344b3b3 100644
--- a/Allura/allura/model/__init__.py
+++ b/Allura/allura/model/__init__.py
@@ -19,8 +19,6 @@
 
 """The application's model objects"""
 
-from __future__ import unicode_literals
-from __future__ import absolute_import
 from .neighborhood import Neighborhood, NeighborhoodFile
 from .project import Project, ProjectCategory, TroveCategory, ProjectFile, AppConfig
 from .index import ArtifactReference, Shortlink
diff --git a/Allura/allura/model/artifact.py b/Allura/allura/model/artifact.py
index 25b6c4b..44bae1c 100644
--- a/Allura/allura/model/artifact.py
+++ b/Allura/allura/model/artifact.py
@@ -15,8 +15,6 @@
 #       specific language governing permissions and limitations
 #       under the License.
 
-from __future__ import unicode_literals
-from __future__ import absolute_import
 import logging
 from collections import defaultdict
 from datetime import datetime
@@ -1134,8 +1132,8 @@ class ReactableArtifact(MappedClass):
         for i in self.react_users:
             if user.username in self.react_users[i]:
                 return i
-        return 
-    
+        return
+
     def update_react_count(self, r, add=True):
         i = 1
         if not add:
diff --git a/Allura/allura/model/attachments.py b/Allura/allura/model/attachments.py
index d362ea0..4a46dbc 100644
--- a/Allura/allura/model/attachments.py
+++ b/Allura/allura/model/attachments.py
@@ -15,8 +15,6 @@
 #       specific language governing permissions and limitations
 #       under the License.
 
-from __future__ import unicode_literals
-from __future__ import absolute_import
 import typing
 
 from tg import tmpl_context as c
diff --git a/Allura/allura/model/auth.py b/Allura/allura/model/auth.py
index 3784886..9b5f995 100644
--- a/Allura/allura/model/auth.py
+++ b/Allura/allura/model/auth.py
@@ -15,8 +15,6 @@
 #       specific language governing permissions and limitations
 #       under the License.
 
-from __future__ import unicode_literals
-from __future__ import absolute_import
 import logging
 import calendar
 import typing
diff --git a/Allura/allura/model/discuss.py b/Allura/allura/model/discuss.py
index 83c1531..8a55985 100644
--- a/Allura/allura/model/discuss.py
+++ b/Allura/allura/model/discuss.py
@@ -15,8 +15,6 @@
 #       specific language governing permissions and limitations
 #       under the License.
 
-from __future__ import unicode_literals
-from __future__ import absolute_import
 import os
 import logging
 from datetime import datetime
diff --git a/Allura/allura/model/filesystem.py b/Allura/allura/model/filesystem.py
index e7f8d35..d33af38 100644
--- a/Allura/allura/model/filesystem.py
+++ b/Allura/allura/model/filesystem.py
@@ -15,8 +15,6 @@
 #       specific language governing permissions and limitations
 #       under the License.
 
-from __future__ import unicode_literals
-from __future__ import absolute_import
 import os
 import re
 from io import BytesIO
@@ -205,7 +203,7 @@ class File(MappedClass):
 
         if format == 'GIF':
             save_anim = True # save all frames if GIF is provided
-        
+
         if save_original:
             original_meta = original_meta or {}
             original = cls(
diff --git a/Allura/allura/model/index.py b/Allura/allura/model/index.py
index 0842436..bf38717 100644
--- a/Allura/allura/model/index.py
+++ b/Allura/allura/model/index.py
@@ -15,8 +15,6 @@
 #       specific language governing permissions and limitations
 #       under the License.
 
-from __future__ import unicode_literals
-from __future__ import absolute_import
 import re
 import logging
 from itertools import groupby
diff --git a/Allura/allura/model/monq_model.py b/Allura/allura/model/monq_model.py
index b14095f..556bd5f 100644
--- a/Allura/allura/model/monq_model.py
+++ b/Allura/allura/model/monq_model.py
@@ -15,8 +15,6 @@
 #       specific language governing permissions and limitations
 #       under the License.
 
-from __future__ import unicode_literals
-from __future__ import absolute_import
 import sys
 import time
 import traceback
diff --git a/Allura/allura/model/multifactor.py b/Allura/allura/model/multifactor.py
index a0a87cd..bd6a73e 100644
--- a/Allura/allura/model/multifactor.py
+++ b/Allura/allura/model/multifactor.py
@@ -15,8 +15,6 @@
 #       specific language governing permissions and limitations
 #       under the License.
 
-from __future__ import unicode_literals
-from __future__ import absolute_import
 import logging
 import typing
 
diff --git a/Allura/allura/model/neighborhood.py b/Allura/allura/model/neighborhood.py
index 9b57ee3..8114b8c 100644
--- a/Allura/allura/model/neighborhood.py
+++ b/Allura/allura/model/neighborhood.py
@@ -15,8 +15,6 @@
 #       specific language governing permissions and limitations
 #       under the License.
 
-from __future__ import unicode_literals
-from __future__ import absolute_import
 import re
 import json
 import logging
diff --git a/Allura/allura/model/notification.py b/Allura/allura/model/notification.py
index 23369bd..3773054 100644
--- a/Allura/allura/model/notification.py
+++ b/Allura/allura/model/notification.py
@@ -34,8 +34,6 @@ Periodically:
 
 '''
 
-from __future__ import unicode_literals
-from __future__ import absolute_import
 import logging
 from bson import ObjectId
 from datetime import datetime, timedelta
diff --git a/Allura/allura/model/oauth.py b/Allura/allura/model/oauth.py
index 479d52f..f142796 100644
--- a/Allura/allura/model/oauth.py
+++ b/Allura/allura/model/oauth.py
@@ -15,8 +15,6 @@
 #       specific language governing permissions and limitations
 #       under the License.
 
-from __future__ import unicode_literals
-from __future__ import absolute_import
 import logging
 import typing
 from datetime import datetime
diff --git a/Allura/allura/model/project.py b/Allura/allura/model/project.py
index 8dbb3d5..609a551 100644
--- a/Allura/allura/model/project.py
+++ b/Allura/allura/model/project.py
@@ -16,8 +16,6 @@
 #       specific language governing permissions and limitations
 #       under the License.
 
-from __future__ import unicode_literals
-from __future__ import absolute_import
 import logging
 from calendar import timegm
 from collections import Counter, OrderedDict
diff --git a/Allura/allura/model/repo.py b/Allura/allura/model/repo.py
index f4deba1..9742a53 100644
--- a/Allura/allura/model/repo.py
+++ b/Allura/allura/model/repo.py
@@ -19,7 +19,6 @@
 # For backwards compatibility.
 # These used to be separate in this repo module, now all in repository module
 
-from __future__ import unicode_literals
 from .repository import SUser, SObjType
 from .repository import QSIZE, README_RE, VIEWABLE_EXTENSIONS, PYPELINE_EXTENSIONS, DIFF_SIMILARITY_THRESHOLD
 from .repository import CommitDoc, LastCommitDoc
diff --git a/Allura/allura/model/repo_refresh.py b/Allura/allura/model/repo_refresh.py
index 0afbab5..7c6f077 100644
--- a/Allura/allura/model/repo_refresh.py
+++ b/Allura/allura/model/repo_refresh.py
@@ -15,8 +15,6 @@
 #       specific language governing permissions and limitations
 #       under the License.
 
-from __future__ import unicode_literals
-from __future__ import absolute_import
 import logging
 from itertools import chain
 from six.moves.cPickle import dumps
diff --git a/Allura/allura/model/repository.py b/Allura/allura/model/repository.py
index 83a5122..bbd17db 100644
--- a/Allura/allura/model/repository.py
+++ b/Allura/allura/model/repository.py
@@ -14,8 +14,6 @@
 #       KIND, either express or implied.  See the License for the
 #       specific language governing permissions and limitations
 #       under the License.
-from __future__ import unicode_literals
-from __future__ import absolute_import
 import json
 import os
 import stat
diff --git a/Allura/allura/model/session.py b/Allura/allura/model/session.py
index 0203822..b1288dd 100644
--- a/Allura/allura/model/session.py
+++ b/Allura/allura/model/session.py
@@ -15,8 +15,6 @@
 #       specific language governing permissions and limitations
 #       under the License.
 
-from __future__ import unicode_literals
-from __future__ import absolute_import
 import logging
 import pymongo
 from collections import defaultdict
diff --git a/Allura/allura/model/stats.py b/Allura/allura/model/stats.py
index dffe19f..b3c02a0 100644
--- a/Allura/allura/model/stats.py
+++ b/Allura/allura/model/stats.py
@@ -15,8 +15,6 @@
 #       specific language governing permissions and limitations
 #       under the License.
 
-from __future__ import unicode_literals
-from __future__ import absolute_import
 
 import six
 from datetime import datetime
diff --git a/Allura/allura/model/timeline.py b/Allura/allura/model/timeline.py
index 952b904..ee50462 100644
--- a/Allura/allura/model/timeline.py
+++ b/Allura/allura/model/timeline.py
@@ -15,8 +15,6 @@
 #       specific language governing permissions and limitations
 #       under the License.
 
-from __future__ import unicode_literals
-from __future__ import absolute_import
 import bson
 import logging
 
diff --git a/Allura/allura/model/types.py b/Allura/allura/model/types.py
index c235ff8..833e685 100644
--- a/Allura/allura/model/types.py
+++ b/Allura/allura/model/types.py
@@ -15,8 +15,6 @@
 #       specific language governing permissions and limitations
 #       under the License.
 
-from __future__ import unicode_literals
-from __future__ import absolute_import
 from ming.base import Object
 from ming import schema as S
 
diff --git a/Allura/allura/model/webhook.py b/Allura/allura/model/webhook.py
index d399a25..f67b406 100644
--- a/Allura/allura/model/webhook.py
+++ b/Allura/allura/model/webhook.py
@@ -15,8 +15,6 @@
 #       specific language governing permissions and limitations
 #       under the License.
 
-from __future__ import unicode_literals
-from __future__ import absolute_import
 import datetime as dt
 import json
 import typing
diff --git a/Allura/allura/scripts/__init__.py b/Allura/allura/scripts/__init__.py
index 5c15324..7559e65 100644
--- a/Allura/allura/scripts/__init__.py
+++ b/Allura/allura/scripts/__init__.py
@@ -15,5 +15,4 @@
 #       specific language governing permissions and limitations
 #       under the License.
 
-from __future__ import absolute_import
 from .scripttask import ScriptTask
diff --git a/Allura/allura/scripts/backfill_previous_login_details.py b/Allura/allura/scripts/backfill_previous_login_details.py
index 84efed9..f1e702c 100644
--- a/Allura/allura/scripts/backfill_previous_login_details.py
+++ b/Allura/allura/scripts/backfill_previous_login_details.py
@@ -14,7 +14,6 @@
 #       KIND, either express or implied.  See the License for the
 #       specific language governing permissions and limitations
 #       under the License.
-from __future__ import absolute_import, division, print_function, unicode_literals
 
 import logging
 
diff --git a/Allura/allura/scripts/clear_old_notifications.py b/Allura/allura/scripts/clear_old_notifications.py
index 5a2218a..7ad3d49 100644
--- a/Allura/allura/scripts/clear_old_notifications.py
+++ b/Allura/allura/scripts/clear_old_notifications.py
@@ -14,7 +14,6 @@
 #       KIND, either express or implied.  See the License for the
 #       specific language governing permissions and limitations
 #       under the License.
-from __future__ import absolute_import, division, print_function, unicode_literals
 
 from datetime import datetime, timedelta
 
diff --git a/Allura/allura/scripts/create_sitemap_files.py b/Allura/allura/scripts/create_sitemap_files.py
index d99914d..3bcbc4c 100644
--- a/Allura/allura/scripts/create_sitemap_files.py
+++ b/Allura/allura/scripts/create_sitemap_files.py
@@ -28,9 +28,6 @@ things that would make it faster, if we need/want to.
 2. Use multiprocessing to distribute the offsets to n subprocesses.
 """
 
-from __future__ import unicode_literals
-from __future__ import print_function
-from __future__ import absolute_import
 import os
 from datetime import datetime
 import argparse
diff --git a/Allura/allura/scripts/delete_projects.py b/Allura/allura/scripts/delete_projects.py
index 4fbf898..6fe2566 100644
--- a/Allura/allura/scripts/delete_projects.py
+++ b/Allura/allura/scripts/delete_projects.py
@@ -15,8 +15,6 @@
 #       specific language governing permissions and limitations
 #       under the License.
 
-from __future__ import unicode_literals
-from __future__ import absolute_import
 import argparse
 import logging
 
diff --git a/Allura/allura/scripts/disable_users.py b/Allura/allura/scripts/disable_users.py
index ae0d6d6..6c6f8b3 100644
--- a/Allura/allura/scripts/disable_users.py
+++ b/Allura/allura/scripts/disable_users.py
@@ -15,8 +15,6 @@
 #       specific language governing permissions and limitations
 #       under the License.
 
-from __future__ import unicode_literals
-from __future__ import absolute_import
 import argparse
 import logging
 import sys
diff --git a/Allura/allura/scripts/refresh_last_commits.py b/Allura/allura/scripts/refresh_last_commits.py
index 57f18e9..980b44d 100644
--- a/Allura/allura/scripts/refresh_last_commits.py
+++ b/Allura/allura/scripts/refresh_last_commits.py
@@ -15,9 +15,6 @@
 #       specific language governing permissions and limitations
 #       under the License.
 
-from __future__ import unicode_literals
-from __future__ import print_function
-from __future__ import absolute_import
 import argparse
 import logging
 from datetime import datetime
diff --git a/Allura/allura/scripts/refreshrepo.py b/Allura/allura/scripts/refreshrepo.py
index d57fb68..271fb36 100644
--- a/Allura/allura/scripts/refreshrepo.py
+++ b/Allura/allura/scripts/refreshrepo.py
@@ -15,8 +15,6 @@
 #       specific language governing permissions and limitations
 #       under the License.
 
-from __future__ import unicode_literals
-from __future__ import absolute_import
 import argparse
 import logging
 import faulthandler
diff --git a/Allura/allura/scripts/reindex_projects.py b/Allura/allura/scripts/reindex_projects.py
index e7b3afd..41b9d47 100644
--- a/Allura/allura/scripts/reindex_projects.py
+++ b/Allura/allura/scripts/reindex_projects.py
@@ -15,8 +15,6 @@
 #       specific language governing permissions and limitations
 #       under the License.
 
-from __future__ import unicode_literals
-from __future__ import absolute_import
 import argparse
 import logging
 
diff --git a/Allura/allura/scripts/reindex_users.py b/Allura/allura/scripts/reindex_users.py
index 64c779b..62fec2c 100644
--- a/Allura/allura/scripts/reindex_users.py
+++ b/Allura/allura/scripts/reindex_users.py
@@ -15,8 +15,6 @@
 #       specific language governing permissions and limitations
 #       under the License.
 
-from __future__ import unicode_literals
-from __future__ import absolute_import
 import argparse
 import logging
 
diff --git a/Allura/allura/scripts/scripttask.py b/Allura/allura/scripts/scripttask.py
index 39e7682..f136a1c 100644
--- a/Allura/allura/scripts/scripttask.py
+++ b/Allura/allura/scripts/scripttask.py
@@ -44,8 +44,6 @@ To call as a task::
 
 """
 
-from __future__ import unicode_literals
-from __future__ import absolute_import
 import argparse
 import logging
 
diff --git a/Allura/allura/scripts/set_default_user_notifications.py b/Allura/allura/scripts/set_default_user_notifications.py
index 90bd063..91e4954 100644
--- a/Allura/allura/scripts/set_default_user_notifications.py
+++ b/Allura/allura/scripts/set_default_user_notifications.py
@@ -14,7 +14,6 @@
 #       KIND, either express or implied.  See the License for the
 #       specific language governing permissions and limitations
 #       under the License.
-from __future__ import absolute_import, division, print_function, unicode_literals
 
 import logging
 import argparse
diff --git a/Allura/allura/scripts/trac_export.py b/Allura/allura/scripts/trac_export.py
index a2b9ba4..cc8f846 100644
--- a/Allura/allura/scripts/trac_export.py
+++ b/Allura/allura/scripts/trac_export.py
@@ -17,9 +17,6 @@
 #       specific language governing permissions and limitations
 #       under the License.
 
-from __future__ import unicode_literals
-from __future__ import print_function
-from __future__ import absolute_import
 import logging
 import sys
 import csv
diff --git a/Allura/allura/tasks/activity_tasks.py b/Allura/allura/tasks/activity_tasks.py
index 0886699..f6bf8b6 100644
--- a/Allura/allura/tasks/activity_tasks.py
+++ b/Allura/allura/tasks/activity_tasks.py
@@ -15,8 +15,6 @@
 #       specific language governing permissions and limitations
 #       under the License.
 
-from __future__ import unicode_literals
-from __future__ import absolute_import
 from tg import app_globals as g
 from activitystream.storage.mingstorage import Activity
 
diff --git a/Allura/allura/tasks/admin_tasks.py b/Allura/allura/tasks/admin_tasks.py
index c52c1ec..7a71444 100644
--- a/Allura/allura/tasks/admin_tasks.py
+++ b/Allura/allura/tasks/admin_tasks.py
@@ -15,8 +15,6 @@
 #       specific language governing permissions and limitations
 #       under the License.
 
-from __future__ import unicode_literals
-from __future__ import absolute_import
 import inspect
 
 from tg import tmpl_context as c
diff --git a/Allura/allura/tasks/event_tasks.py b/Allura/allura/tasks/event_tasks.py
index 7a21902..eae9a97 100644
--- a/Allura/allura/tasks/event_tasks.py
+++ b/Allura/allura/tasks/event_tasks.py
@@ -15,7 +15,6 @@
 #       specific language governing permissions and limitations
 #       under the License.
 
-from __future__ import absolute_import
 import sys
 
 from allura.lib.decorators import task, event_handler
diff --git a/Allura/allura/tasks/export_tasks.py b/Allura/allura/tasks/export_tasks.py
index a5b960c..cfba554 100644
--- a/Allura/allura/tasks/export_tasks.py
+++ b/Allura/allura/tasks/export_tasks.py
@@ -15,8 +15,6 @@
 #       specific language governing permissions and limitations
 #       under the License.
 
-from __future__ import unicode_literals
-from __future__ import absolute_import
 import os
 import os.path
 import logging
diff --git a/Allura/allura/tasks/index_tasks.py b/Allura/allura/tasks/index_tasks.py
index 0162f28..867746f 100644
--- a/Allura/allura/tasks/index_tasks.py
+++ b/Allura/allura/tasks/index_tasks.py
@@ -15,8 +15,6 @@
 #       specific language governing permissions and limitations
 #       under the License.
 
-from __future__ import unicode_literals
-from __future__ import absolute_import
 import sys
 import logging
 from contextlib import contextmanager
diff --git a/Allura/allura/tasks/mail_tasks.py b/Allura/allura/tasks/mail_tasks.py
index c6da880..7ce5767 100644
--- a/Allura/allura/tasks/mail_tasks.py
+++ b/Allura/allura/tasks/mail_tasks.py
@@ -15,8 +15,6 @@
 #       specific language governing permissions and limitations
 #       under the License.
 
-from __future__ import unicode_literals
-from __future__ import absolute_import
 import logging
 import six.moves.html_parser
 import re
diff --git a/Allura/allura/tasks/notification_tasks.py b/Allura/allura/tasks/notification_tasks.py
index 9d83e43..f82063d 100644
--- a/Allura/allura/tasks/notification_tasks.py
+++ b/Allura/allura/tasks/notification_tasks.py
@@ -15,8 +15,6 @@
 #       specific language governing permissions and limitations
 #       under the License.
 
-from __future__ import unicode_literals
-from __future__ import absolute_import
 from allura.lib.decorators import task
 from allura.lib import utils
 from tg import tmpl_context as c
diff --git a/Allura/allura/tasks/repo_tasks.py b/Allura/allura/tasks/repo_tasks.py
index b47f562..eefb792 100644
--- a/Allura/allura/tasks/repo_tasks.py
+++ b/Allura/allura/tasks/repo_tasks.py
@@ -15,8 +15,6 @@
 #       specific language governing permissions and limitations
 #       under the License.
 
-from __future__ import unicode_literals
-from __future__ import absolute_import
 import shutil
 import logging
 import traceback
diff --git a/Allura/allura/templates_responsive/responsive_overrides.py b/Allura/allura/templates_responsive/responsive_overrides.py
index bcdb910..0478620 100644
--- a/Allura/allura/templates_responsive/responsive_overrides.py
+++ b/Allura/allura/templates_responsive/responsive_overrides.py
@@ -16,7 +16,6 @@
 #       under the License.
 
 
-from __future__ import unicode_literals
 class ResponsiveOverrides(object):
     '''
     Placeholder to trigger usage of template overrides in the /override/ dir
diff --git a/Allura/allura/tests/__init__.py b/Allura/allura/tests/__init__.py
index 94ee329..8047c6b 100644
--- a/Allura/allura/tests/__init__.py
+++ b/Allura/allura/tests/__init__.py
@@ -19,8 +19,6 @@
 
 """Unit and functional test suite for allura."""
 
-from __future__ import unicode_literals
-from __future__ import absolute_import
 import alluratest.controller
 
 # HACK: prevents test suite from crashing when running under the nose
diff --git a/Allura/allura/tests/decorators.py b/Allura/allura/tests/decorators.py
index 6d4e5e4..236a860 100644
--- a/Allura/allura/tests/decorators.py
+++ b/Allura/allura/tests/decorators.py
@@ -14,8 +14,6 @@
 #       KIND, either express or implied.  See the License for the
 #       specific language governing permissions and limitations
 #       under the License.
-from __future__ import unicode_literals
-from __future__ import absolute_import
 import logging
 import sys
 import re
diff --git a/Allura/allura/tests/functional/test_admin.py b/Allura/allura/tests/functional/test_admin.py
index b69409e..039af98 100644
--- a/Allura/allura/tests/functional/test_admin.py
+++ b/Allura/allura/tests/functional/test_admin.py
@@ -16,8 +16,6 @@
 #       specific language governing permissions and limitations
 #       under the License.
 
-from __future__ import unicode_literals
-from __future__ import absolute_import
 import os
 from datetime import datetime
 import pkg_resources
diff --git a/Allura/allura/tests/functional/test_auth.py b/Allura/allura/tests/functional/test_auth.py
index 3be1355..b949311 100644
--- a/Allura/allura/tests/functional/test_auth.py
+++ b/Allura/allura/tests/functional/test_auth.py
@@ -15,9 +15,6 @@
 #       specific language governing permissions and limitations
 #       under the License.
 
-from __future__ import unicode_literals
-from __future__ import print_function
-from __future__ import absolute_import
 import calendar
 from base64 import b32encode
 from datetime import datetime, time, timedelta
diff --git a/Allura/allura/tests/functional/test_discuss.py b/Allura/allura/tests/functional/test_discuss.py
index 4369482..cc3b669 100644
--- a/Allura/allura/tests/functional/test_discuss.py
+++ b/Allura/allura/tests/functional/test_discuss.py
@@ -15,8 +15,6 @@
 #       specific language governing permissions and limitations
 #       under the License.
 
-from __future__ import unicode_literals
-from __future__ import absolute_import
 import os
 from mock import patch
 from alluratest.tools import assert_in, assert_not_in, assert_equal, assert_false, assert_true, assert_raises
@@ -234,7 +232,7 @@ class TestDiscuss(TestDiscussBase):
             react_link,
             params={
                 'r': 'invalid'})
-        assert response.json['status'] == 'error' 
+        assert response.json['status'] == 'error'
         assert response.json['counts'][':+1:'] == 1
         # anon users can't react comments
         response = self.app.post(
diff --git a/Allura/allura/tests/functional/test_feeds.py b/Allura/allura/tests/functional/test_feeds.py
index 2d717cb..b5de861 100644
--- a/Allura/allura/tests/functional/test_feeds.py
+++ b/Allura/allura/tests/functional/test_feeds.py
@@ -15,8 +15,6 @@
 #       specific language governing permissions and limitations
 #       under the License.
 
-from __future__ import unicode_literals
-from __future__ import absolute_import
 from formencode.variabledecode import variable_encode
 
 from allura.tests import TestController
diff --git a/Allura/allura/tests/functional/test_gravatar.py b/Allura/allura/tests/functional/test_gravatar.py
index 3865bd9..f106692 100644
--- a/Allura/allura/tests/functional/test_gravatar.py
+++ b/Allura/allura/tests/functional/test_gravatar.py
@@ -15,8 +15,6 @@
 #       specific language governing permissions and limitations
 #       under the License.
 
-from __future__ import unicode_literals
-from __future__ import absolute_import
 from six.moves.urllib.parse import urlparse, parse_qs
 
 import tg
diff --git a/Allura/allura/tests/functional/test_home.py b/Allura/allura/tests/functional/test_home.py
index e957fb3..fe02ffb 100644
--- a/Allura/allura/tests/functional/test_home.py
+++ b/Allura/allura/tests/functional/test_home.py
@@ -15,8 +15,6 @@
 #       specific language governing permissions and limitations
 #       under the License.
 
-from __future__ import unicode_literals
-from __future__ import absolute_import
 import json
 import re
 import os
diff --git a/Allura/allura/tests/functional/test_nav.py b/Allura/allura/tests/functional/test_nav.py
index a3c5fe5..8fb2f78 100644
--- a/Allura/allura/tests/functional/test_nav.py
+++ b/Allura/allura/tests/functional/test_nav.py
@@ -15,8 +15,6 @@
 #       specific language governing permissions and limitations
 #       under the License.
 
-from __future__ import unicode_literals
-from __future__ import absolute_import
 import mock
 import json
 from tg import config
diff --git a/Allura/allura/tests/functional/test_neighborhood.py b/Allura/allura/tests/functional/test_neighborhood.py
index 4a16c26..41f2659 100644
--- a/Allura/allura/tests/functional/test_neighborhood.py
+++ b/Allura/allura/tests/functional/test_neighborhood.py
@@ -16,8 +16,6 @@
 #       specific language governing permissions and limitations
 #       under the License.
 
-from __future__ import unicode_literals
-from __future__ import absolute_import
 import json
 import os
 from io import BytesIO
diff --git a/Allura/allura/tests/functional/test_newforge.py b/Allura/allura/tests/functional/test_newforge.py
index cb4a20f..9dfabe6 100644
--- a/Allura/allura/tests/functional/test_newforge.py
+++ b/Allura/allura/tests/functional/test_newforge.py
@@ -15,8 +15,6 @@
 #       specific language governing permissions and limitations
 #       under the License.
 
-from __future__ import unicode_literals
-from __future__ import absolute_import
 
 from six.moves.urllib.parse import quote
 
diff --git a/Allura/allura/tests/functional/test_personal_dashboard.py b/Allura/allura/tests/functional/test_personal_dashboard.py
index 53cf3dd..dc09830 100644
--- a/Allura/allura/tests/functional/test_personal_dashboard.py
+++ b/Allura/allura/tests/functional/test_personal_dashboard.py
@@ -15,8 +15,6 @@
 #       specific language governing permissions and limitations
 #       under the License.
 
-from __future__ import unicode_literals
-from __future__ import absolute_import
 import pkg_resources
 import mock
 import tg
diff --git a/Allura/allura/tests/functional/test_rest.py b/Allura/allura/tests/functional/test_rest.py
index 6a96f66..fd46bd9 100644
--- a/Allura/allura/tests/functional/test_rest.py
+++ b/Allura/allura/tests/functional/test_rest.py
@@ -17,8 +17,6 @@
 #       specific language governing permissions and limitations
 #       under the License.
 
-from __future__ import unicode_literals
-from __future__ import absolute_import
 
 import json
 
diff --git a/Allura/allura/tests/functional/test_root.py b/Allura/allura/tests/functional/test_root.py
index 8804397..91e160f 100644
--- a/Allura/allura/tests/functional/test_root.py
+++ b/Allura/allura/tests/functional/test_root.py
@@ -28,8 +28,6 @@ functional tests exercise the whole application and its WSGI stack.
 Please read http://pythonpaste.org/webtest/ for more information.
 
 """
-from __future__ import unicode_literals
-from __future__ import absolute_import
 import os
 from unittest import skipIf
 
diff --git a/Allura/allura/tests/functional/test_search.py b/Allura/allura/tests/functional/test_search.py
index 5beff1e..ddc4a6c 100644
--- a/Allura/allura/tests/functional/test_search.py
+++ b/Allura/allura/tests/functional/test_search.py
@@ -14,8 +14,6 @@
 #       KIND, either express or implied.  See the License for the
 #       specific language governing permissions and limitations
 #       under the License.
-from __future__ import unicode_literals
-from __future__ import absolute_import
 from mock import patch
 
 from tg import tmpl_context as c
diff --git a/Allura/allura/tests/functional/test_site_admin.py b/Allura/allura/tests/functional/test_site_admin.py
index cec0a86..a66770f 100644
--- a/Allura/allura/tests/functional/test_site_admin.py
+++ b/Allura/allura/tests/functional/test_site_admin.py
@@ -16,8 +16,6 @@
 #       specific language governing permissions and limitations
 #       under the License.
 
-from __future__ import unicode_literals
-from __future__ import absolute_import
 import json
 import datetime as dt
 import bson
diff --git a/Allura/allura/tests/functional/test_static.py b/Allura/allura/tests/functional/test_static.py
index 5f54ccc9..4d530a5 100644
--- a/Allura/allura/tests/functional/test_static.py
+++ b/Allura/allura/tests/functional/test_static.py
@@ -15,8 +15,6 @@
 #       specific language governing permissions and limitations
 #       under the License.
 
-from __future__ import unicode_literals
-from __future__ import absolute_import
 
 from allura.tests import TestController
 
diff --git a/Allura/allura/tests/functional/test_subscriber.py b/Allura/allura/tests/functional/test_subscriber.py
index 6a90b64..93b822e 100644
--- a/Allura/allura/tests/functional/test_subscriber.py
+++ b/Allura/allura/tests/functional/test_subscriber.py
@@ -15,8 +15,6 @@
 #       specific language governing permissions and limitations
 #       under the License.
 
-from __future__ import unicode_literals
-from __future__ import absolute_import
 from allura.tests import TestController
 from allura.tests import decorators as td
 from allura.model.notification import Mailbox
diff --git a/Allura/allura/tests/functional/test_tool_list.py b/Allura/allura/tests/functional/test_tool_list.py
index e4b64b0..7f43bea 100644
--- a/Allura/allura/tests/functional/test_tool_list.py
+++ b/Allura/allura/tests/functional/test_tool_list.py
@@ -15,8 +15,6 @@
 #       specific language governing permissions and limitations
 #       under the License.
 
-from __future__ import unicode_literals
-from __future__ import absolute_import
 from allura.tests import TestController
 from allura.tests import decorators as td
 
diff --git a/Allura/allura/tests/functional/test_trovecategory.py b/Allura/allura/tests/functional/test_trovecategory.py
index 2895a55..fef314e 100644
--- a/Allura/allura/tests/functional/test_trovecategory.py
+++ b/Allura/allura/tests/functional/test_trovecategory.py
@@ -14,8 +14,6 @@
 #       KIND, either express or implied.  See the License for the
 #       specific language governing permissions and limitations
 #       under the License.
-from __future__ import unicode_literals
-from __future__ import absolute_import
 from bs4 import BeautifulSoup
 import mock
 
diff --git a/Allura/allura/tests/functional/test_user_profile.py b/Allura/allura/tests/functional/test_user_profile.py
index 123d2af..51bf174 100644
--- a/Allura/allura/tests/functional/test_user_profile.py
+++ b/Allura/allura/tests/functional/test_user_profile.py
@@ -15,8 +15,6 @@
 #       specific language governing permissions and limitations
 #       under the License.
 
-from __future__ import unicode_literals
-from __future__ import absolute_import
 import mock
 import tg
 from alluratest.tools import assert_equal, assert_in, assert_not_in
diff --git a/Allura/allura/tests/model/test_artifact.py b/Allura/allura/tests/model/test_artifact.py
index 64b4fdc..3ff4271 100644
--- a/Allura/allura/tests/model/test_artifact.py
+++ b/Allura/allura/tests/model/test_artifact.py
@@ -20,8 +20,6 @@
 """
 Model tests for artifact
 """
-from __future__ import unicode_literals
-from __future__ import absolute_import
 import re
 from datetime import datetime
 
diff --git a/Allura/allura/tests/model/test_auth.py b/Allura/allura/tests/model/test_auth.py
index 7a592c6..5129e46 100644
--- a/Allura/allura/tests/model/test_auth.py
+++ b/Allura/allura/tests/model/test_auth.py
@@ -20,8 +20,6 @@
 """
 Model tests for auth
 """
-from __future__ import unicode_literals
-from __future__ import absolute_import
 
 import textwrap
 from datetime import datetime, timedelta
diff --git a/Allura/allura/tests/model/test_discussion.py b/Allura/allura/tests/model/test_discussion.py
index ba594eb..c21363e 100644
--- a/Allura/allura/tests/model/test_discussion.py
+++ b/Allura/allura/tests/model/test_discussion.py
@@ -20,8 +20,6 @@
 """
 Model tests for artifact
 """
-from __future__ import unicode_literals
-from __future__ import absolute_import
 from io import BytesIO
 import time
 from datetime import datetime, timedelta
diff --git a/Allura/allura/tests/model/test_filesystem.py b/Allura/allura/tests/model/test_filesystem.py
index c4f3880..7c742a9 100644
--- a/Allura/allura/tests/model/test_filesystem.py
+++ b/Allura/allura/tests/model/test_filesystem.py
@@ -17,8 +17,6 @@
 #       specific language governing permissions and limitations
 #       under the License.
 
-from __future__ import unicode_literals
-from __future__ import absolute_import
 import os
 from unittest import TestCase
 from io import BytesIO
diff --git a/Allura/allura/tests/model/test_monq.py b/Allura/allura/tests/model/test_monq.py
index d544b51..6e3caa8 100644
--- a/Allura/allura/tests/model/test_monq.py
+++ b/Allura/allura/tests/model/test_monq.py
@@ -15,8 +15,6 @@
 #       specific language governing permissions and limitations
 #       under the License.
 
-from __future__ import unicode_literals
-from __future__ import absolute_import
 import pprint
 from alluratest.tools import with_setup
 
diff --git a/Allura/allura/tests/model/test_neighborhood.py b/Allura/allura/tests/model/test_neighborhood.py
index 8f4a741..428ad0b 100644
--- a/Allura/allura/tests/model/test_neighborhood.py
+++ b/Allura/allura/tests/model/test_neighborhood.py
@@ -20,8 +20,6 @@
 """
 Model tests for neighborhood
 """
-from __future__ import unicode_literals
-from __future__ import absolute_import
 from alluratest.tools import with_setup
 
 from allura import model as M
diff --git a/Allura/allura/tests/model/test_notification.py b/Allura/allura/tests/model/test_notification.py
index e44603f..2258f42 100644
--- a/Allura/allura/tests/model/test_notification.py
+++ b/Allura/allura/tests/model/test_notification.py
@@ -15,8 +15,6 @@
 #       specific language governing permissions and limitations
 #       under the License.
 
-from __future__ import unicode_literals
-from __future__ import absolute_import
 import unittest
 from datetime import timedelta
 import collections
diff --git a/Allura/allura/tests/model/test_oauth.py b/Allura/allura/tests/model/test_oauth.py
index 2912d2c..45a7eed 100644
--- a/Allura/allura/tests/model/test_oauth.py
+++ b/Allura/allura/tests/model/test_oauth.py
@@ -18,8 +18,6 @@
 #       under the License.
 
 
-from __future__ import unicode_literals
-from __future__ import absolute_import
 from alluratest.tools import with_setup, assert_equal, assert_not_equal
 
 from ming.odm import ThreadLocalORMSession
diff --git a/Allura/allura/tests/model/test_project.py b/Allura/allura/tests/model/test_project.py
index 68f7015..16cc4e6 100644
--- a/Allura/allura/tests/model/test_project.py
+++ b/Allura/allura/tests/model/test_project.py
@@ -20,8 +20,6 @@
 """
 Model tests for project
 """
-from __future__ import unicode_literals
-from __future__ import absolute_import
 from alluratest.tools import with_setup, assert_equals, assert_in
 from tg import tmpl_context as c
 from ming.orm.ormsession import ThreadLocalORMSession
diff --git a/Allura/allura/tests/model/test_repo.py b/Allura/allura/tests/model/test_repo.py
index c56e38a..9d1f079 100644
--- a/Allura/allura/tests/model/test_repo.py
+++ b/Allura/allura/tests/model/test_repo.py
@@ -16,8 +16,6 @@
 #       specific language governing permissions and limitations
 #       under the License.
 
-from __future__ import unicode_literals
-from __future__ import absolute_import
 from datetime import datetime
 from collections import defaultdict, OrderedDict
 
diff --git a/Allura/allura/tests/model/test_timeline.py b/Allura/allura/tests/model/test_timeline.py
index 2671d61..1efb175 100644
--- a/Allura/allura/tests/model/test_timeline.py
+++ b/Allura/allura/tests/model/test_timeline.py
@@ -15,8 +15,6 @@
 #       specific language governing permissions and limitations
 #       under the License.
 
-from __future__ import unicode_literals
-from __future__ import absolute_import
 from alluratest.tools import assert_equal
 
 from allura import model as M
diff --git a/Allura/allura/tests/scripts/test_create_sitemap_files.py b/Allura/allura/tests/scripts/test_create_sitemap_files.py
index 43d00e4..de99290 100644
--- a/Allura/allura/tests/scripts/test_create_sitemap_files.py
+++ b/Allura/allura/tests/scripts/test_create_sitemap_files.py
@@ -15,8 +15,6 @@
 #       specific language governing permissions and limitations
 #       under the License.
 
-from __future__ import unicode_literals
-from __future__ import absolute_import
 import os
 from shutil import rmtree
 import xml.etree.ElementTree as ET
diff --git a/Allura/allura/tests/scripts/test_delete_projects.py b/Allura/allura/tests/scripts/test_delete_projects.py
index e6f7740..84f5ae6 100644
--- a/Allura/allura/tests/scripts/test_delete_projects.py
+++ b/Allura/allura/tests/scripts/test_delete_projects.py
@@ -16,8 +16,6 @@
 #       specific language governing permissions and limitations
 #       under the License.
 
-from __future__ import unicode_literals
-from __future__ import absolute_import
 from ming.odm import session, Mapper, ThreadLocalODMSession
 from mock import patch
 from tg import app_globals as g
diff --git a/Allura/allura/tests/scripts/test_misc_scripts.py b/Allura/allura/tests/scripts/test_misc_scripts.py
index 995c159..6fb093a 100644
--- a/Allura/allura/tests/scripts/test_misc_scripts.py
+++ b/Allura/allura/tests/scripts/test_misc_scripts.py
@@ -14,8 +14,6 @@
 #       KIND, either express or implied.  See the License for the
 #       specific language governing permissions and limitations
 #       under the License.
-from __future__ import unicode_literals
-from __future__ import absolute_import
 
 from bson import ObjectId
 from alluratest.tools import assert_equal
diff --git a/Allura/allura/tests/scripts/test_reindexes.py b/Allura/allura/tests/scripts/test_reindexes.py
index 4b0d9ff..db10d54 100644
--- a/Allura/allura/tests/scripts/test_reindexes.py
+++ b/Allura/allura/tests/scripts/test_reindexes.py
@@ -14,8 +14,6 @@
 #       KIND, either express or implied.  See the License for the
 #       specific language governing permissions and limitations
 #       under the License.
-from __future__ import unicode_literals
-from __future__ import absolute_import
 from alluratest.tools import assert_in, assert_equal
 from testfixtures import LogCapture
 
diff --git a/Allura/allura/tests/templates/jinja_master/test_lib.py b/Allura/allura/tests/templates/jinja_master/test_lib.py
index d525013..4c649e7 100644
--- a/Allura/allura/tests/templates/jinja_master/test_lib.py
+++ b/Allura/allura/tests/templates/jinja_master/test_lib.py
@@ -15,8 +15,6 @@
 #       specific language governing permissions and limitations
 #       under the License.
 
-from __future__ import unicode_literals
-from __future__ import absolute_import
 from tg import config, app_globals as g
 from mock import Mock
 from alluratest.tools import assert_equal
diff --git a/Allura/allura/tests/test_app.py b/Allura/allura/tests/test_app.py
index d1fd47b..9d09bca 100644
--- a/Allura/allura/tests/test_app.py
+++ b/Allura/allura/tests/test_app.py
@@ -17,8 +17,6 @@
 #       specific language governing permissions and limitations
 #       under the License.
 
-from __future__ import unicode_literals
-from __future__ import absolute_import
 from tg import tmpl_context as c
 import mock
 from ming.base import Object
diff --git a/Allura/allura/tests/test_commands.py b/Allura/allura/tests/test_commands.py
index af64994..9de376d 100644
--- a/Allura/allura/tests/test_commands.py
+++ b/Allura/allura/tests/test_commands.py
@@ -15,8 +15,6 @@
 #       specific language governing permissions and limitations
 #       under the License.
 
-from __future__ import unicode_literals
-from __future__ import absolute_import
 
 import datetime
 
diff --git a/Allura/allura/tests/test_decorators.py b/Allura/allura/tests/test_decorators.py
index 80dbf14..ccbb3b1 100644
--- a/Allura/allura/tests/test_decorators.py
+++ b/Allura/allura/tests/test_decorators.py
@@ -14,8 +14,6 @@
 #       KIND, either express or implied.  See the License for the
 #       specific language governing permissions and limitations
 #       under the License.
-from __future__ import unicode_literals
-from __future__ import absolute_import
 import inspect
 from unittest import TestCase
 from mock import patch
diff --git a/Allura/allura/tests/test_diff.py b/Allura/allura/tests/test_diff.py
index 977fd69..cb699b6 100644
--- a/Allura/allura/tests/test_diff.py
+++ b/Allura/allura/tests/test_diff.py
@@ -16,8 +16,6 @@
 #       specific language governing permissions and limitations
 #       under the License.
 
-from __future__ import unicode_literals
-from __future__ import absolute_import
 import unittest
 
 from allura.lib.diff import HtmlSideBySideDiff
diff --git a/Allura/allura/tests/test_dispatch.py b/Allura/allura/tests/test_dispatch.py
index 094b489..5e48ec2 100644
--- a/Allura/allura/tests/test_dispatch.py
+++ b/Allura/allura/tests/test_dispatch.py
@@ -15,8 +15,6 @@
 #       specific language governing permissions and limitations
 #       under the License.
 
-from __future__ import unicode_literals
-from __future__ import absolute_import
 from allura.tests import TestController
 
 app = None
diff --git a/Allura/allura/tests/test_globals.py b/Allura/allura/tests/test_globals.py
index 3974764..986297e 100644
--- a/Allura/allura/tests/test_globals.py
+++ b/Allura/allura/tests/test_globals.py
@@ -18,8 +18,6 @@
 #       under the License.
 
 
-from __future__ import unicode_literals
-from __future__ import absolute_import
 import re
 import os
 import allura
diff --git a/Allura/allura/tests/test_helpers.py b/Allura/allura/tests/test_helpers.py
index 71f33cb..0771258 100644
--- a/Allura/allura/tests/test_helpers.py
+++ b/Allura/allura/tests/test_helpers.py
@@ -17,8 +17,6 @@
 #       specific language governing permissions and limitations
 #       under the License.
 
-from __future__ import unicode_literals
-from __future__ import absolute_import
 from unittest import TestCase, skipIf
 from os import path
 from datetime import datetime, timedelta
diff --git a/Allura/allura/tests/test_mail_util.py b/Allura/allura/tests/test_mail_util.py
index 16326a4..e100f0d 100644
--- a/Allura/allura/tests/test_mail_util.py
+++ b/Allura/allura/tests/test_mail_util.py
@@ -17,8 +17,6 @@
 #       specific language governing permissions and limitations
 #       under the License.
 
-from __future__ import unicode_literals
-from __future__ import absolute_import
 import unittest
 from six.moves.email_mime_multipart import MIMEMultipart
 from six.moves.email_mime_text import MIMEText
@@ -132,9 +130,9 @@ Content-Transfer-Encoding: 8bit
 > Status: closed
 > Created: Thu May 23, 2019 09:24 PM UTC by admin1
 > Attachments:
-> 
+>
 >   • foo.txt (1.0 kB; text/plain)
-> 
+>
 """
         msg = parse_message(s_msg)
         assert isinstance(msg['payload'], six.text_type)
@@ -167,15 +165,15 @@ Content-Type: text/plain; charset="utf-8"
 > Status: closed
 > Created: Thu May 23, 2019 09:24 PM UTC by admin1
 > Attachments:
-> 
+>
 >   • foo.txt (1.0 kB; text/plain)
-> 
+>
 
 
 --===============7387203749754534836==
 Content-Type: text/html; charset="utf-8"
 
-<html><head>... blah blah 
+<html><head>... blah blah
 ...
 &gt; • foo.txt (1.0 kB; text/plain)
 """
diff --git a/Allura/allura/tests/test_markdown.py b/Allura/allura/tests/test_markdown.py
index 3a7f3c4..3d32358 100644
--- a/Allura/allura/tests/test_markdown.py
+++ b/Allura/allura/tests/test_markdown.py
@@ -17,8 +17,6 @@
 #       specific language governing permissions and limitations
 #       under the License.
 
-from __future__ import unicode_literals
-from __future__ import absolute_import
 import unittest
 import mock
 
diff --git a/Allura/allura/tests/test_middlewares.py b/Allura/allura/tests/test_middlewares.py
index b78504b..e76c32f 100644
--- a/Allura/allura/tests/test_middlewares.py
+++ b/Allura/allura/tests/test_middlewares.py
@@ -15,8 +15,6 @@
 #       specific language governing permissions and limitations
 #       under the License.
 
-from __future__ import unicode_literals
-from __future__ import absolute_import
 from mock import MagicMock, patch
 from datadiff.tools import assert_equal
 from alluratest.tools import assert_not_equal
diff --git a/Allura/allura/tests/test_multifactor.py b/Allura/allura/tests/test_multifactor.py
index 2690d65..5b1c44e 100644
--- a/Allura/allura/tests/test_multifactor.py
+++ b/Allura/allura/tests/test_multifactor.py
@@ -14,8 +14,6 @@
 #       KIND, either express or implied.  See the License for the
 #       specific language governing permissions and limitations
 #       under the License.
-from __future__ import unicode_literals
-from __future__ import absolute_import
 import shutil
 import tempfile
 import textwrap
diff --git a/Allura/allura/tests/test_patches.py b/Allura/allura/tests/test_patches.py
index a7d7fcd..41029ea 100644
--- a/Allura/allura/tests/test_patches.py
+++ b/Allura/allura/tests/test_patches.py
@@ -17,8 +17,6 @@
 #       specific language governing permissions and limitations
 #       under the License.
 
-from __future__ import unicode_literals
-from __future__ import absolute_import
 import webob
 from mock import patch
 from alluratest.tools import (
diff --git a/Allura/allura/tests/test_plugin.py b/Allura/allura/tests/test_plugin.py
index ce9645a..e7c0d03 100644
--- a/Allura/allura/tests/test_plugin.py
+++ b/Allura/allura/tests/test_plugin.py
@@ -15,8 +15,6 @@
 #       specific language governing permissions and limitations
 #       under the License.
 
-from __future__ import unicode_literals
-from __future__ import absolute_import
 import datetime as dt
 import calendar
 
diff --git a/Allura/allura/tests/test_scripttask.py b/Allura/allura/tests/test_scripttask.py
index 67702f9..4a06791 100644
--- a/Allura/allura/tests/test_scripttask.py
+++ b/Allura/allura/tests/test_scripttask.py
@@ -15,8 +15,6 @@
 #       specific language governing permissions and limitations
 #       under the License.
 
-from __future__ import unicode_literals
-from __future__ import absolute_import
 import unittest
 import mock
 
diff --git a/Allura/allura/tests/test_security.py b/Allura/allura/tests/test_security.py
index dc890b3..6d7a13e 100644
--- a/Allura/allura/tests/test_security.py
+++ b/Allura/allura/tests/test_security.py
@@ -15,8 +15,6 @@
 #       specific language governing permissions and limitations
 #       under the License.
 
-from __future__ import unicode_literals
-from __future__ import absolute_import
 from tg import tmpl_context as c
 from alluratest.tools import assert_equal, assert_raises
 
diff --git a/Allura/allura/tests/test_tasks.py b/Allura/allura/tests/test_tasks.py
index 6ac5691..1edd59b 100644
--- a/Allura/allura/tests/test_tasks.py
+++ b/Allura/allura/tests/test_tasks.py
@@ -17,8 +17,6 @@
 #       specific language governing permissions and limitations
 #       under the License.
 
-from __future__ import unicode_literals
-from __future__ import absolute_import
 import operator
 import shutil
 import sys
diff --git a/Allura/allura/tests/test_utils.py b/Allura/allura/tests/test_utils.py
index f2cd9a6..6bfe62d 100644
--- a/Allura/allura/tests/test_utils.py
+++ b/Allura/allura/tests/test_utils.py
@@ -17,8 +17,6 @@
 #       specific language governing permissions and limitations
 #       under the License.
 
-from __future__ import unicode_literals
-from __future__ import absolute_import
 import json
 import time
 import unittest
diff --git a/Allura/allura/tests/test_validators.py b/Allura/allura/tests/test_validators.py
index 3e581cf..361e65f 100644
--- a/Allura/allura/tests/test_validators.py
+++ b/Allura/allura/tests/test_validators.py
@@ -15,8 +15,6 @@
 #       specific language governing permissions and limitations
 #       under the License.
 
-from __future__ import unicode_literals
-from __future__ import absolute_import
 import unittest
 import formencode as fe
 from mock import Mock, patch
diff --git a/Allura/allura/tests/test_webhooks.py b/Allura/allura/tests/test_webhooks.py
index 46a1fa8..daab1d7 100644
--- a/Allura/allura/tests/test_webhooks.py
+++ b/Allura/allura/tests/test_webhooks.py
@@ -15,8 +15,6 @@
 #       specific language governing permissions and limitations
 #       under the License.
 
-from __future__ import unicode_literals
-from __future__ import absolute_import
 import json
 import hmac
 import hashlib
diff --git a/Allura/allura/tests/tscript.py b/Allura/allura/tests/tscript.py
index f21b7d9..4222e72 100644
--- a/Allura/allura/tests/tscript.py
+++ b/Allura/allura/tests/tscript.py
@@ -15,9 +15,6 @@
 #       specific language governing permissions and limitations
 #       under the License.
 
-from __future__ import unicode_literals
-from __future__ import print_function
-from __future__ import absolute_import
 import logging
 
 from allura import model as M
diff --git a/Allura/allura/tests/tscript_error.py b/Allura/allura/tests/tscript_error.py
index 6006b88..ddba357 100644
--- a/Allura/allura/tests/tscript_error.py
+++ b/Allura/allura/tests/tscript_error.py
@@ -16,5 +16,4 @@
 #       under the License.
 
 '''Script that raises ValueError'''
-from __future__ import unicode_literals
 raise ValueError
diff --git a/Allura/allura/tests/unit/__init__.py b/Allura/allura/tests/unit/__init__.py
index e541be8..27eb1e5 100644
--- a/Allura/allura/tests/unit/__init__.py
+++ b/Allura/allura/tests/unit/__init__.py
@@ -15,7 +15,6 @@
 #       specific language governing permissions and limitations
 #       under the License.
 
-from __future__ import absolute_import
 from alluratest.controller import setup_basic_test
 from allura.websetup.bootstrap import clear_all_database_tables
 
diff --git a/Allura/allura/tests/unit/controllers/test_auth.py b/Allura/allura/tests/unit/controllers/test_auth.py
index 74c5aa4..8fb8e46 100644
--- a/Allura/allura/tests/unit/controllers/test_auth.py
+++ b/Allura/allura/tests/unit/controllers/test_auth.py
@@ -16,8 +16,6 @@
 #       under the License.
 
 
-from __future__ import unicode_literals
-from __future__ import absolute_import
 from mock import patch
 from allura.controllers.auth import AuthController
 
diff --git a/Allura/allura/tests/unit/controllers/test_discussion_moderation_controller.py b/Allura/allura/tests/unit/controllers/test_discussion_moderation_controller.py
index 940b3b3..7405738 100644
--- a/Allura/allura/tests/unit/controllers/test_discussion_moderation_controller.py
+++ b/Allura/allura/tests/unit/controllers/test_discussion_moderation_controller.py
@@ -15,8 +15,6 @@
 #       specific language governing permissions and limitations
 #       under the License.
 
-from __future__ import unicode_literals
-from __future__ import absolute_import
 from alluratest.tools import assert_equal
 from mock import Mock, patch
 from ming.orm import ThreadLocalORMSession, session
diff --git a/Allura/allura/tests/unit/controllers/test_dispatch_index.py b/Allura/allura/tests/unit/controllers/test_dispatch_index.py
index 1e62be7..20f3eb8 100644
--- a/Allura/allura/tests/unit/controllers/test_dispatch_index.py
+++ b/Allura/allura/tests/unit/controllers/test_dispatch_index.py
@@ -15,8 +15,6 @@
 #       specific language governing permissions and limitations
 #       under the License.
 
-from __future__ import unicode_literals
-from __future__ import absolute_import
 from mock import Mock
 from allura.controllers.base import DispatchIndex, BaseController
 
diff --git a/Allura/allura/tests/unit/factories.py b/Allura/allura/tests/unit/factories.py
index 1c9136c..6acb54f 100644
--- a/Allura/allura/tests/unit/factories.py
+++ b/Allura/allura/tests/unit/factories.py
@@ -15,8 +15,6 @@
 #       specific language governing permissions and limitations
 #       under the License.
 
-from __future__ import unicode_literals
-from __future__ import absolute_import
 from functools import wraps
 
 from ming.orm import ThreadLocalORMSession
diff --git a/Allura/allura/tests/unit/patches.py b/Allura/allura/tests/unit/patches.py
index 02897dc..630beec 100644
--- a/Allura/allura/tests/unit/patches.py
+++ b/Allura/allura/tests/unit/patches.py
@@ -15,8 +15,6 @@
 #       specific language governing permissions and limitations
 #       under the License.
 
-from __future__ import unicode_literals
-from __future__ import absolute_import
 from mock import Mock, patch, MagicMock
 from tg import tmpl_context as c
 
diff --git a/Allura/allura/tests/unit/phone/test_nexmo.py b/Allura/allura/tests/unit/phone/test_nexmo.py
index 34e39ed..7434de2 100644
--- a/Allura/allura/tests/unit/phone/test_nexmo.py
+++ b/Allura/allura/tests/unit/phone/test_nexmo.py
@@ -15,8 +15,6 @@
 #       specific language governing permissions and limitations
 #       under the License.
 
-from __future__ import unicode_literals
-from __future__ import absolute_import
 import json
 from mock import patch
 from datadiff.tools import assert_equal
diff --git a/Allura/allura/tests/unit/phone/test_phone_service.py b/Allura/allura/tests/unit/phone/test_phone_service.py
index 29d2696..34f7a74 100644
--- a/Allura/allura/tests/unit/phone/test_phone_service.py
+++ b/Allura/allura/tests/unit/phone/test_phone_service.py
@@ -15,8 +15,6 @@
 #       specific language governing permissions and limitations
 #       under the License.
 
-from __future__ import unicode_literals
-from __future__ import absolute_import
 from alluratest.tools import assert_true
 from datadiff.tools import assert_equal
 
diff --git a/Allura/allura/tests/unit/spam/test_akismet.py b/Allura/allura/tests/unit/spam/test_akismet.py
index b2bd234..caabf95 100644
--- a/Allura/allura/tests/unit/spam/test_akismet.py
+++ b/Allura/allura/tests/unit/spam/test_akismet.py
@@ -18,8 +18,6 @@
 #       under the License.
 
 
-from __future__ import unicode_literals
-from __future__ import absolute_import
 import mock
 import unittest
 import six.moves.urllib.request
diff --git a/Allura/allura/tests/unit/spam/test_spam_filter.py b/Allura/allura/tests/unit/spam/test_spam_filter.py
index f35dc67..117acee 100644
--- a/Allura/allura/tests/unit/spam/test_spam_filter.py
+++ b/Allura/allura/tests/unit/spam/test_spam_filter.py
@@ -17,8 +17,6 @@
 #       specific language governing permissions and limitations
 #       under the License.
 
-from __future__ import unicode_literals
-from __future__ import absolute_import
 import mock
 import unittest
 
diff --git a/Allura/allura/tests/unit/spam/test_stopforumspam.py b/Allura/allura/tests/unit/spam/test_stopforumspam.py
index d14fe02..a702bb3 100644
--- a/Allura/allura/tests/unit/spam/test_stopforumspam.py
+++ b/Allura/allura/tests/unit/spam/test_stopforumspam.py
@@ -16,8 +16,6 @@
 #       KIND, either express or implied.  See the License for the
 #       specific language governing permissions and limitations
 #       under the License.
-from __future__ import unicode_literals
-from __future__ import absolute_import
 import tempfile
 
 import mock
diff --git a/Allura/allura/tests/unit/test_app.py b/Allura/allura/tests/unit/test_app.py
index 942b255..b6d7610 100644
--- a/Allura/allura/tests/unit/test_app.py
+++ b/Allura/allura/tests/unit/test_app.py
@@ -15,8 +15,6 @@
 #       specific language governing permissions and limitations
 #       under the License.
 
-from __future__ import unicode_literals
-from __future__ import absolute_import
 from unittest import TestCase
 
 from alluratest.tools import assert_equal
diff --git a/Allura/allura/tests/unit/test_artifact.py b/Allura/allura/tests/unit/test_artifact.py
index 5d0cb99..895eb74 100644
--- a/Allura/allura/tests/unit/test_artifact.py
+++ b/Allura/allura/tests/unit/test_artifact.py
@@ -15,8 +15,6 @@
 #       specific language governing permissions and limitations
 #       under the License.
 
-from __future__ import unicode_literals
-from __future__ import absolute_import
 import unittest
 
 from allura import model as M
diff --git a/Allura/allura/tests/unit/test_discuss.py b/Allura/allura/tests/unit/test_discuss.py
index e42f1c2..fc35f13 100644
--- a/Allura/allura/tests/unit/test_discuss.py
+++ b/Allura/allura/tests/unit/test_discuss.py
@@ -15,8 +15,6 @@
 #       specific language governing permissions and limitations
 #       under the License.
 
-from __future__ import unicode_literals
-from __future__ import absolute_import
 from alluratest.tools import assert_false, assert_true
 
 from allura import model as M
diff --git a/Allura/allura/tests/unit/test_helpers/test_ago.py b/Allura/allura/tests/unit/test_helpers/test_ago.py
index 14d7db3..517ecfb 100644
--- a/Allura/allura/tests/unit/test_helpers/test_ago.py
+++ b/Allura/allura/tests/unit/test_helpers/test_ago.py
@@ -15,8 +15,6 @@
 #       specific language governing permissions and limitations
 #       under the License.
 
-from __future__ import unicode_literals
-from __future__ import absolute_import
 from datetime import datetime
 
 from mock import patch
diff --git a/Allura/allura/tests/unit/test_helpers/test_set_context.py b/Allura/allura/tests/unit/test_helpers/test_set_context.py
index a675159..7a65433 100644
--- a/Allura/allura/tests/unit/test_helpers/test_set_context.py
+++ b/Allura/allura/tests/unit/test_helpers/test_set_context.py
@@ -15,8 +15,6 @@
 #       specific language governing permissions and limitations
 #       under the License.
 
-from __future__ import unicode_literals
-from __future__ import absolute_import
 from alluratest.tools import assert_raises
 from tg import tmpl_context as c
 from bson import ObjectId
diff --git a/Allura/allura/tests/unit/test_ldap_auth_provider.py b/Allura/allura/tests/unit/test_ldap_auth_provider.py
index 27c6dcd..642e76d 100644
--- a/Allura/allura/tests/unit/test_ldap_auth_provider.py
+++ b/Allura/allura/tests/unit/test_ldap_auth_provider.py
@@ -17,8 +17,6 @@
 #       specific language governing permissions and limitations
 #       under the License.
 
-from __future__ import unicode_literals
-from __future__ import absolute_import
 import calendar
 import platform
 from datetime import datetime, timedelta
diff --git a/Allura/allura/tests/unit/test_mixins.py b/Allura/allura/tests/unit/test_mixins.py
index 76fecc4..cdc3aaa 100644
--- a/Allura/allura/tests/unit/test_mixins.py
+++ b/Allura/allura/tests/unit/test_mixins.py
@@ -15,8 +15,6 @@
 #       specific language governing permissions and limitations
 #       under the License.
 
-from __future__ import unicode_literals
-from __future__ import absolute_import
 from mock import Mock
 from allura.model import VotableArtifact
 
diff --git a/Allura/allura/tests/unit/test_package_path_loader.py b/Allura/allura/tests/unit/test_package_path_loader.py
index d377968..c43118b 100644
--- a/Allura/allura/tests/unit/test_package_path_loader.py
+++ b/Allura/allura/tests/unit/test_package_path_loader.py
@@ -15,8 +15,6 @@
 #       specific language governing permissions and limitations
 #       under the License.
 
-from __future__ import unicode_literals
-from __future__ import absolute_import
 
 from collections import OrderedDict
 from unittest import TestCase
diff --git a/Allura/allura/tests/unit/test_post_model.py b/Allura/allura/tests/unit/test_post_model.py
index 214c831..1e74077 100644
--- a/Allura/allura/tests/unit/test_post_model.py
+++ b/Allura/allura/tests/unit/test_post_model.py
@@ -15,8 +15,6 @@
 #       specific language governing permissions and limitations
 #       under the License.
 
-from __future__ import unicode_literals
-from __future__ import absolute_import
 from tg import tmpl_context as c
 
 from allura.lib import helpers as h
diff --git a/Allura/allura/tests/unit/test_project.py b/Allura/allura/tests/unit/test_project.py
index 6fb0bc0..37af31d 100644
--- a/Allura/allura/tests/unit/test_project.py
+++ b/Allura/allura/tests/unit/test_project.py
@@ -15,8 +15,6 @@
 #       specific language governing permissions and limitations
 #       under the License.
 
-from __future__ import unicode_literals
-from __future__ import absolute_import
 import unittest
 from mock import Mock
 
diff --git a/Allura/allura/tests/unit/test_repo.py b/Allura/allura/tests/unit/test_repo.py
index 6a204d1..f926a2f 100644
--- a/Allura/allura/tests/unit/test_repo.py
+++ b/Allura/allura/tests/unit/test_repo.py
@@ -15,8 +15,6 @@
 #       specific language governing permissions and limitations
 #       under the License.
 
-from __future__ import unicode_literals
-from __future__ import absolute_import
 import datetime
 import unittest
 
diff --git a/Allura/allura/tests/unit/test_session.py b/Allura/allura/tests/unit/test_session.py
index 601c6b4..36aa287 100644
--- a/Allura/allura/tests/unit/test_session.py
+++ b/Allura/allura/tests/unit/test_session.py
@@ -15,8 +15,6 @@
 #       specific language governing permissions and limitations
 #       under the License.
 
-from __future__ import unicode_literals
-from __future__ import absolute_import
 import pymongo
 import mock
 
diff --git a/Allura/allura/tests/unit/test_sitemapentry.py b/Allura/allura/tests/unit/test_sitemapentry.py
index e2a613d..bdd6399 100644
--- a/Allura/allura/tests/unit/test_sitemapentry.py
+++ b/Allura/allura/tests/unit/test_sitemapentry.py
@@ -15,8 +15,6 @@
 #       specific language governing permissions and limitations
 #       under the License.
 
-from __future__ import unicode_literals
-from __future__ import absolute_import
 import unittest
 from mock import Mock
 
diff --git a/Allura/allura/tests/unit/test_solr.py b/Allura/allura/tests/unit/test_solr.py
index f568abf..5ef3492 100644
--- a/Allura/allura/tests/unit/test_solr.py
+++ b/Allura/allura/tests/unit/test_solr.py
@@ -15,8 +15,6 @@
 #       specific language governing permissions and limitations
 #       under the License.
 
-from __future__ import unicode_literals
-from __future__ import absolute_import
 import unittest
 
 import mock
diff --git a/Allura/allura/version.py b/Allura/allura/version.py
index dde7f7b..b813104 100644
--- a/Allura/allura/version.py
+++ b/Allura/allura/version.py
@@ -15,8 +15,6 @@
 #       specific language governing permissions and limitations
 #       under the License.
 
-from __future__ import unicode_literals
-from __future__ import absolute_import
 from six.moves import map
 __version_info__ = (0, 1)
 __version__ = '.'.join(map(str, __version_info__))
diff --git a/Allura/allura/webhooks.py b/Allura/allura/webhooks.py
index a5f0004..537bc92 100644
--- a/Allura/allura/webhooks.py
+++ b/Allura/allura/webhooks.py
@@ -15,8 +15,6 @@
 #       specific language governing permissions and limitations
 #       under the License.
 
-from __future__ import unicode_literals
-from __future__ import absolute_import
 import logging
 import json
 import hmac
diff --git a/Allura/allura/websetup/__init__.py b/Allura/allura/websetup/__init__.py
index cab8e31..16540cb 100644
--- a/Allura/allura/websetup/__init__.py
+++ b/Allura/allura/websetup/__init__.py
@@ -19,8 +19,6 @@
 
 """Setup the allura application"""
 
-from __future__ import unicode_literals
-from __future__ import absolute_import
 import logging
 
 from allura.config.environment import load_environment
diff --git a/Allura/allura/websetup/bootstrap.py b/Allura/allura/websetup/bootstrap.py
index 88c4b1e..1095ac7 100644
--- a/Allura/allura/websetup/bootstrap.py
+++ b/Allura/allura/websetup/bootstrap.py
@@ -18,8 +18,6 @@
 #       under the License.
 
 """Setup the allura application"""
-from __future__ import unicode_literals
-from __future__ import absolute_import
 import os
 import sys
 import logging
diff --git a/Allura/allura/websetup/schema.py b/Allura/allura/websetup/schema.py
index f49eb01..2eb2448 100644
--- a/Allura/allura/websetup/schema.py
+++ b/Allura/allura/websetup/schema.py
@@ -19,8 +19,6 @@
 
 """Setup the allura application"""
 
-from __future__ import unicode_literals
-from __future__ import absolute_import
 import logging
 
 import activitystream
diff --git a/Allura/docs/conf.py b/Allura/docs/conf.py
index d1d87b4..f1ce3ce 100644
--- a/Allura/docs/conf.py
+++ b/Allura/docs/conf.py
@@ -37,8 +37,6 @@
 
 # Add any Sphinx extension module names here, as strings. They can be extensions
 # coming with Sphinx (named 'sphinx.ext.*') or your custom ones.
-from __future__ import unicode_literals
-from __future__ import absolute_import
 import os
 
 extensions = ['sphinx.ext.autodoc', 'sphinx.ext.intersphinx',
diff --git a/Allura/ldap-setup.py b/Allura/ldap-setup.py
index 11ccc97..a2d0fcb 100644
--- a/Allura/ldap-setup.py
+++ b/Allura/ldap-setup.py
@@ -17,8 +17,6 @@
 #       specific language governing permissions and limitations
 #       under the License.
 
-from __future__ import unicode_literals
-from __future__ import absolute_import
 import os
 import shutil
 import string
diff --git a/Allura/ldap-userconfig.py b/Allura/ldap-userconfig.py
index 4e29a60..a911783 100644
--- a/Allura/ldap-userconfig.py
+++ b/Allura/ldap-userconfig.py
@@ -17,8 +17,6 @@
 #       specific language governing permissions and limitations
 #       under the License.
 
-from __future__ import unicode_literals
-from __future__ import absolute_import
 import os
 import sys
 import pwd
diff --git a/Allura/setup.py b/Allura/setup.py
index 1e06392..4ea8d2b 100644
--- a/Allura/setup.py
+++ b/Allura/setup.py
@@ -17,8 +17,6 @@
 #       specific language governing permissions and limitations
 #       under the License.
 
-from __future__ import unicode_literals
-from __future__ import absolute_import
 from setuptools import setup, find_packages
 
 exec(open('allura/version.py').read())
@@ -119,7 +117,7 @@ setup(
     skills = allura.ext.user_profile.user_main:SkillsSection
     tools = allura.ext.user_profile.user_main:ToolsSection
     social = allura.ext.user_profile.user_main:SocialSection
-    
+
     [allura.personal_dashboard.sections]
     projects = allura.ext.personal_dashboard.dashboard_main:ProjectsSection
     tickets = allura.ext.personal_dashboard.dashboard_main:TicketsSection
diff --git a/AlluraTest/alluratest/controller.py b/AlluraTest/alluratest/controller.py
index f34d3fe..43ff9be 100644
--- a/AlluraTest/alluratest/controller.py
+++ b/AlluraTest/alluratest/controller.py
@@ -16,8 +16,6 @@
 #       under the License.
 
 """Unit and functional test suite for allura."""
-from __future__ import unicode_literals
-from __future__ import absolute_import
 import os
 import six.moves.urllib.request
 import six.moves.urllib.parse
diff --git a/AlluraTest/alluratest/pylint_checkers.py b/AlluraTest/alluratest/pylint_checkers.py
index b1a7439..fa2766f 100644
--- a/AlluraTest/alluratest/pylint_checkers.py
+++ b/AlluraTest/alluratest/pylint_checkers.py
@@ -15,8 +15,6 @@
 #       specific language governing permissions and limitations
 #       under the License.
 
-from __future__ import unicode_literals
-from __future__ import absolute_import
 import astroid
 
 from pylint.checkers import BaseChecker, utils
diff --git a/AlluraTest/alluratest/smtp_debug.py b/AlluraTest/alluratest/smtp_debug.py
index 9721e44..df399c7 100644
--- a/AlluraTest/alluratest/smtp_debug.py
+++ b/AlluraTest/alluratest/smtp_debug.py
@@ -17,9 +17,6 @@
 #       specific language governing permissions and limitations
 #       under the License.
 
-from __future__ import unicode_literals
-from __future__ import print_function
-from __future__ import absolute_import
 from smtpd import DebuggingServer
 
 
diff --git a/AlluraTest/alluratest/test_syntax.py b/AlluraTest/alluratest/test_syntax.py
index 56d6aed..177e6d6 100644
--- a/AlluraTest/alluratest/test_syntax.py
+++ b/AlluraTest/alluratest/test_syntax.py
@@ -15,8 +15,6 @@
 #       specific language governing permissions and limitations
 #       under the License.
 
-from __future__ import unicode_literals
-from __future__ import absolute_import
 import os.path
 from subprocess import Popen, PIPE
 import sys
diff --git a/AlluraTest/alluratest/validation.py b/AlluraTest/alluratest/validation.py
index 30f9c46..228dca8 100644
--- a/AlluraTest/alluratest/validation.py
+++ b/AlluraTest/alluratest/validation.py
@@ -20,8 +20,6 @@
 """
 Functions to syntax-validate output content
 """
-from __future__ import unicode_literals
-from __future__ import absolute_import
 from os import path
 import os
 import sys
diff --git a/AlluraTest/setup.py b/AlluraTest/setup.py
index b9e4f07..056c61d 100644
--- a/AlluraTest/setup.py
+++ b/AlluraTest/setup.py
@@ -15,8 +15,6 @@
 #       specific language governing permissions and limitations
 #       under the License.
 
-from __future__ import unicode_literals
-from __future__ import absolute_import
 from setuptools import setup, find_packages
 
 setup(name='AlluraTest',
diff --git a/ForgeActivity/forgeactivity/__init__.py b/ForgeActivity/forgeactivity/__init__.py
index b3c6f5d..ec0e748 100644
--- a/ForgeActivity/forgeactivity/__init__.py
+++ b/ForgeActivity/forgeactivity/__init__.py
@@ -15,5 +15,4 @@
 #       specific language governing permissions and limitations
 #       under the License.
 
-from __future__ import absolute_import
 from .main import ForgeActivityApp
diff --git a/ForgeActivity/forgeactivity/config/resources.py b/ForgeActivity/forgeactivity/config/resources.py
index faab364..5d98bd3 100644
--- a/ForgeActivity/forgeactivity/config/resources.py
+++ b/ForgeActivity/forgeactivity/config/resources.py
@@ -15,8 +15,6 @@
 #       specific language governing permissions and limitations
 #       under the License.
 
-from __future__ import unicode_literals
-from __future__ import absolute_import
 import pkg_resources
 
 
diff --git a/ForgeActivity/forgeactivity/main.py b/ForgeActivity/forgeactivity/main.py
index f715d1f..8de2b7f 100644
--- a/ForgeActivity/forgeactivity/main.py
+++ b/ForgeActivity/forgeactivity/main.py
@@ -15,8 +15,6 @@
 #       specific language governing permissions and limitations
 #       under the License.
 
-from __future__ import unicode_literals
-from __future__ import absolute_import
 import logging
 import calendar
 from datetime import timedelta
diff --git a/ForgeActivity/forgeactivity/tests/functional/test_rest.py b/ForgeActivity/forgeactivity/tests/functional/test_rest.py
index 31d0dfd..1c99d5f 100644
--- a/ForgeActivity/forgeactivity/tests/functional/test_rest.py
+++ b/ForgeActivity/forgeactivity/tests/functional/test_rest.py
@@ -15,8 +15,6 @@
 #       specific language governing permissions and limitations
 #       under the License.
 
-from __future__ import unicode_literals
-from __future__ import absolute_import
 from datadiff.tools import assert_equal
 
 from tg import config
diff --git a/ForgeActivity/forgeactivity/tests/functional/test_root.py b/ForgeActivity/forgeactivity/tests/functional/test_root.py
index 6b9a057..2ddd1bb 100644
--- a/ForgeActivity/forgeactivity/tests/functional/test_root.py
+++ b/ForgeActivity/forgeactivity/tests/functional/test_root.py
@@ -16,8 +16,6 @@
 #       specific language governing permissions and limitations
 #       under the License.
 
-from __future__ import unicode_literals
-from __future__ import absolute_import
 from textwrap import dedent
 
 from mock import patch
diff --git a/ForgeActivity/forgeactivity/widgets/follow.py b/ForgeActivity/forgeactivity/widgets/follow.py
index 7d6bbf3..741a1cc 100644
--- a/ForgeActivity/forgeactivity/widgets/follow.py
+++ b/ForgeActivity/forgeactivity/widgets/follow.py
@@ -15,8 +15,6 @@
 #       specific language governing permissions and limitations
 #       under the License.
 
-from __future__ import unicode_literals
-from __future__ import absolute_import
 from tg import tmpl_context as c
 from formencode import validators as fev
 import ew as ew_core
diff --git a/ForgeActivity/setup.py b/ForgeActivity/setup.py
index da41645..9795dfb 100644
--- a/ForgeActivity/setup.py
+++ b/ForgeActivity/setup.py
@@ -15,8 +15,6 @@
 #       specific language governing permissions and limitations
 #       under the License.
 
-from __future__ import unicode_literals
-from __future__ import absolute_import
 from setuptools import setup, find_packages
 
 setup(name='ForgeActivity',
diff --git a/ForgeBlog/forgeblog/command/base.py b/ForgeBlog/forgeblog/command/base.py
index 98ffa26..8e67cc9 100644
--- a/ForgeBlog/forgeblog/command/base.py
+++ b/ForgeBlog/forgeblog/command/base.py
@@ -15,8 +15,6 @@
 #       specific language governing permissions and limitations
 #       under the License.
 
-from __future__ import unicode_literals
-from __future__ import absolute_import
 from allura.command.base import Command
 
 
diff --git a/ForgeBlog/forgeblog/command/rssfeeds.py b/ForgeBlog/forgeblog/command/rssfeeds.py
index e35a4cd..98fd7ec 100644
--- a/ForgeBlog/forgeblog/command/rssfeeds.py
+++ b/ForgeBlog/forgeblog/command/rssfeeds.py
@@ -15,8 +15,6 @@
 #       specific language governing permissions and limitations
 #       under the License.
 
-from __future__ import unicode_literals
-from __future__ import absolute_import
 import calendar
 from datetime import datetime
 
diff --git a/ForgeBlog/forgeblog/main.py b/ForgeBlog/forgeblog/main.py
index ced04ba..20ae345 100644
--- a/ForgeBlog/forgeblog/main.py
+++ b/ForgeBlog/forgeblog/main.py
@@ -15,8 +15,6 @@
 #       specific language governing permissions and limitations
 #       under the License.
 
-from __future__ import unicode_literals
-from __future__ import absolute_import
 import logging
 import six.moves.urllib.parse
 import six.moves.urllib.request
diff --git a/ForgeBlog/forgeblog/model/__init__.py b/ForgeBlog/forgeblog/model/__init__.py
index 865bab1..ab9c864 100644
--- a/ForgeBlog/forgeblog/model/__init__.py
+++ b/ForgeBlog/forgeblog/model/__init__.py
@@ -15,5 +15,4 @@
 #       specific language governing permissions and limitations
 #       under the License.
 
-from __future__ import absolute_import
 from .blog import Globals, BlogPost, BlogAttachment, BlogPostSnapshot
diff --git a/ForgeBlog/forgeblog/model/blog.py b/ForgeBlog/forgeblog/model/blog.py
index b0e9630..73cf8f2 100644
--- a/ForgeBlog/forgeblog/model/blog.py
+++ b/ForgeBlog/forgeblog/model/blog.py
@@ -15,8 +15,6 @@
 #       specific language governing permissions and limitations
 #       under the License.
 
-from __future__ import unicode_literals
-from __future__ import absolute_import
 import difflib
 import functools
 import re
diff --git a/ForgeBlog/forgeblog/tests/functional/test_feeds.py b/ForgeBlog/forgeblog/tests/functional/test_feeds.py
index f14335e..4881465 100644
--- a/ForgeBlog/forgeblog/tests/functional/test_feeds.py
+++ b/ForgeBlog/forgeblog/tests/functional/test_feeds.py
@@ -17,8 +17,6 @@
 #       under the License.
 
 
-from __future__ import unicode_literals
-from __future__ import absolute_import
 import datetime
 
 from alluratest.tools import assert_in, assert_not_in
diff --git a/ForgeBlog/forgeblog/tests/functional/test_rest.py b/ForgeBlog/forgeblog/tests/functional/test_rest.py
index 7025464..9ceed80 100644
--- a/ForgeBlog/forgeblog/tests/functional/test_rest.py
+++ b/ForgeBlog/forgeblog/tests/functional/test_rest.py
@@ -16,8 +16,6 @@
 #       KIND, either express or implied.  See the License for the
 #       specific language governing permissions and limitations
 #       under the License.
-from __future__ import unicode_literals
-from __future__ import absolute_import
 from datetime import date
 
 import tg
diff --git a/ForgeBlog/forgeblog/tests/functional/test_root.py b/ForgeBlog/forgeblog/tests/functional/test_root.py
index c2b7e42..1272f77 100644
--- a/ForgeBlog/forgeblog/tests/functional/test_root.py
+++ b/ForgeBlog/forgeblog/tests/functional/test_root.py
@@ -17,8 +17,6 @@
 #       specific language governing permissions and limitations
 #       under the License.
 
-from __future__ import unicode_literals
-from __future__ import absolute_import
 import datetime
 import json
 
diff --git a/ForgeBlog/forgeblog/tests/test_app.py b/ForgeBlog/forgeblog/tests/test_app.py
index 38e2e60..8553a20 100644
--- a/ForgeBlog/forgeblog/tests/test_app.py
+++ b/ForgeBlog/forgeblog/tests/test_app.py
@@ -15,8 +15,6 @@
 #       specific language governing permissions and limitations
 #       under the License.
 
-from __future__ import unicode_literals
-from __future__ import absolute_import
 import tempfile
 import json
 import os
diff --git a/ForgeBlog/forgeblog/tests/test_commands.py b/ForgeBlog/forgeblog/tests/test_commands.py
index b275067..2e86b18 100644
--- a/ForgeBlog/forgeblog/tests/test_commands.py
+++ b/ForgeBlog/forgeblog/tests/test_commands.py
@@ -15,8 +15,6 @@
 #       specific language governing permissions and limitations
 #       under the License.
 
-from __future__ import unicode_literals
-from __future__ import absolute_import
 from datetime import datetime, timedelta
 from tg import app_globals as g
 from datadiff.tools import assert_equal
diff --git a/ForgeBlog/forgeblog/tests/test_roles.py b/ForgeBlog/forgeblog/tests/test_roles.py
index 78eb5a5..3fe6a64 100644
--- a/ForgeBlog/forgeblog/tests/test_roles.py
+++ b/ForgeBlog/forgeblog/tests/test_roles.py
@@ -15,8 +15,6 @@
 #       specific language governing permissions and limitations
 #       under the License.
 
-from __future__ import unicode_literals
-from __future__ import absolute_import
 from tg import tmpl_context as c, app_globals as g
 
 from alluratest.controller import setup_basic_test, setup_global_objects
diff --git a/ForgeBlog/forgeblog/tests/unit/__init__.py b/ForgeBlog/forgeblog/tests/unit/__init__.py
index d8d75fc..565758a 100644
--- a/ForgeBlog/forgeblog/tests/unit/__init__.py
+++ b/ForgeBlog/forgeblog/tests/unit/__init__.py
@@ -15,8 +15,6 @@
 #       specific language governing permissions and limitations
 #       under the License.
 
-from __future__ import unicode_literals
-from __future__ import absolute_import
 from tg import tmpl_context as c
 from ming.orm.ormsession import ThreadLocalORMSession
 
diff --git a/ForgeBlog/forgeblog/tests/unit/test_blog_post.py b/ForgeBlog/forgeblog/tests/unit/test_blog_post.py
index 8cb80a1..7d5e201 100644
--- a/ForgeBlog/forgeblog/tests/unit/test_blog_post.py
+++ b/ForgeBlog/forgeblog/tests/unit/test_blog_post.py
@@ -15,8 +15,6 @@
 #       specific language governing permissions and limitations
 #       under the License.
 
-from __future__ import unicode_literals
-from __future__ import absolute_import
 from datetime import datetime
 from alluratest.tools import assert_equal, assert_true
 from tg import tmpl_context as c
diff --git a/ForgeBlog/forgeblog/version.py b/ForgeBlog/forgeblog/version.py
index 927c7dd..8e95ab8 100644
--- a/ForgeBlog/forgeblog/version.py
+++ b/ForgeBlog/forgeblog/version.py
@@ -15,8 +15,6 @@
 #       specific language governing permissions and limitations
 #       under the License.
 
-from __future__ import unicode_literals
-from __future__ import absolute_import
 from six.moves import map
 __version_info__ = (0, 0)
 __version__ = '.'.join(map(str, __version_info__))
diff --git a/ForgeBlog/forgeblog/widgets.py b/ForgeBlog/forgeblog/widgets.py
index b08df34..f248d9c 100644
--- a/ForgeBlog/forgeblog/widgets.py
+++ b/ForgeBlog/forgeblog/widgets.py
@@ -15,8 +15,6 @@
 #       specific language governing permissions and limitations
 #       under the License.
 
-from __future__ import unicode_literals
-from __future__ import absolute_import
 import ew as ew_core
 import ew.jinja2_ew as ew
 
diff --git a/ForgeBlog/setup.py b/ForgeBlog/setup.py
index 0670242..7eda917 100644
--- a/ForgeBlog/setup.py
+++ b/ForgeBlog/setup.py
@@ -15,8 +15,6 @@
 #       specific language governing permissions and limitations
 #       under the License.
 
-from __future__ import unicode_literals
-from __future__ import absolute_import
 from setuptools import setup, find_packages
 
 from forgeblog.version import __version__
diff --git a/ForgeChat/forgechat/command.py b/ForgeChat/forgechat/command.py
index 78858b5..8dbbe6a 100644
--- a/ForgeChat/forgechat/command.py
+++ b/ForgeChat/forgechat/command.py
@@ -15,8 +15,6 @@
 #       specific language governing permissions and limitations
 #       under the License.
 
-from __future__ import unicode_literals
-from __future__ import absolute_import
 
 import six
 import time
diff --git a/ForgeChat/forgechat/main.py b/ForgeChat/forgechat/main.py
index 7252f12..242cc04 100644
--- a/ForgeChat/forgechat/main.py
+++ b/ForgeChat/forgechat/main.py
@@ -17,8 +17,6 @@
 
 '''IRC Chatbot Plugin
 '''
-from __future__ import unicode_literals
-from __future__ import absolute_import
 import logging
 from datetime import date, time, datetime, timedelta
 
diff --git a/ForgeChat/forgechat/model/__init__.py b/ForgeChat/forgechat/model/__init__.py
index a519366..af6d392 100644
--- a/ForgeChat/forgechat/model/__init__.py
+++ b/ForgeChat/forgechat/model/__init__.py
@@ -15,5 +15,4 @@
 #       specific language governing permissions and limitations
 #       under the License.
 
-from __future__ import absolute_import
 from .chat import ChatChannel, ChatMessage
diff --git a/ForgeChat/forgechat/model/chat.py b/ForgeChat/forgechat/model/chat.py
index 09b90e8..1504326 100644
--- a/ForgeChat/forgechat/model/chat.py
+++ b/ForgeChat/forgechat/model/chat.py
@@ -15,8 +15,6 @@
 #       specific language governing permissions and limitations
 #       under the License.
 
-from __future__ import unicode_literals
-from __future__ import absolute_import
 from datetime import datetime
 import typing
 
diff --git a/ForgeChat/forgechat/tests/functional/test_root.py b/ForgeChat/forgechat/tests/functional/test_root.py
index 8e58f62..96426c1 100644
--- a/ForgeChat/forgechat/tests/functional/test_root.py
+++ b/ForgeChat/forgechat/tests/functional/test_root.py
@@ -15,8 +15,6 @@
 #       specific language governing permissions and limitations
 #       under the License.
 
-from __future__ import unicode_literals
-from __future__ import absolute_import
 import json
 from datadiff.tools import assert_equal
 
diff --git a/ForgeChat/forgechat/version.py b/ForgeChat/forgechat/version.py
index 927c7dd..8e95ab8 100644
--- a/ForgeChat/forgechat/version.py
+++ b/ForgeChat/forgechat/version.py
@@ -15,8 +15,6 @@
 #       specific language governing permissions and limitations
 #       under the License.
 
-from __future__ import unicode_literals
-from __future__ import absolute_import
 from six.moves import map
 __version_info__ = (0, 0)
 __version__ = '.'.join(map(str, __version_info__))
diff --git a/ForgeChat/setup.py b/ForgeChat/setup.py
index 71c455e..242841b 100644
--- a/ForgeChat/setup.py
+++ b/ForgeChat/setup.py
@@ -15,8 +15,6 @@
 #       specific language governing permissions and limitations
 #       under the License.
 
-from __future__ import unicode_literals
-from __future__ import absolute_import
 from setuptools import setup, find_packages
 
 from forgechat.version import __version__
diff --git a/ForgeDiscussion/forgediscussion/controllers/__init__.py b/ForgeDiscussion/forgediscussion/controllers/__init__.py
index 2dd782d..952629f 100644
--- a/ForgeDiscussion/forgediscussion/controllers/__init__.py
+++ b/ForgeDiscussion/forgediscussion/controllers/__init__.py
@@ -15,5 +15,4 @@
 #       specific language governing permissions and limitations
 #       under the License.
 
-from __future__ import absolute_import
 from .root import RootController, RootRestController
diff --git a/ForgeDiscussion/forgediscussion/controllers/forum.py b/ForgeDiscussion/forgediscussion/controllers/forum.py
index 0ed159b..6af9419 100644
--- a/ForgeDiscussion/forgediscussion/controllers/forum.py
+++ b/ForgeDiscussion/forgediscussion/controllers/forum.py
@@ -15,8 +15,6 @@
 #       specific language governing permissions and limitations
 #       under the License.
 
-from __future__ import unicode_literals
-from __future__ import absolute_import
 import logging
 import re
 
diff --git a/ForgeDiscussion/forgediscussion/controllers/root.py b/ForgeDiscussion/forgediscussion/controllers/root.py
index b799707..00f84bc 100644
--- a/ForgeDiscussion/forgediscussion/controllers/root.py
+++ b/ForgeDiscussion/forgediscussion/controllers/root.py
@@ -15,8 +15,6 @@
 #       specific language governing permissions and limitations
 #       under the License.
 
-from __future__ import unicode_literals
-from __future__ import absolute_import
 import json
 import logging
 
diff --git a/ForgeDiscussion/forgediscussion/forum_main.py b/ForgeDiscussion/forgediscussion/forum_main.py
index 0bf6043..bbff83b 100644
--- a/ForgeDiscussion/forgediscussion/forum_main.py
+++ b/ForgeDiscussion/forgediscussion/forum_main.py
@@ -15,8 +15,6 @@
 #       specific language governing permissions and limitations
 #       under the License.
 
-from __future__ import unicode_literals
-from __future__ import absolute_import
 import logging
 import six.moves.urllib.request
 import six.moves.urllib.parse
diff --git a/ForgeDiscussion/forgediscussion/import_support.py b/ForgeDiscussion/forgediscussion/import_support.py
index 26e9945..2397175 100644
--- a/ForgeDiscussion/forgediscussion/import_support.py
+++ b/ForgeDiscussion/forgediscussion/import_support.py
@@ -15,8 +15,6 @@
 #       specific language governing permissions and limitations
 #       under the License.
 
-from __future__ import unicode_literals
-from __future__ import absolute_import
 import logging
 from datetime import datetime
 
diff --git a/ForgeDiscussion/forgediscussion/model/__init__.py b/ForgeDiscussion/forgediscussion/model/__init__.py
index e66e25f..b1a4d14 100644
--- a/ForgeDiscussion/forgediscussion/model/__init__.py
+++ b/ForgeDiscussion/forgediscussion/model/__init__.py
@@ -15,5 +15,4 @@
 #       specific language governing permissions and limitations
 #       under the License.
 
-from __future__ import absolute_import
 from .forum import Forum, ForumThread, ForumPost, ForumAttachment
diff --git a/ForgeDiscussion/forgediscussion/model/forum.py b/ForgeDiscussion/forgediscussion/model/forum.py
index a80d1c8..c0b0b96 100644
--- a/ForgeDiscussion/forgediscussion/model/forum.py
+++ b/ForgeDiscussion/forgediscussion/model/forum.py
@@ -15,8 +15,6 @@
 #       specific language governing permissions and limitations
 #       under the License.
 
-from __future__ import unicode_literals
-from __future__ import absolute_import
 import re
 import logging
 from itertools import chain
diff --git a/ForgeDiscussion/forgediscussion/site_stats.py b/ForgeDiscussion/forgediscussion/site_stats.py
index 7713049..cabb5dd 100644
--- a/ForgeDiscussion/forgediscussion/site_stats.py
+++ b/ForgeDiscussion/forgediscussion/site_stats.py
@@ -15,8 +15,6 @@
 #       specific language governing permissions and limitations
 #       under the License.
 
-from __future__ import unicode_literals
-from __future__ import absolute_import
 from datetime import datetime, timedelta
 
 from . import model as DM
diff --git a/ForgeDiscussion/forgediscussion/tasks.py b/ForgeDiscussion/forgediscussion/tasks.py
index 18e3eb1..cfd5320 100644
--- a/ForgeDiscussion/forgediscussion/tasks.py
+++ b/ForgeDiscussion/forgediscussion/tasks.py
@@ -15,8 +15,6 @@
 #       specific language governing permissions and limitations
 #       under the License.
 
-from __future__ import unicode_literals
-from __future__ import absolute_import
 import logging
 
 from tg import tmpl_context as c
diff --git a/ForgeDiscussion/forgediscussion/tests/functional/test_forum.py b/ForgeDiscussion/forgediscussion/tests/functional/test_forum.py
index 2fe9ccf..541edeb 100644
--- a/ForgeDiscussion/forgediscussion/tests/functional/test_forum.py
+++ b/ForgeDiscussion/forgediscussion/tests/functional/test_forum.py
@@ -17,8 +17,6 @@
 #       specific language governing permissions and limitations
 #       under the License.
 
-from __future__ import unicode_literals
-from __future__ import absolute_import
 import mock
 import random
 import logging
diff --git a/ForgeDiscussion/forgediscussion/tests/functional/test_forum_admin.py b/ForgeDiscussion/forgediscussion/tests/functional/test_forum_admin.py
index 127e2d2..05c4058 100644
--- a/ForgeDiscussion/forgediscussion/tests/functional/test_forum_admin.py
+++ b/ForgeDiscussion/forgediscussion/tests/functional/test_forum_admin.py
@@ -15,8 +15,6 @@
 #       specific language governing permissions and limitations
 #       under the License.
 
-from __future__ import unicode_literals
-from __future__ import absolute_import
 import os
 import allura
 import logging
diff --git a/ForgeDiscussion/forgediscussion/tests/functional/test_import.py b/ForgeDiscussion/forgediscussion/tests/functional/test_import.py
index 7d745d8..f97dd14 100644
--- a/ForgeDiscussion/forgediscussion/tests/functional/test_import.py
+++ b/ForgeDiscussion/forgediscussion/tests/functional/test_import.py
@@ -15,8 +15,6 @@
 #       specific language governing permissions and limitations
 #       under the License.
 
-from __future__ import unicode_literals
-from __future__ import absolute_import
 import os
 import json
 from datetime import datetime, timedelta
diff --git a/ForgeDiscussion/forgediscussion/tests/functional/test_rest.py b/ForgeDiscussion/forgediscussion/tests/functional/test_rest.py
index 7f80291..f881a1d 100644
--- a/ForgeDiscussion/forgediscussion/tests/functional/test_rest.py
+++ b/ForgeDiscussion/forgediscussion/tests/functional/test_rest.py
@@ -17,8 +17,6 @@
 #       specific language governing permissions and limitations
 #       under the License.
 
-from __future__ import unicode_literals
-from __future__ import absolute_import
 from alluratest.tools import assert_equal, assert_in
 
 from allura.lib import helpers as h
diff --git a/ForgeDiscussion/forgediscussion/tests/test_app.py b/ForgeDiscussion/forgediscussion/tests/test_app.py
index fe0c271..b8cdfb8 100644
--- a/ForgeDiscussion/forgediscussion/tests/test_app.py
+++ b/ForgeDiscussion/forgediscussion/tests/test_app.py
@@ -17,8 +17,6 @@
 #       specific language governing permissions and limitations
 #       under the License.
 
-from __future__ import unicode_literals
-from __future__ import absolute_import
 import tempfile
 import json
 import os
diff --git a/ForgeDiscussion/forgediscussion/tests/test_forum_roles.py b/ForgeDiscussion/forgediscussion/tests/test_forum_roles.py
index 73fcae7..4bc0eef 100644
--- a/ForgeDiscussion/forgediscussion/tests/test_forum_roles.py
+++ b/ForgeDiscussion/forgediscussion/tests/test_forum_roles.py
@@ -15,8 +15,6 @@
 #       specific language governing permissions and limitations
 #       under the License.
 
-from __future__ import unicode_literals
-from __future__ import absolute_import
 from tg import tmpl_context as c
 
 from alluratest.controller import setup_basic_test, setup_global_objects
diff --git a/ForgeDiscussion/forgediscussion/utils.py b/ForgeDiscussion/forgediscussion/utils.py
index ba635cc..1169caf 100644
--- a/ForgeDiscussion/forgediscussion/utils.py
+++ b/ForgeDiscussion/forgediscussion/utils.py
@@ -17,8 +17,6 @@
 
 """ ForgeDiscussion utilities. """
 
-from __future__ import unicode_literals
-from __future__ import absolute_import
 from bson import ObjectId
 from tg import flash
 from allura.lib import helpers as h
diff --git a/ForgeDiscussion/forgediscussion/version.py b/ForgeDiscussion/forgediscussion/version.py
index 927c7dd..8e95ab8 100644
--- a/ForgeDiscussion/forgediscussion/version.py
+++ b/ForgeDiscussion/forgediscussion/version.py
@@ -15,8 +15,6 @@
 #       specific language governing permissions and limitations
 #       under the License.
 
-from __future__ import unicode_literals
-from __future__ import absolute_import
 from six.moves import map
 __version_info__ = (0, 0)
 __version__ = '.'.join(map(str, __version_info__))
diff --git a/ForgeDiscussion/forgediscussion/widgets/__init__.py b/ForgeDiscussion/forgediscussion/widgets/__init__.py
index 8e1c918..d4adf6a 100644
--- a/ForgeDiscussion/forgediscussion/widgets/__init__.py
+++ b/ForgeDiscussion/forgediscussion/widgets/__init__.py
@@ -15,8 +15,6 @@
 #       specific language governing permissions and limitations
 #       under the License.
 
-from __future__ import unicode_literals
-from __future__ import absolute_import
 from .forum_widgets import ThreadSubscriptionForm, AnnouncementsTable
 from .forum_widgets import ModerateThread, ForumHeader, ThreadHeader
 from .forum_widgets import Post, Thread, Forum
diff --git a/ForgeDiscussion/forgediscussion/widgets/admin.py b/ForgeDiscussion/forgediscussion/widgets/admin.py
index 6c650b4..c1cb62c 100644
--- a/ForgeDiscussion/forgediscussion/widgets/admin.py
+++ b/ForgeDiscussion/forgediscussion/widgets/admin.py
@@ -15,8 +15,6 @@
 #       specific language governing permissions and limitations
 #       under the License.
 
-from __future__ import unicode_literals
-from __future__ import absolute_import
 from formencode import validators as fev
 from formencode import All
 import formencode
diff --git a/ForgeDiscussion/forgediscussion/widgets/forum_widgets.py b/ForgeDiscussion/forgediscussion/widgets/forum_widgets.py
index 97ffe9d..d34d7b8 100644
--- a/ForgeDiscussion/forgediscussion/widgets/forum_widgets.py
+++ b/ForgeDiscussion/forgediscussion/widgets/forum_widgets.py
@@ -15,8 +15,6 @@
 #       specific language governing permissions and limitations
 #       under the License.
 
-from __future__ import unicode_literals
-from __future__ import absolute_import
 from tg import tmpl_context as c
 from formencode import validators as fev
 
diff --git a/ForgeDiscussion/setup.py b/ForgeDiscussion/setup.py
index d0007d5..165ce4b 100644
--- a/ForgeDiscussion/setup.py
+++ b/ForgeDiscussion/setup.py
@@ -15,8 +15,6 @@
 #       specific language governing permissions and limitations
 #       under the License.
 
-from __future__ import unicode_literals
-from __future__ import absolute_import
 from setuptools import setup, find_packages
 
 from forgediscussion.version import __version__
diff --git a/ForgeFeedback/forgefeedback/feedback_main.py b/ForgeFeedback/forgefeedback/feedback_main.py
index aee8ea8..889c0f1 100644
--- a/ForgeFeedback/forgefeedback/feedback_main.py
+++ b/ForgeFeedback/forgefeedback/feedback_main.py
@@ -15,8 +15,6 @@
 #       specific language governing permissions and limitations
 #       under the License.
 
-from __future__ import unicode_literals
-from __future__ import absolute_import
 import logging
 import pymongo
 
diff --git a/ForgeFeedback/forgefeedback/model/__init__.py b/ForgeFeedback/forgefeedback/model/__init__.py
index 0a2340e..3fb8ad0 100644
--- a/ForgeFeedback/forgefeedback/model/__init__.py
+++ b/ForgeFeedback/forgefeedback/model/__init__.py
@@ -15,5 +15,4 @@
 #       specific language governing permissions and limitations
 #       under the License.
 
-from __future__ import absolute_import
 from .feedback import Feedback
diff --git a/ForgeFeedback/forgefeedback/model/feedback.py b/ForgeFeedback/forgefeedback/model/feedback.py
index 5d12523..8fd8b6b 100644
--- a/ForgeFeedback/forgefeedback/model/feedback.py
+++ b/ForgeFeedback/forgefeedback/model/feedback.py
@@ -15,8 +15,6 @@
 #       specific language governing permissions and limitations
 #       under the License.
 
-from __future__ import unicode_literals
-from __future__ import absolute_import
 import logging
 import six.moves.urllib.request
 import six.moves.urllib.parse
diff --git a/ForgeFeedback/forgefeedback/tests/functional/test_root.py b/ForgeFeedback/forgefeedback/tests/functional/test_root.py
index e92f588..371d491 100644
--- a/ForgeFeedback/forgefeedback/tests/functional/test_root.py
+++ b/ForgeFeedback/forgefeedback/tests/functional/test_root.py
@@ -14,8 +14,6 @@
 #       KIND, either express or implied.  See the License for the
 #       specific language governing permissions and limitations
 #       under the License.
-from __future__ import unicode_literals
-from __future__ import absolute_import
 from tg import tmpl_context as c
 from tg import config
 
diff --git a/ForgeFeedback/forgefeedback/tests/test_feedback_roles.py b/ForgeFeedback/forgefeedback/tests/test_feedback_roles.py
index 27f0762..19d335d 100644
--- a/ForgeFeedback/forgefeedback/tests/test_feedback_roles.py
+++ b/ForgeFeedback/forgefeedback/tests/test_feedback_roles.py
@@ -15,8 +15,6 @@
 #       specific language governing permissions and limitations
 #       under the License.
 
-from __future__ import unicode_literals
-from __future__ import absolute_import
 from tg import tmpl_context as c, app_globals as g
 
 from alluratest.tools import assert_equal
diff --git a/ForgeFeedback/forgefeedback/tests/unit/__init__.py b/ForgeFeedback/forgefeedback/tests/unit/__init__.py
index b2512e0..193f766 100644
--- a/ForgeFeedback/forgefeedback/tests/unit/__init__.py
+++ b/ForgeFeedback/forgefeedback/tests/unit/__init__.py
@@ -15,8 +15,6 @@
 #       specific language governing permissions and limitations
 #       under the License.
 
-from __future__ import unicode_literals
-from __future__ import absolute_import
 from tg import tmpl_context as c
 from ming.orm.ormsession import ThreadLocalORMSession
 
diff --git a/ForgeFeedback/forgefeedback/tests/unit/test_feedback.py b/ForgeFeedback/forgefeedback/tests/unit/test_feedback.py
index 4ac8b27..b4996b3 100644
--- a/ForgeFeedback/forgefeedback/tests/unit/test_feedback.py
+++ b/ForgeFeedback/forgefeedback/tests/unit/test_feedback.py
@@ -15,8 +15,6 @@
 #       specific language governing permissions and limitations
 #       under the License.
 
-from __future__ import unicode_literals
-from __future__ import absolute_import
 from datetime import datetime
 from alluratest.tools import assert_equal, assert_true
 from tg import tmpl_context as c
diff --git a/ForgeFeedback/forgefeedback/tests/unit/test_root_controller.py b/ForgeFeedback/forgefeedback/tests/unit/test_root_controller.py
index c4b008c..3d14631 100644
--- a/ForgeFeedback/forgefeedback/tests/unit/test_root_controller.py
+++ b/ForgeFeedback/forgefeedback/tests/unit/test_root_controller.py
@@ -15,8 +15,6 @@
 #       specific language governing permissions and limitations
 #       under the License.
 
-from __future__ import unicode_literals
-from __future__ import absolute_import
 import unittest
 
 from mock import Mock, patch
diff --git a/ForgeFeedback/forgefeedback/version.py b/ForgeFeedback/forgefeedback/version.py
index 4f74f48..bd874b0 100644
--- a/ForgeFeedback/forgefeedback/version.py
+++ b/ForgeFeedback/forgefeedback/version.py
@@ -15,8 +15,6 @@
 #       specific language governing permissions and limitations
 #       under the License.
 
-from __future__ import unicode_literals
-from __future__ import absolute_import
 from six.moves import map
 __version_info__ = (0, 0)
 __version__ = '.'.join(map(str, __version_info__))
diff --git a/ForgeFeedback/setup.py b/ForgeFeedback/setup.py
index 02f25b2..241608e 100644
--- a/ForgeFeedback/setup.py
+++ b/ForgeFeedback/setup.py
@@ -16,8 +16,6 @@
 #       under the License.
 
 
-from __future__ import unicode_literals
-from __future__ import absolute_import
 from setuptools import setup, find_packages
 
 from forgefeedback.version import __version__
@@ -46,7 +44,7 @@ setup(name='ForgeFeedback',
       [allura]
       Feedback=forgefeedback.feedback_main:ForgeFeedbackApp
 
-      
+
       """,
       )
 
diff --git a/ForgeFiles/forgefiles/files_main.py b/ForgeFiles/forgefiles/files_main.py
index 184a834..d276ec1 100755
--- a/ForgeFiles/forgefiles/files_main.py
+++ b/ForgeFiles/forgefiles/files_main.py
@@ -17,8 +17,6 @@
 
 '''This is the main controller module for the Files Plugin.'''
 
-from __future__ import unicode_literals
-from __future__ import absolute_import
 import logging
 from six.moves.urllib.parse import unquote
 
diff --git a/ForgeFiles/forgefiles/model/__init__.py b/ForgeFiles/forgefiles/model/__init__.py
index e6c6743..a0f0fee 100755
--- a/ForgeFiles/forgefiles/model/__init__.py
+++ b/ForgeFiles/forgefiles/model/__init__.py
@@ -15,5 +15,4 @@
 #       specific language governing permissions and limitations
 #       under the License.
 
-from __future__ import absolute_import
 from .files import UploadFolder, UploadFiles
diff --git a/ForgeFiles/forgefiles/model/files.py b/ForgeFiles/forgefiles/model/files.py
index e5090e5..457e2c4 100755
--- a/ForgeFiles/forgefiles/model/files.py
+++ b/ForgeFiles/forgefiles/model/files.py
@@ -18,8 +18,6 @@
 ''' This is the Collection module for the Files plugin.
 Upload, UploadFolder & UploadFile are the collections'''
 
-from __future__ import unicode_literals
-from __future__ import absolute_import
 from datetime import datetime
 
 from six.moves.urllib.parse import quote
diff --git a/ForgeFiles/forgefiles/tests/functional/test_root.py b/ForgeFiles/forgefiles/tests/functional/test_root.py
index 3a3be7b..e85ef4d 100644
--- a/ForgeFiles/forgefiles/tests/functional/test_root.py
+++ b/ForgeFiles/forgefiles/tests/functional/test_root.py
@@ -14,8 +14,6 @@
 #       KIND, either express or implied.  See the License for the
 #       specific language governing permissions and limitations
 #       under the License.
-from __future__ import unicode_literals
-from __future__ import absolute_import
 from tg import tmpl_context as c
 from nose.tools import assert_true,assert_not_equal,assert_equals
 
diff --git a/ForgeFiles/forgefiles/tests/model/__init__.py b/ForgeFiles/forgefiles/tests/model/__init__.py
index ca8d106..b91b746 100644
--- a/ForgeFiles/forgefiles/tests/model/__init__.py
+++ b/ForgeFiles/forgefiles/tests/model/__init__.py
@@ -15,8 +15,6 @@
 #       specific language governing permissions and limitations
 #       under the License.
 
-from __future__ import unicode_literals
-from __future__ import absolute_import
 from tg import tmpl_context as c
 from ming.orm.ormsession import ThreadLocalORMSession
 
diff --git a/ForgeFiles/forgefiles/tests/model/test_files.py b/ForgeFiles/forgefiles/tests/model/test_files.py
index cb43f28..a9a6b5e 100644
--- a/ForgeFiles/forgefiles/tests/model/test_files.py
+++ b/ForgeFiles/forgefiles/tests/model/test_files.py
@@ -17,8 +17,6 @@
 
 '''This module is added for testing the files model '''
 
-from __future__ import unicode_literals
-from __future__ import absolute_import
 from nose.tools import assert_equal, assert_true, assert_false
 
 from forgefiles.tests.model import FilesTestWithModel
diff --git a/ForgeFiles/forgefiles/tests/test_files_roles.py b/ForgeFiles/forgefiles/tests/test_files_roles.py
index 9998275..203f331 100644
--- a/ForgeFiles/forgefiles/tests/test_files_roles.py
+++ b/ForgeFiles/forgefiles/tests/test_files_roles.py
@@ -15,8 +15,6 @@
 #       specific language governing permissions and limitations
 #       under the License.
 
-from __future__ import unicode_literals
-from __future__ import absolute_import
 from nose.tools import assert_equal
 from tg import tmpl_context as c, app_globals as g
 
diff --git a/ForgeFiles/setup.py b/ForgeFiles/setup.py
index 10fc045..a3dbaa9 100755
--- a/ForgeFiles/setup.py
+++ b/ForgeFiles/setup.py
@@ -16,8 +16,6 @@
 #       under the License.
 
 #       !/bin/python
-from __future__ import unicode_literals
-from __future__ import absolute_import
 from setuptools import setup
 
 setup(name='ForgeFiles',
diff --git a/ForgeGit/forgegit/controllers.py b/ForgeGit/forgegit/controllers.py
index e25238c..0c504e9 100644
--- a/ForgeGit/forgegit/controllers.py
+++ b/ForgeGit/forgegit/controllers.py
@@ -15,8 +15,6 @@
 #       specific language governing permissions and limitations
 #       under the License.
 
-from __future__ import unicode_literals
-from __future__ import absolute_import
 
 from allura.lib.utils import permanent_redirect
 from tg import expose, redirect
diff --git a/ForgeGit/forgegit/git_main.py b/ForgeGit/forgegit/git_main.py
index 8f32c5f..7b424f9 100644
--- a/ForgeGit/forgegit/git_main.py
+++ b/ForgeGit/forgegit/git_main.py
@@ -15,8 +15,6 @@
 #       specific language governing permissions and limitations
 #       under the License.
 
-from __future__ import unicode_literals
-from __future__ import absolute_import
 import logging
 
 # Non-stdlib imports
diff --git a/ForgeGit/forgegit/model/__init__.py b/ForgeGit/forgegit/model/__init__.py
index 315be3b..65eeb21 100644
--- a/ForgeGit/forgegit/model/__init__.py
+++ b/ForgeGit/forgegit/model/__init__.py
@@ -15,5 +15,4 @@
 #       specific language governing permissions and limitations
 #       under the License.
 
-from __future__ import absolute_import
 from .git_repo import Repository
diff --git a/ForgeGit/forgegit/model/git_repo.py b/ForgeGit/forgegit/model/git_repo.py
index ed328ee..cc8b14f 100644
--- a/ForgeGit/forgegit/model/git_repo.py
+++ b/ForgeGit/forgegit/model/git_repo.py
@@ -15,8 +15,6 @@
 #       specific language governing permissions and limitations
 #       under the License.
 
-from __future__ import unicode_literals
-from __future__ import absolute_import
 import os
 import shutil
 import string
diff --git a/ForgeGit/forgegit/tests/__init__.py b/ForgeGit/forgegit/tests/__init__.py
index 1f51dcf..b693039 100644
--- a/ForgeGit/forgegit/tests/__init__.py
+++ b/ForgeGit/forgegit/tests/__init__.py
@@ -19,8 +19,6 @@
 
 
 # Make our own Git tool test decorator
-from __future__ import unicode_literals
-from __future__ import absolute_import
 from allura.tests.decorators import with_tool
 
 with_git = with_tool('test', 'Git', 'src-git', 'Git', type='git')
diff --git a/ForgeGit/forgegit/tests/functional/test_auth.py b/ForgeGit/forgegit/tests/functional/test_auth.py
index a329fbe..c6b313c 100644
--- a/ForgeGit/forgegit/tests/functional/test_auth.py
+++ b/ForgeGit/forgegit/tests/functional/test_auth.py
@@ -17,8 +17,6 @@
 #       specific language governing permissions and limitations
 #       under the License.
 
-from __future__ import unicode_literals
-from __future__ import absolute_import
 import json
 from datadiff.tools import assert_equal
 
diff --git a/ForgeGit/forgegit/tests/functional/test_controllers.py b/ForgeGit/forgegit/tests/functional/test_controllers.py
index 81fde01..7d92182 100644
--- a/ForgeGit/forgegit/tests/functional/test_controllers.py
+++ b/ForgeGit/forgegit/tests/functional/test_controllers.py
@@ -17,9 +17,6 @@
 #       specific language governing permissions and limitations
 #       under the License.
 
-from __future__ import unicode_literals
-from __future__ import print_function
-from __future__ import absolute_import
 import json
 import re
 import os
diff --git a/ForgeGit/forgegit/tests/model/test_repository.py b/ForgeGit/forgegit/tests/model/test_repository.py
index aecead7..6243f35 100644
--- a/ForgeGit/forgegit/tests/model/test_repository.py
+++ b/ForgeGit/forgegit/tests/model/test_repository.py
@@ -17,9 +17,6 @@
 #       specific language governing permissions and limitations
 #       under the License.
 
-from __future__ import unicode_literals
-from __future__ import print_function
-from __future__ import absolute_import
 import os
 import shutil
 import stat
diff --git a/ForgeGit/forgegit/tests/test_git_app.py b/ForgeGit/forgegit/tests/test_git_app.py
index bc72402..8037203 100644
--- a/ForgeGit/forgegit/tests/test_git_app.py
+++ b/ForgeGit/forgegit/tests/test_git_app.py
@@ -15,8 +15,6 @@
 #       specific language governing permissions and limitations
 #       under the License.
 
-from __future__ import unicode_literals
-from __future__ import absolute_import
 import unittest
 from alluratest.tools import assert_equals
 
diff --git a/ForgeGit/forgegit/tests/test_tasks.py b/ForgeGit/forgegit/tests/test_tasks.py
index 9eb9c35..4563457 100644
--- a/ForgeGit/forgegit/tests/test_tasks.py
+++ b/ForgeGit/forgegit/tests/test_tasks.py
@@ -14,8 +14,6 @@
 #       KIND, either express or implied.  See the License for the
 #       specific language governing permissions and limitations
 #       under the License.
-from __future__ import unicode_literals
-from __future__ import absolute_import
 import unittest
 import mock
 from testfixtures import LogCapture
diff --git a/ForgeGit/forgegit/version.py b/ForgeGit/forgegit/version.py
index 927c7dd..8e95ab8 100644
--- a/ForgeGit/forgegit/version.py
+++ b/ForgeGit/forgegit/version.py
@@ -15,8 +15,6 @@
 #       specific language governing permissions and limitations
 #       under the License.
 
-from __future__ import unicode_literals
-from __future__ import absolute_import
 from six.moves import map
 __version_info__ = (0, 0)
 __version__ = '.'.join(map(str, __version_info__))
diff --git a/ForgeGit/setup.py b/ForgeGit/setup.py
index 8cadb33..e91068b 100644
--- a/ForgeGit/setup.py
+++ b/ForgeGit/setup.py
@@ -15,8 +15,6 @@
 #       specific language governing permissions and limitations
 #       under the License.
 
-from __future__ import unicode_literals
-from __future__ import absolute_import
 from setuptools import setup, find_packages
 
 from forgegit.version import __version__
diff --git a/ForgeImporters/docs/conf.py b/ForgeImporters/docs/conf.py
index 0c5fee9..32d5710 100644
--- a/ForgeImporters/docs/conf.py
+++ b/ForgeImporters/docs/conf.py
@@ -37,7 +37,6 @@
 
 # Add any Sphinx extension module names here, as strings. They can be extensions
 # coming with Sphinx (named 'sphinx.ext.*') or your custom ones.
-from __future__ import unicode_literals
 extensions = ['sphinx.ext.autodoc', 'sphinx.ext.intersphinx',
               'sphinx.ext.todo', 'sphinx.ext.coverage', 'sphinx.ext.ifconfig']
 
diff --git a/ForgeImporters/forgeimporters/base.py b/ForgeImporters/forgeimporters/base.py
index d959042..1df43b9 100644
--- a/ForgeImporters/forgeimporters/base.py
+++ b/ForgeImporters/forgeimporters/base.py
@@ -15,8 +15,6 @@
 #       specific language governing permissions and limitations
 #       under the License.
 
-from __future__ import unicode_literals
-from __future__ import absolute_import
 import os
 import errno
 import logging
diff --git a/ForgeImporters/forgeimporters/forge/alluraImporter.py b/ForgeImporters/forgeimporters/forge/alluraImporter.py
index 7264a03..1cfb7de 100644
--- a/ForgeImporters/forgeimporters/forge/alluraImporter.py
+++ b/ForgeImporters/forgeimporters/forge/alluraImporter.py
@@ -15,7 +15,6 @@
 #       specific language governing permissions and limitations
 #       under the License.
 
-from __future__ import absolute_import
 import os
 import json
 
diff --git a/ForgeImporters/forgeimporters/forge/discussion.py b/ForgeImporters/forgeimporters/forge/discussion.py
index d256f1d..0ba9ad1 100644
--- a/ForgeImporters/forgeimporters/forge/discussion.py
+++ b/ForgeImporters/forgeimporters/forge/discussion.py
@@ -15,7 +15,6 @@
 #       specific language governing permissions and limitations
 #       under the License.
 
-from __future__ import absolute_import
 import json
 from dateutil.parser import parse
 
diff --git a/ForgeImporters/forgeimporters/forge/tracker.py b/ForgeImporters/forgeimporters/forge/tracker.py
index 0c59eb3..518f509 100644
--- a/ForgeImporters/forgeimporters/forge/tracker.py
+++ b/ForgeImporters/forgeimporters/forge/tracker.py
@@ -15,8 +15,6 @@
 #       specific language governing permissions and limitations
 #       under the License.
 
-from __future__ import unicode_literals
-from __future__ import absolute_import
 import json
 
 import dateutil.parser
diff --git a/ForgeImporters/forgeimporters/github/__init__.py b/ForgeImporters/forgeimporters/github/__init__.py
index eee1af2..e53e090 100644
--- a/ForgeImporters/forgeimporters/github/__init__.py
+++ b/ForgeImporters/forgeimporters/github/__init__.py
@@ -15,8 +15,6 @@
 #       specific language governing permissions and limitations
 #       under the License.
 
-from __future__ import unicode_literals
-from __future__ import absolute_import
 import re
 import logging
 import json
diff --git a/ForgeImporters/forgeimporters/github/code.py b/ForgeImporters/forgeimporters/github/code.py
index 0fb06a4..19c0e51 100644
--- a/ForgeImporters/forgeimporters/github/code.py
+++ b/ForgeImporters/forgeimporters/github/code.py
@@ -15,8 +15,6 @@
 #       specific language governing permissions and limitations
 #       under the License.
 
-from __future__ import unicode_literals
-from __future__ import absolute_import
 from tg import tmpl_context as c
 from tg import app_globals as g
 from tg import (
diff --git a/ForgeImporters/forgeimporters/github/project.py b/ForgeImporters/forgeimporters/github/project.py
index 8d16838..60157a0 100644
--- a/ForgeImporters/forgeimporters/github/project.py
+++ b/ForgeImporters/forgeimporters/github/project.py
@@ -15,8 +15,6 @@
 #       specific language governing permissions and limitations
 #       under the License.
 
-from __future__ import unicode_literals
-from __future__ import absolute_import
 import logging
 
 from tg import expose, validate
diff --git a/ForgeImporters/forgeimporters/github/tasks.py b/ForgeImporters/forgeimporters/github/tasks.py
index 5e04953..db12c4d 100644
--- a/ForgeImporters/forgeimporters/github/tasks.py
+++ b/ForgeImporters/forgeimporters/github/tasks.py
@@ -15,8 +15,6 @@
 #       specific language governing permissions and limitations
 #       under the License.
 
-from __future__ import unicode_literals
-from __future__ import absolute_import
 from tg import tmpl_context as c
 from tg import app_globals as g
 
diff --git a/ForgeImporters/forgeimporters/github/tests/test_code.py b/ForgeImporters/forgeimporters/github/tests/test_code.py
index cbb1e6e..59981f1 100644
--- a/ForgeImporters/forgeimporters/github/tests/test_code.py
+++ b/ForgeImporters/forgeimporters/github/tests/test_code.py
@@ -15,8 +15,6 @@
 #       specific language governing permissions and limitations
 #       under the License.
 
-from __future__ import unicode_literals
-from __future__ import absolute_import
 from unittest import TestCase
 from mock import Mock, patch
 from ming.odm import ThreadLocalORMSession
diff --git a/ForgeImporters/forgeimporters/github/tests/test_oauth.py b/ForgeImporters/forgeimporters/github/tests/test_oauth.py
index f0b617e..23f0e79 100644
--- a/ForgeImporters/forgeimporters/github/tests/test_oauth.py
+++ b/ForgeImporters/forgeimporters/github/tests/test_oauth.py
@@ -15,8 +15,6 @@
 #       specific language governing permissions and limitations
 #       under the License.
 
-from __future__ import unicode_literals
-from __future__ import absolute_import
 from unittest import TestCase
 
 from mock import Mock, patch, MagicMock
diff --git a/ForgeImporters/forgeimporters/github/tests/test_tracker.py b/ForgeImporters/forgeimporters/github/tests/test_tracker.py
index 0707ef9..ea5737a 100644
--- a/ForgeImporters/forgeimporters/github/tests/test_tracker.py
+++ b/ForgeImporters/forgeimporters/github/tests/test_tracker.py
@@ -15,8 +15,6 @@
 #       specific language governing permissions and limitations
 #       under the License.
 
-from __future__ import unicode_literals
-from __future__ import absolute_import
 from unittest import TestCase
 from mock import patch
 from ming.odm import ThreadLocalORMSession
diff --git a/ForgeImporters/forgeimporters/github/tests/test_utils.py b/ForgeImporters/forgeimporters/github/tests/test_utils.py
index b6a4f37..4f965c2 100644
--- a/ForgeImporters/forgeimporters/github/tests/test_utils.py
+++ b/ForgeImporters/forgeimporters/github/tests/test_utils.py
@@ -15,8 +15,6 @@
 #       specific language governing permissions and limitations
 #       under the License.
 
-from __future__ import unicode_literals
-from __future__ import absolute_import
 from alluratest.tools import assert_equal
 
 from forgeimporters.github.utils import GitHubMarkdownConverter
diff --git a/ForgeImporters/forgeimporters/github/tests/test_wiki.py b/ForgeImporters/forgeimporters/github/tests/test_wiki.py
index 1be0a94..69a04a9 100644
--- a/ForgeImporters/forgeimporters/github/tests/test_wiki.py
+++ b/ForgeImporters/forgeimporters/github/tests/test_wiki.py
@@ -17,8 +17,6 @@
 #       specific language governing permissions and limitations
 #       under the License.
 
-from __future__ import unicode_literals
-from __future__ import absolute_import
 from unittest import TestCase, skipIf
 from alluratest.tools import assert_equal
 from mock import Mock, patch, call
diff --git a/ForgeImporters/forgeimporters/github/tracker.py b/ForgeImporters/forgeimporters/github/tracker.py
index 7e55a01..51c83fd 100644
--- a/ForgeImporters/forgeimporters/github/tracker.py
+++ b/ForgeImporters/forgeimporters/github/tracker.py
@@ -15,8 +15,6 @@
 #       specific language governing permissions and limitations
 #       under the License.
 
-from __future__ import unicode_literals
-from __future__ import absolute_import
 import re
 import logging
 from datetime import datetime
diff --git a/ForgeImporters/forgeimporters/github/utils.py b/ForgeImporters/forgeimporters/github/utils.py
index 23cb010..2084159 100644
--- a/ForgeImporters/forgeimporters/github/utils.py
+++ b/ForgeImporters/forgeimporters/github/utils.py
@@ -15,8 +15,6 @@
 #       specific language governing permissions and limitations
 #       under the License.
 
-from __future__ import unicode_literals
-from __future__ import absolute_import
 import re
 
 
diff --git a/ForgeImporters/forgeimporters/github/wiki.py b/ForgeImporters/forgeimporters/github/wiki.py
index 9fec9ec..60604df 100644
--- a/ForgeImporters/forgeimporters/github/wiki.py
+++ b/ForgeImporters/forgeimporters/github/wiki.py
@@ -15,8 +15,6 @@
 #       specific language governing permissions and limitations
 #       under the License.
 
-from __future__ import unicode_literals
-from __future__ import absolute_import
 import os
 import re
 from datetime import datetime
diff --git a/ForgeImporters/forgeimporters/tests/forge/test_discussion.py b/ForgeImporters/forgeimporters/tests/forge/test_discussion.py
index 0aed0de..34a4da8 100644
--- a/ForgeImporters/forgeimporters/tests/forge/test_discussion.py
+++ b/ForgeImporters/forgeimporters/tests/forge/test_discussion.py
@@ -15,8 +15,6 @@
 #       specific language governing permissions and limitations
 #       under the License.
 
-from __future__ import absolute_import
-from __future__ import print_function
 from unittest import TestCase
 import mock
 
diff --git a/ForgeImporters/forgeimporters/tests/forge/test_tracker.py b/ForgeImporters/forgeimporters/tests/forge/test_tracker.py
index 4ad72f8..cfafeea 100644
--- a/ForgeImporters/forgeimporters/tests/forge/test_tracker.py
+++ b/ForgeImporters/forgeimporters/tests/forge/test_tracker.py
@@ -15,8 +15,6 @@
 #       specific language governing permissions and limitations
 #       under the License.
 
-from __future__ import unicode_literals
-from __future__ import absolute_import
 from datetime import datetime
 from unittest import TestCase
 
diff --git a/ForgeImporters/forgeimporters/tests/github/functional/test_github.py b/ForgeImporters/forgeimporters/tests/github/functional/test_github.py
index 5cb7b8f..27ba1d1 100644
--- a/ForgeImporters/forgeimporters/tests/github/functional/test_github.py
+++ b/ForgeImporters/forgeimporters/tests/github/functional/test_github.py
@@ -14,8 +14,6 @@
 #       KIND, either express or implied.  See the License for the
 #       specific language governing permissions and limitations
 #       under the License.
-from __future__ import unicode_literals
-from __future__ import absolute_import
 import requests
 import tg
 from mock import patch, call, Mock
diff --git a/ForgeImporters/forgeimporters/tests/github/test_extractor.py b/ForgeImporters/forgeimporters/tests/github/test_extractor.py
index 4649c24..65d1ef3 100644
--- a/ForgeImporters/forgeimporters/tests/github/test_extractor.py
+++ b/ForgeImporters/forgeimporters/tests/github/test_extractor.py
@@ -15,8 +15,6 @@
 #       specific language governing permissions and limitations
 #       under the License.
 
-from __future__ import unicode_literals
-from __future__ import absolute_import
 import json
 from unittest import TestCase
 from io import BytesIO
diff --git a/ForgeImporters/forgeimporters/tests/github/test_tasks.py b/ForgeImporters/forgeimporters/tests/github/test_tasks.py
index 86b1a2f..b048407 100644
--- a/ForgeImporters/forgeimporters/tests/github/test_tasks.py
+++ b/ForgeImporters/forgeimporters/tests/github/test_tasks.py
@@ -15,8 +15,6 @@
 #       specific language governing permissions and limitations
 #       under the License.
 
-from __future__ import unicode_literals
-from __future__ import absolute_import
 import mock
 
 from ...github import tasks
diff --git a/ForgeImporters/forgeimporters/tests/github/test_tracker.py b/ForgeImporters/forgeimporters/tests/github/test_tracker.py
index 8064045..e9bd59f 100644
--- a/ForgeImporters/forgeimporters/tests/github/test_tracker.py
+++ b/ForgeImporters/forgeimporters/tests/github/test_tracker.py
@@ -15,8 +15,6 @@
 #       specific language governing permissions and limitations
 #       under the License.
 
-from __future__ import unicode_literals
-from __future__ import absolute_import
 from datetime import datetime
 from operator import itemgetter
 from unittest import TestCase
diff --git a/ForgeImporters/forgeimporters/tests/test_base.py b/ForgeImporters/forgeimporters/tests/test_base.py
index c426310..7042393 100644
--- a/ForgeImporters/forgeimporters/tests/test_base.py
+++ b/ForgeImporters/forgeimporters/tests/test_base.py
@@ -15,8 +15,6 @@
 #       specific language governing permissions and limitations
 #       under the License.
 
-from __future__ import unicode_literals
-from __future__ import absolute_import
 from unittest import TestCase
 import errno
 
diff --git a/ForgeImporters/forgeimporters/trac/__init__.py b/ForgeImporters/forgeimporters/trac/__init__.py
index 3a0949d..fa733a6 100644
--- a/ForgeImporters/forgeimporters/trac/__init__.py
+++ b/ForgeImporters/forgeimporters/trac/__init__.py
@@ -15,8 +15,6 @@
 #       specific language governing permissions and limitations
 #       under the License.
 
-from __future__ import unicode_literals
-from __future__ import absolute_import
 from formencode import validators as fev
 import requests
 
diff --git a/ForgeImporters/forgeimporters/trac/project.py b/ForgeImporters/forgeimporters/trac/project.py
index bd85763..0f44259 100644
--- a/ForgeImporters/forgeimporters/trac/project.py
+++ b/ForgeImporters/forgeimporters/trac/project.py
@@ -15,8 +15,6 @@
 #       specific language governing permissions and limitations
 #       under the License.
 
-from __future__ import unicode_literals
-from __future__ import absolute_import
 import logging
 
 from tg import expose, validate
diff --git a/ForgeImporters/forgeimporters/trac/tests/functional/test_trac.py b/ForgeImporters/forgeimporters/trac/tests/functional/test_trac.py
index e8ccbbb..a054d2d 100644
--- a/ForgeImporters/forgeimporters/trac/tests/functional/test_trac.py
+++ b/ForgeImporters/forgeimporters/trac/tests/functional/test_trac.py
@@ -15,8 +15,6 @@
 #       specific language governing permissions and limitations
 #       under the License.
 
-from __future__ import unicode_literals
-from __future__ import absolute_import
 from mock import patch, Mock
 from alluratest.tools import assert_equal
 from tg import config
diff --git a/ForgeImporters/forgeimporters/trac/tests/test_tickets.py b/ForgeImporters/forgeimporters/trac/tests/test_tickets.py
index 0b010e0..4bae222 100644
--- a/ForgeImporters/forgeimporters/trac/tests/test_tickets.py
+++ b/ForgeImporters/forgeimporters/trac/tests/test_tickets.py
@@ -15,8 +15,6 @@
 #       specific language governing permissions and limitations
 #       under the License.
 
-from __future__ import unicode_literals
-from __future__ import absolute_import
 import json
 import os
 
diff --git a/ForgeImporters/forgeimporters/trac/tickets.py b/ForgeImporters/forgeimporters/trac/tickets.py
index 8707c4d..a71578c 100644
--- a/ForgeImporters/forgeimporters/trac/tickets.py
+++ b/ForgeImporters/forgeimporters/trac/tickets.py
@@ -15,8 +15,6 @@
 #       specific language governing permissions and limitations
 #       under the License.
 
-from __future__ import unicode_literals
-from __future__ import absolute_import
 import json
 import re
 
diff --git a/ForgeImporters/setup.py b/ForgeImporters/setup.py
index 99c11de..c834fe5 100644
--- a/ForgeImporters/setup.py
+++ b/ForgeImporters/setup.py
@@ -15,8 +15,6 @@
 #       specific language governing permissions and limitations
 #       under the License.
 
-from __future__ import unicode_literals
-from __future__ import absolute_import
 from setuptools import setup, find_packages
 
 
diff --git a/ForgeLink/forgelink/link_main.py b/ForgeLink/forgelink/link_main.py
index 964ea24..db14988 100644
--- a/ForgeLink/forgelink/link_main.py
+++ b/ForgeLink/forgelink/link_main.py
@@ -16,8 +16,6 @@
 #       under the License.
 
 # -*- python -*-
-from __future__ import unicode_literals
-from __future__ import absolute_import
 import logging
 import json
 
diff --git a/ForgeLink/forgelink/tests/functional/test_rest.py b/ForgeLink/forgelink/tests/functional/test_rest.py
index 1b7ad50..6a2a4ce 100644
--- a/ForgeLink/forgelink/tests/functional/test_rest.py
+++ b/ForgeLink/forgelink/tests/functional/test_rest.py
@@ -17,8 +17,6 @@
 #       specific language governing permissions and limitations
 #       under the License.
 
-from __future__ import unicode_literals
-from __future__ import absolute_import
 from alluratest.tools import assert_equal
 from allura.tests import decorators as td
 from alluratest.controller import TestRestApiBase
diff --git a/ForgeLink/forgelink/tests/functional/test_root.py b/ForgeLink/forgelink/tests/functional/test_root.py
index cef6820..1b81589 100644
--- a/ForgeLink/forgelink/tests/functional/test_root.py
+++ b/ForgeLink/forgelink/tests/functional/test_root.py
@@ -16,8 +16,6 @@
 #       specific language governing permissions and limitations
 #       under the License.
 
-from __future__ import unicode_literals
-from __future__ import absolute_import
 import json
 
 from alluratest.tools import assert_equal, assert_in
diff --git a/ForgeLink/forgelink/tests/test_app.py b/ForgeLink/forgelink/tests/test_app.py
index 75a3b08..9a888c4 100644
--- a/ForgeLink/forgelink/tests/test_app.py
+++ b/ForgeLink/forgelink/tests/test_app.py
@@ -15,8 +15,6 @@
 #       specific language governing permissions and limitations
 #       under the License.
 
-from __future__ import unicode_literals
-from __future__ import absolute_import
 import tempfile
 import json
 
diff --git a/ForgeLink/forgelink/version.py b/ForgeLink/forgelink/version.py
index 927c7dd..8e95ab8 100644
--- a/ForgeLink/forgelink/version.py
+++ b/ForgeLink/forgelink/version.py
@@ -15,8 +15,6 @@
 #       specific language governing permissions and limitations
 #       under the License.
 
-from __future__ import unicode_literals
-from __future__ import absolute_import
 from six.moves import map
 __version_info__ = (0, 0)
 __version__ = '.'.join(map(str, __version_info__))
diff --git a/ForgeLink/setup.py b/ForgeLink/setup.py
index 20e639d..fc91792 100644
--- a/ForgeLink/setup.py
+++ b/ForgeLink/setup.py
@@ -15,8 +15,6 @@
 #       specific language governing permissions and limitations
 #       under the License.
 
-from __future__ import unicode_literals
-from __future__ import absolute_import
 from setuptools import setup, find_packages
 
 from forgelink.version import __version__
diff --git a/ForgeSVN/forgesvn/controllers.py b/ForgeSVN/forgesvn/controllers.py
index 7eab0c2..bbd96e1 100644
--- a/ForgeSVN/forgesvn/controllers.py
+++ b/ForgeSVN/forgesvn/controllers.py
@@ -15,8 +15,6 @@
 #       specific language governing permissions and limitations
 #       under the License.
 
-from __future__ import unicode_literals
-from __future__ import absolute_import
 
 from allura.lib.utils import permanent_redirect
 from tg import expose, redirect
diff --git a/ForgeSVN/forgesvn/model/__init__.py b/ForgeSVN/forgesvn/model/__init__.py
index f9d1766..bdfca0d 100644
--- a/ForgeSVN/forgesvn/model/__init__.py
+++ b/ForgeSVN/forgesvn/model/__init__.py
@@ -15,5 +15,4 @@
 #       specific language governing permissions and limitations
 #       under the License.
 
-from __future__ import absolute_import
 from .svn import Repository
diff --git a/ForgeSVN/forgesvn/model/svn.py b/ForgeSVN/forgesvn/model/svn.py
index 1fc18bb..36c5337 100644
--- a/ForgeSVN/forgesvn/model/svn.py
+++ b/ForgeSVN/forgesvn/model/svn.py
@@ -15,8 +15,6 @@
 #       specific language governing permissions and limitations
 #       under the License.
 
-from __future__ import unicode_literals
-from __future__ import absolute_import
 import re
 import os
 import shutil
diff --git a/ForgeSVN/forgesvn/svn_main.py b/ForgeSVN/forgesvn/svn_main.py
index 13b9fa1..b517355 100644
--- a/ForgeSVN/forgesvn/svn_main.py
+++ b/ForgeSVN/forgesvn/svn_main.py
@@ -15,8 +15,6 @@
 #       specific language governing permissions and limitations
 #       under the License.
 
-from __future__ import unicode_literals
-from __future__ import absolute_import
 import logging
 
 import six
diff --git a/ForgeSVN/forgesvn/tests/__init__.py b/ForgeSVN/forgesvn/tests/__init__.py
index 1592551..d152a9e 100644
--- a/ForgeSVN/forgesvn/tests/__init__.py
+++ b/ForgeSVN/forgesvn/tests/__init__.py
@@ -19,8 +19,6 @@
 
 
 # Make our own SVN tool test decorator
-from __future__ import unicode_literals
-from __future__ import absolute_import
 from allura.tests.decorators import with_tool
 
 with_svn = with_tool('test', 'SVN', 'src', 'SVN')
diff --git a/ForgeSVN/forgesvn/tests/functional/test_auth.py b/ForgeSVN/forgesvn/tests/functional/test_auth.py
index 77e7c93..48b9960 100644
--- a/ForgeSVN/forgesvn/tests/functional/test_auth.py
+++ b/ForgeSVN/forgesvn/tests/functional/test_auth.py
@@ -17,8 +17,6 @@
 #       specific language governing permissions and limitations
 #       under the License.
 
-from __future__ import unicode_literals
-from __future__ import absolute_import
 import json
 from datadiff.tools import assert_equal
 
diff --git a/ForgeSVN/forgesvn/tests/functional/test_controllers.py b/ForgeSVN/forgesvn/tests/functional/test_controllers.py
index 99100f3..e8aa50d 100644
--- a/ForgeSVN/forgesvn/tests/functional/test_controllers.py
+++ b/ForgeSVN/forgesvn/tests/functional/test_controllers.py
@@ -16,9 +16,6 @@
 #       specific language governing permissions and limitations
 #       under the License.
 
-from __future__ import unicode_literals
-from __future__ import absolute_import
-from __future__ import print_function
 import json
 import re
 import shutil
diff --git a/ForgeSVN/forgesvn/tests/model/test_repository.py b/ForgeSVN/forgesvn/tests/model/test_repository.py
index f71a787..5feab1a 100644
--- a/ForgeSVN/forgesvn/tests/model/test_repository.py
+++ b/ForgeSVN/forgesvn/tests/model/test_repository.py
@@ -16,9 +16,6 @@
 #       specific language governing permissions and limitations
 #       under the License.
 
-from __future__ import unicode_literals
-from __future__ import print_function
-from __future__ import absolute_import
 import os
 import shutil
 import unittest
diff --git a/ForgeSVN/forgesvn/tests/model/test_svnimplementation.py b/ForgeSVN/forgesvn/tests/model/test_svnimplementation.py
index 5ea682e..ee0ab59 100644
--- a/ForgeSVN/forgesvn/tests/model/test_svnimplementation.py
+++ b/ForgeSVN/forgesvn/tests/model/test_svnimplementation.py
@@ -15,8 +15,6 @@
 #       specific language governing permissions and limitations
 #       under the License.
 
-from __future__ import unicode_literals
-from __future__ import absolute_import
 from mock import Mock, patch
 from alluratest.tools import assert_equal
 from tg import app_globals as g
diff --git a/ForgeSVN/forgesvn/tests/test_svn_app.py b/ForgeSVN/forgesvn/tests/test_svn_app.py
index e6d223b..b62a5cf 100644
--- a/ForgeSVN/forgesvn/tests/test_svn_app.py
+++ b/ForgeSVN/forgesvn/tests/test_svn_app.py
@@ -15,8 +15,6 @@
 #       specific language governing permissions and limitations
 #       under the License.
 
-from __future__ import unicode_literals
-from __future__ import absolute_import
 import unittest
 from alluratest.tools import assert_equals
 
diff --git a/ForgeSVN/forgesvn/tests/test_tasks.py b/ForgeSVN/forgesvn/tests/test_tasks.py
index e1e630d..8edb357 100644
--- a/ForgeSVN/forgesvn/tests/test_tasks.py
+++ b/ForgeSVN/forgesvn/tests/test_tasks.py
@@ -17,8 +17,6 @@
 #       specific language governing permissions and limitations
 #       under the License.
 
-from __future__ import unicode_literals
-from __future__ import absolute_import
 import shutil
 import unittest
 import os
diff --git a/ForgeSVN/forgesvn/version.py b/ForgeSVN/forgesvn/version.py
index 927c7dd..8e95ab8 100644
--- a/ForgeSVN/forgesvn/version.py
+++ b/ForgeSVN/forgesvn/version.py
@@ -15,8 +15,6 @@
 #       specific language governing permissions and limitations
 #       under the License.
 
-from __future__ import unicode_literals
-from __future__ import absolute_import
 from six.moves import map
 __version_info__ = (0, 0)
 __version__ = '.'.join(map(str, __version_info__))
diff --git a/ForgeSVN/forgesvn/widgets.py b/ForgeSVN/forgesvn/widgets.py
index 69ce307..c0c880f 100644
--- a/ForgeSVN/forgesvn/widgets.py
+++ b/ForgeSVN/forgesvn/widgets.py
@@ -15,8 +15,6 @@
 #       specific language governing permissions and limitations
 #       under the License.
 
-from __future__ import unicode_literals
-from __future__ import absolute_import
 import re
 
 import ew as ew_core
diff --git a/ForgeSVN/setup.py b/ForgeSVN/setup.py
index dd8dd0e..7a6e061 100644
--- a/ForgeSVN/setup.py
+++ b/ForgeSVN/setup.py
@@ -15,9 +15,6 @@
 #       specific language governing permissions and limitations
 #       under the License.
 
-from __future__ import unicode_literals
-from __future__ import print_function
-from __future__ import absolute_import
 from setuptools import setup, find_packages
 
 from forgesvn.version import __version__
diff --git a/ForgeShortUrl/forgeshorturl/main.py b/ForgeShortUrl/forgeshorturl/main.py
index f03b9b6..5101a86 100644
--- a/ForgeShortUrl/forgeshorturl/main.py
+++ b/ForgeShortUrl/forgeshorturl/main.py
@@ -15,8 +15,6 @@
 #       specific language governing permissions and limitations
 #       under the License.
 
-from __future__ import unicode_literals
-from __future__ import absolute_import
 
 import six
 from tg import expose, validate, redirect, flash, request
diff --git a/ForgeShortUrl/forgeshorturl/model/shorturl.py b/ForgeShortUrl/forgeshorturl/model/shorturl.py
index 0f21bc0..7bb6f4b 100644
--- a/ForgeShortUrl/forgeshorturl/model/shorturl.py
+++ b/ForgeShortUrl/forgeshorturl/model/shorturl.py
@@ -15,8 +15,6 @@
 #       specific language governing permissions and limitations
 #       under the License.
 
-from __future__ import unicode_literals
-from __future__ import absolute_import
 import typing
 import pymongo
 from tg import config
diff --git a/ForgeShortUrl/forgeshorturl/tests/functional/test.py b/ForgeShortUrl/forgeshorturl/tests/functional/test.py
index 718fabb..9bd6bcb 100644
--- a/ForgeShortUrl/forgeshorturl/tests/functional/test.py
+++ b/ForgeShortUrl/forgeshorturl/tests/functional/test.py
@@ -15,8 +15,6 @@
 #       specific language governing permissions and limitations
 #       under the License.
 
-from __future__ import unicode_literals
-from __future__ import absolute_import
 from tg import tmpl_context as c
 from tg import config
 from alluratest.tools import assert_equal
diff --git a/ForgeShortUrl/forgeshorturl/widgets/short_url.py b/ForgeShortUrl/forgeshorturl/widgets/short_url.py
index f35e56a..0094402 100644
--- a/ForgeShortUrl/forgeshorturl/widgets/short_url.py
+++ b/ForgeShortUrl/forgeshorturl/widgets/short_url.py
@@ -15,8 +15,6 @@
 #       specific language governing permissions and limitations
 #       under the License.
 
-from __future__ import unicode_literals
-from __future__ import absolute_import
 from allura.lib.widgets import form_fields as ffw
 
 
diff --git a/ForgeShortUrl/setup.py b/ForgeShortUrl/setup.py
index de4c9b2..7450912 100644
--- a/ForgeShortUrl/setup.py
+++ b/ForgeShortUrl/setup.py
@@ -15,8 +15,6 @@
 #       specific language governing permissions and limitations
 #       under the License.
 
-from __future__ import unicode_literals
-from __future__ import absolute_import
 from setuptools import setup, find_packages
 
 
diff --git a/ForgeTracker/forgetracker/command/fix_discussion.py b/ForgeTracker/forgetracker/command/fix_discussion.py
index 4938222..a0d090d 100644
--- a/ForgeTracker/forgetracker/command/fix_discussion.py
+++ b/ForgeTracker/forgetracker/command/fix_discussion.py
@@ -15,8 +15,6 @@
 #       specific language governing permissions and limitations
 #       under the License.
 
-from __future__ import unicode_literals
-from __future__ import absolute_import
 from bson import ObjectId
 from bson.errors import InvalidId
 from ming.orm import ThreadLocalORMSession
diff --git a/ForgeTracker/forgetracker/config/resources.py b/ForgeTracker/forgetracker/config/resources.py
index b26d4df..c62d4c4 100644
--- a/ForgeTracker/forgetracker/config/resources.py
+++ b/ForgeTracker/forgetracker/config/resources.py
@@ -15,8 +15,6 @@
 #       specific language governing permissions and limitations
 #       under the License.
 
-from __future__ import unicode_literals
-from __future__ import absolute_import
 import pkg_resources
 
 
diff --git a/ForgeTracker/forgetracker/import_support.py b/ForgeTracker/forgetracker/import_support.py
index 89a55cb..498b773 100644
--- a/ForgeTracker/forgetracker/import_support.py
+++ b/ForgeTracker/forgetracker/import_support.py
@@ -15,8 +15,6 @@
 #       specific language governing permissions and limitations
 #       under the License.
 
-from __future__ import unicode_literals
-from __future__ import absolute_import
 import logging
 import json
 from datetime import datetime
diff --git a/ForgeTracker/forgetracker/model/__init__.py b/ForgeTracker/forgetracker/model/__init__.py
index 891d79e..4e0d859 100644
--- a/ForgeTracker/forgetracker/model/__init__.py
+++ b/ForgeTracker/forgetracker/model/__init__.py
@@ -15,5 +15,4 @@
 #       specific language governing permissions and limitations
 #       under the License.
 
-from __future__ import absolute_import
 from .ticket import Globals, Bin, Ticket, TicketAttachment, MovedTicket
diff --git a/ForgeTracker/forgetracker/model/ticket.py b/ForgeTracker/forgetracker/model/ticket.py
index 7033407..e0e3106 100644
--- a/ForgeTracker/forgetracker/model/ticket.py
+++ b/ForgeTracker/forgetracker/model/ticket.py
@@ -15,8 +15,6 @@
 #       specific language governing permissions and limitations
 #       under the License.
 
-from __future__ import unicode_literals
-from __future__ import absolute_import
 import logging
 import six.moves.urllib.request
 import six.moves.urllib.parse
diff --git a/ForgeTracker/forgetracker/plugins.py b/ForgeTracker/forgetracker/plugins.py
index fd017f8..676deb2 100644
--- a/ForgeTracker/forgetracker/plugins.py
+++ b/ForgeTracker/forgetracker/plugins.py
@@ -15,7 +15,6 @@
 #       specific language governing permissions and limitations
 #       under the License.
 
-from __future__ import absolute_import
 import logging
 
 from tg import config
diff --git a/ForgeTracker/forgetracker/search.py b/ForgeTracker/forgetracker/search.py
index 1f0aa2c..47710ff 100644
--- a/ForgeTracker/forgetracker/search.py
+++ b/ForgeTracker/forgetracker/search.py
@@ -14,8 +14,6 @@
 #       KIND, either express or implied.  See the License for the
 #       specific language governing permissions and limitations
 #       under the License.
-from __future__ import unicode_literals
-from __future__ import absolute_import
 from tg import tmpl_context as c
 
 from allura.lib.search import search
diff --git a/ForgeTracker/forgetracker/site_stats.py b/ForgeTracker/forgetracker/site_stats.py
index 5be3662..f9f36ce 100644
--- a/ForgeTracker/forgetracker/site_stats.py
+++ b/ForgeTracker/forgetracker/site_stats.py
@@ -15,8 +15,6 @@
 #       specific language governing permissions and limitations
 #       under the License.
 
-from __future__ import unicode_literals
-from __future__ import absolute_import
 from datetime import datetime, timedelta
 
 from bson import ObjectId
diff --git a/ForgeTracker/forgetracker/tasks.py b/ForgeTracker/forgetracker/tasks.py
index 363c0a4..5ad4214 100644
--- a/ForgeTracker/forgetracker/tasks.py
+++ b/ForgeTracker/forgetracker/tasks.py
@@ -15,8 +15,6 @@
 #       specific language governing permissions and limitations
 #       under the License.
 
-from __future__ import unicode_literals
-from __future__ import absolute_import
 import logging
 from datetime import datetime
 
diff --git a/ForgeTracker/forgetracker/tests/command/test_fix_discussion.py b/ForgeTracker/forgetracker/tests/command/test_fix_discussion.py
index 93add49..7c82519 100644
--- a/ForgeTracker/forgetracker/tests/command/test_fix_discussion.py
+++ b/ForgeTracker/forgetracker/tests/command/test_fix_discussion.py
@@ -15,8 +15,6 @@
 #       specific language governing permissions and limitations
 #       under the License.
 
-from __future__ import unicode_literals
-from __future__ import absolute_import
 from ming.orm import session
 from alluratest.tools import assert_equal, assert_not_equal
 import pkg_resources
diff --git a/ForgeTracker/forgetracker/tests/functional/test_rest.py b/ForgeTracker/forgetracker/tests/functional/test_rest.py
index bc1e0e3..c6d3e77 100644
--- a/ForgeTracker/forgetracker/tests/functional/test_rest.py
+++ b/ForgeTracker/forgetracker/tests/functional/test_rest.py
@@ -15,8 +15,6 @@
 #       specific language governing permissions and limitations
 #       under the License.
 
-from __future__ import unicode_literals
-from __future__ import absolute_import
 from tg import tmpl_context as c
 
 from datadiff.tools import assert_equal
diff --git a/ForgeTracker/forgetracker/tests/functional/test_root.py b/ForgeTracker/forgetracker/tests/functional/test_root.py
index d4b325a..6df39a9 100644
--- a/ForgeTracker/forgetracker/tests/functional/test_root.py
+++ b/ForgeTracker/forgetracker/tests/functional/test_root.py
@@ -16,8 +16,6 @@
 #       KIND, either express or implied.  See the License for the
 #       specific language governing permissions and limitations
 #       under the License.
-from __future__ import unicode_literals
-from __future__ import absolute_import
 from datetime import datetime
 import six.moves.urllib.request
 import six.moves.urllib.parse
@@ -312,7 +310,7 @@ class TestFunctionalController(TrackerTestController):
         assert_true(summary in ticket_view)
         opts = self.subscription_options(ticket_view)
         assert_equal(opts['subscribed'], False)
-        
+
     def test_ticket_get_markdown(self):
         self.new_ticket(summary='my ticket', description='my description')
         response = self.app.get('/bugs/1/get_markdown')
@@ -380,7 +378,7 @@ class TestFunctionalController(TrackerTestController):
 
         """
         forgetracker.model.ticket.Globals.bin_count doesn't do a permission check like corresponding milestone_count
-        
+
         # Private tickets shouldn't be included in counts if user doesn't
         # have read access to private tickets.
         r = self.app.get('/bugs/bin_counts', extra_environ=dict(username=str('*anonymous')))
diff --git a/ForgeTracker/forgetracker/tests/test_app.py b/ForgeTracker/forgetracker/tests/test_app.py
index e2c2b91..2da0c9b 100644
--- a/ForgeTracker/forgetracker/tests/test_app.py
+++ b/ForgeTracker/forgetracker/tests/test_app.py
@@ -15,8 +15,6 @@
 #       specific language governing permissions and limitations
 #       under the License.
 
-from __future__ import unicode_literals
-from __future__ import absolute_import
 import tempfile
 import json
 import operator
diff --git a/ForgeTracker/forgetracker/tests/test_tracker_roles.py b/ForgeTracker/forgetracker/tests/test_tracker_roles.py
index c3bec8b..242646c 100644
--- a/ForgeTracker/forgetracker/tests/test_tracker_roles.py
+++ b/ForgeTracker/forgetracker/tests/test_tracker_roles.py
@@ -15,8 +15,6 @@
 #       specific language governing permissions and limitations
 #       under the License.
 
-from __future__ import unicode_literals
-from __future__ import absolute_import
 from tg import tmpl_context as c, app_globals as g
 
 from alluratest.controller import setup_basic_test, setup_global_objects
diff --git a/ForgeTracker/forgetracker/tests/unit/__init__.py b/ForgeTracker/forgetracker/tests/unit/__init__.py
index 6e79bcc..1ef9b92 100644
--- a/ForgeTracker/forgetracker/tests/unit/__init__.py
+++ b/ForgeTracker/forgetracker/tests/unit/__init__.py
@@ -15,8 +15,6 @@
 #       specific language governing permissions and limitations
 #       under the License.
 
-from __future__ import unicode_literals
-from __future__ import absolute_import
 from tg import tmpl_context as c
 import tg
 from ming.orm.ormsession import ThreadLocalORMSession
diff --git a/ForgeTracker/forgetracker/tests/unit/test_globals_model.py b/ForgeTracker/forgetracker/tests/unit/test_globals_model.py
index 82ec88b..10514cf 100644
--- a/ForgeTracker/forgetracker/tests/unit/test_globals_model.py
+++ b/ForgeTracker/forgetracker/tests/unit/test_globals_model.py
@@ -15,8 +15,6 @@
 #       specific language governing permissions and limitations
 #       under the License.
 
-from __future__ import unicode_literals
-from __future__ import absolute_import
 from datetime import datetime, timedelta
 
 import mock
diff --git a/ForgeTracker/forgetracker/tests/unit/test_milestone_controller.py b/ForgeTracker/forgetracker/tests/unit/test_milestone_controller.py
index f0b09bf..0305900 100644
--- a/ForgeTracker/forgetracker/tests/unit/test_milestone_controller.py
+++ b/ForgeTracker/forgetracker/tests/unit/test_milestone_controller.py
@@ -18,8 +18,6 @@
 #       under the License.
 
 
-from __future__ import unicode_literals
-from __future__ import absolute_import
 from mock import Mock
 from alluratest.tools import assert_equal
 
diff --git a/ForgeTracker/forgetracker/tests/unit/test_root_controller.py b/ForgeTracker/forgetracker/tests/unit/test_root_controller.py
index 2a5031b..7150720 100644
--- a/ForgeTracker/forgetracker/tests/unit/test_root_controller.py
+++ b/ForgeTracker/forgetracker/tests/unit/test_root_controller.py
@@ -15,8 +15,6 @@
 #       specific language governing permissions and limitations
 #       under the License.
 
-from __future__ import unicode_literals
-from __future__ import absolute_import
 import unittest
 
 from mock import Mock, patch
diff --git a/ForgeTracker/forgetracker/tests/unit/test_search.py b/ForgeTracker/forgetracker/tests/unit/test_search.py
index ce28681..9f34a03 100644
--- a/ForgeTracker/forgetracker/tests/unit/test_search.py
+++ b/ForgeTracker/forgetracker/tests/unit/test_search.py
@@ -15,8 +15,6 @@
 #       specific language governing permissions and limitations
 #       under the License.
 
-from __future__ import unicode_literals
-from __future__ import absolute_import
 import mock
 from alluratest.tools import assert_equal
 from forgetracker.search import get_facets, query_filter_choices
diff --git a/ForgeTracker/forgetracker/tests/unit/test_ticket_custom_fields_form.py b/ForgeTracker/forgetracker/tests/unit/test_ticket_custom_fields_form.py
index 2138af6..60576d1 100644
--- a/ForgeTracker/forgetracker/tests/unit/test_ticket_custom_fields_form.py
+++ b/ForgeTracker/forgetracker/tests/unit/test_ticket_custom_fields_form.py
@@ -15,8 +15,6 @@
 #       specific language governing permissions and limitations
 #       under the License.
 
-from __future__ import unicode_literals
-from __future__ import absolute_import
 from ming.orm.ormsession import ThreadLocalORMSession
 from ming.base import Object
 
diff --git a/ForgeTracker/forgetracker/tests/unit/test_ticket_form.py b/ForgeTracker/forgetracker/tests/unit/test_ticket_form.py
index 2de06a9..a11a088 100644
--- a/ForgeTracker/forgetracker/tests/unit/test_ticket_form.py
+++ b/ForgeTracker/forgetracker/tests/unit/test_ticket_form.py
@@ -15,8 +15,6 @@
 #       specific language governing permissions and limitations
 #       under the License.
 
-from __future__ import unicode_literals
-from __future__ import absolute_import
 from ming.orm.ormsession import ThreadLocalORMSession
 
 from tg import tmpl_context as c
diff --git a/ForgeTracker/forgetracker/tests/unit/test_ticket_model.py b/ForgeTracker/forgetracker/tests/unit/test_ticket_model.py
index 112f694..c958094 100644
--- a/ForgeTracker/forgetracker/tests/unit/test_ticket_model.py
+++ b/ForgeTracker/forgetracker/tests/unit/test_ticket_model.py
@@ -15,8 +15,6 @@
 #       specific language governing permissions and limitations
 #       under the License.
 
-from __future__ import unicode_literals
-from __future__ import absolute_import
 from tg import tmpl_context as c
 from datetime import datetime
 import six.moves.urllib.parse
diff --git a/ForgeTracker/forgetracker/tracker_main.py b/ForgeTracker/forgetracker/tracker_main.py
index 689c47f..ab6a513 100644
--- a/ForgeTracker/forgetracker/tracker_main.py
+++ b/ForgeTracker/forgetracker/tracker_main.py
@@ -15,8 +15,6 @@
 #       specific language governing permissions and limitations
 #       under the License.
 
-from __future__ import unicode_literals
-from __future__ import absolute_import
 import logging
 import re
 from datetime import datetime, timedelta
diff --git a/ForgeTracker/forgetracker/version.py b/ForgeTracker/forgetracker/version.py
index 927c7dd..8e95ab8 100644
--- a/ForgeTracker/forgetracker/version.py
+++ b/ForgeTracker/forgetracker/version.py
@@ -15,8 +15,6 @@
 #       specific language governing permissions and limitations
 #       under the License.
 
-from __future__ import unicode_literals
-from __future__ import absolute_import
 from six.moves import map
 __version_info__ = (0, 0)
 __version__ = '.'.join(map(str, __version_info__))
diff --git a/ForgeTracker/forgetracker/widgets/admin.py b/ForgeTracker/forgetracker/widgets/admin.py
index 4e72838..3274ac2 100644
--- a/ForgeTracker/forgetracker/widgets/admin.py
+++ b/ForgeTracker/forgetracker/widgets/admin.py
@@ -15,8 +15,6 @@
 #       specific language governing permissions and limitations
 #       under the License.
 
-from __future__ import unicode_literals
-from __future__ import absolute_import
 import ew.jinja2_ew as ew
 
 from formencode import validators as fev
diff --git a/ForgeTracker/forgetracker/widgets/admin_custom_fields.py b/ForgeTracker/forgetracker/widgets/admin_custom_fields.py
index 676a957..19b55ec 100644
--- a/ForgeTracker/forgetracker/widgets/admin_custom_fields.py
+++ b/ForgeTracker/forgetracker/widgets/admin_custom_fields.py
@@ -15,8 +15,6 @@
 #       specific language governing permissions and limitations
 #       under the License.
 
-from __future__ import unicode_literals
-from __future__ import absolute_import
 import ew as ew_core
 import ew.jinja2_ew as ew
 
diff --git a/ForgeTracker/forgetracker/widgets/bin_form.py b/ForgeTracker/forgetracker/widgets/bin_form.py
index 31df17b..7040ff3 100644
--- a/ForgeTracker/forgetracker/widgets/bin_form.py
+++ b/ForgeTracker/forgetracker/widgets/bin_form.py
@@ -15,8 +15,6 @@
 #       specific language governing permissions and limitations
 #       under the License.
 
-from __future__ import unicode_literals
-from __future__ import absolute_import
 import ew
 from ew import jinja2_ew
 from allura.lib import validators as v
diff --git a/ForgeTracker/forgetracker/widgets/ticket_form.py b/ForgeTracker/forgetracker/widgets/ticket_form.py
index fa1ddd4..0ebdc23 100644
--- a/ForgeTracker/forgetracker/widgets/ticket_form.py
+++ b/ForgeTracker/forgetracker/widgets/ticket_form.py
@@ -15,8 +15,6 @@
 #       specific language governing permissions and limitations
 #       under the License.
 
-from __future__ import unicode_literals
-from __future__ import absolute_import
 
 from tg import tmpl_context as c
 from formencode import validators as fev
diff --git a/ForgeTracker/forgetracker/widgets/ticket_search.py b/ForgeTracker/forgetracker/widgets/ticket_search.py
index ba0be4d..bc65ccd 100644
--- a/ForgeTracker/forgetracker/widgets/ticket_search.py
+++ b/ForgeTracker/forgetracker/widgets/ticket_search.py
@@ -15,8 +15,6 @@
 #       specific language governing permissions and limitations
 #       under the License.
 
-from __future__ import unicode_literals
-from __future__ import absolute_import
 import ew as ew_core
 import ew.jinja2_ew as ew
 
diff --git a/ForgeTracker/setup.py b/ForgeTracker/setup.py
index d6bf211..d3e00cc 100644
--- a/ForgeTracker/setup.py
+++ b/ForgeTracker/setup.py
@@ -15,8 +15,6 @@
 #       specific language governing permissions and limitations
 #       under the License.
 
-from __future__ import unicode_literals
-from __future__ import absolute_import
 from setuptools import setup, find_packages
 
 from forgetracker.version import __version__
diff --git a/ForgeUserStats/forgeuserstats/controllers/userstats.py b/ForgeUserStats/forgeuserstats/controllers/userstats.py
index 36818ae..1cd1b36 100644
--- a/ForgeUserStats/forgeuserstats/controllers/userstats.py
+++ b/ForgeUserStats/forgeuserstats/controllers/userstats.py
@@ -14,8 +14,6 @@
 #       KIND, either express or implied.  See the License for the
 #       specific language governing permissions and limitations
 #       under the License.
-from __future__ import unicode_literals
-from __future__ import absolute_import
 from datetime import datetime
 import re
 
diff --git a/ForgeUserStats/forgeuserstats/main.py b/ForgeUserStats/forgeuserstats/main.py
index 63819c3..a02d26d 100644
--- a/ForgeUserStats/forgeuserstats/main.py
+++ b/ForgeUserStats/forgeuserstats/main.py
@@ -15,8 +15,6 @@
 #       specific language governing permissions and limitations
 #       under the License.
 
-from __future__ import unicode_literals
-from __future__ import absolute_import
 import logging
 from tg import tmpl_context as c
 from datetime import datetime
diff --git a/ForgeUserStats/forgeuserstats/model/stats.py b/ForgeUserStats/forgeuserstats/model/stats.py
index c428c78..74ef6da 100644
--- a/ForgeUserStats/forgeuserstats/model/stats.py
+++ b/ForgeUserStats/forgeuserstats/model/stats.py
@@ -15,8 +15,6 @@
 #       specific language governing permissions and limitations
 #       under the License.
 
-from __future__ import unicode_literals
-from __future__ import absolute_import
 from ming.orm import FieldProperty
 from ming import schema as S
 from datetime import datetime, timedelta
diff --git a/ForgeUserStats/forgeuserstats/tests/test_model.py b/ForgeUserStats/forgeuserstats/tests/test_model.py
index 7156bb9..0d7bcba 100644
--- a/ForgeUserStats/forgeuserstats/tests/test_model.py
+++ b/ForgeUserStats/forgeuserstats/tests/test_model.py
@@ -15,8 +15,6 @@
 #       specific language governing permissions and limitations
 #       under the License.
 
-from __future__ import unicode_literals
-from __future__ import absolute_import
 import pkg_resources
 import unittest
 from datetime import datetime, timedelta
diff --git a/ForgeUserStats/forgeuserstats/tests/test_stats.py b/ForgeUserStats/forgeuserstats/tests/test_stats.py
index 6ba171f..aa08385 100644
--- a/ForgeUserStats/forgeuserstats/tests/test_stats.py
+++ b/ForgeUserStats/forgeuserstats/tests/test_stats.py
@@ -15,8 +15,6 @@
 #       specific language governing permissions and limitations
 #       under the License.
 
-from __future__ import unicode_literals
-from __future__ import absolute_import
 import pkg_resources
 import unittest
 
diff --git a/ForgeUserStats/forgeuserstats/version.py b/ForgeUserStats/forgeuserstats/version.py
index 927c7dd..8e95ab8 100644
--- a/ForgeUserStats/forgeuserstats/version.py
+++ b/ForgeUserStats/forgeuserstats/version.py
@@ -15,8 +15,6 @@
 #       specific language governing permissions and limitations
 #       under the License.
 
-from __future__ import unicode_literals
-from __future__ import absolute_import
 from six.moves import map
 __version_info__ = (0, 0)
 __version__ = '.'.join(map(str, __version_info__))
diff --git a/ForgeUserStats/forgeuserstats/widgets/forms.py b/ForgeUserStats/forgeuserstats/widgets/forms.py
index dfdbd96..a807e8c 100644
--- a/ForgeUserStats/forgeuserstats/widgets/forms.py
+++ b/ForgeUserStats/forgeuserstats/widgets/forms.py
@@ -15,8 +15,6 @@
 #       specific language governing permissions and limitations
 #       under the License.
 
-from __future__ import unicode_literals
-from __future__ import absolute_import
 from allura.lib.widgets.forms import ForgeForm
 
 import ew as ew_core
diff --git a/ForgeUserStats/setup.py b/ForgeUserStats/setup.py
index 09a870a..1ad5c3a 100644
--- a/ForgeUserStats/setup.py
+++ b/ForgeUserStats/setup.py
@@ -15,8 +15,6 @@
 #       specific language governing permissions and limitations
 #       under the License.
 
-from __future__ import unicode_literals
-from __future__ import absolute_import
 from setuptools import setup, find_packages
 
 from forgeuserstats.version import __version__
diff --git a/ForgeWiki/forgewiki/converters.py b/ForgeWiki/forgewiki/converters.py
index a598cfe..8373d8c 100644
--- a/ForgeWiki/forgewiki/converters.py
+++ b/ForgeWiki/forgewiki/converters.py
@@ -15,8 +15,6 @@
 #       specific language governing permissions and limitations
 #       under the License.
 
-from __future__ import unicode_literals
-from __future__ import absolute_import
 import re
 from bs4 import BeautifulSoup
 import six
diff --git a/ForgeWiki/forgewiki/model/__init__.py b/ForgeWiki/forgewiki/model/__init__.py
index e638f51..9a9a692 100644
--- a/ForgeWiki/forgewiki/model/__init__.py
+++ b/ForgeWiki/forgewiki/model/__init__.py
@@ -15,5 +15,4 @@
 #       specific language governing permissions and limitations
 #       under the License.
 
-from __future__ import absolute_import
 from .wiki import Page, WikiAttachment, Globals, PageHistory
diff --git a/ForgeWiki/forgewiki/model/wiki.py b/ForgeWiki/forgewiki/model/wiki.py
index 5d14871..ca7f47d 100644
--- a/ForgeWiki/forgewiki/model/wiki.py
+++ b/ForgeWiki/forgewiki/model/wiki.py
@@ -15,8 +15,6 @@
 #       specific language governing permissions and limitations
 #       under the License.
 
-from __future__ import unicode_literals
-from __future__ import absolute_import
 from datetime import datetime
 import difflib
 import os
diff --git a/ForgeWiki/forgewiki/tests/functional/test_rest.py b/ForgeWiki/forgewiki/tests/functional/test_rest.py
index 2edcd2a..c8967b8 100644
--- a/ForgeWiki/forgewiki/tests/functional/test_rest.py
+++ b/ForgeWiki/forgewiki/tests/functional/test_rest.py
@@ -17,8 +17,6 @@
 #       specific language governing permissions and limitations
 #       under the License.
 
-from __future__ import unicode_literals
-from __future__ import absolute_import
 import json
 from io import open
 
diff --git a/ForgeWiki/forgewiki/tests/functional/test_root.py b/ForgeWiki/forgewiki/tests/functional/test_root.py
index 5b98fbc..b29765d 100644
--- a/ForgeWiki/forgewiki/tests/functional/test_root.py
+++ b/ForgeWiki/forgewiki/tests/functional/test_root.py
@@ -17,9 +17,6 @@
 #       specific language governing permissions and limitations
 #       under the License.
 
-from __future__ import unicode_literals
-from __future__ import print_function
-from __future__ import absolute_import
 import os
 from io import BytesIO
 import allura
@@ -348,7 +345,7 @@ class TestRootController(TestController):
                                             Now hit your wiki a few times from a browser. Initially, it will be dead slow, as it is trying to build thumbnails for the images. And it will time out, a lot. Keep hitting reload, until it works.
 
                                             **Note:** The logo shown in the sidebar is no longer stored as an object in the wiki (as it was in the Hosted App installation). Rather save it as a regular file, then edit LocalSettings.php, adding
-                                            
+
                                             <script>alert(1)</script>""")
         self.app.post('/wiki/testdiff/update', params=d)
         response = self.app.get('/wiki/testdiff/diff?v1=1&v2=2')
diff --git a/ForgeWiki/forgewiki/tests/test_app.py b/ForgeWiki/forgewiki/tests/test_app.py
index 65e472c..7d7a11c 100644
--- a/ForgeWiki/forgewiki/tests/test_app.py
+++ b/ForgeWiki/forgewiki/tests/test_app.py
@@ -15,8 +15,6 @@
 #       specific language governing permissions and limitations
 #       under the License.
 
-from __future__ import unicode_literals
-from __future__ import absolute_import
 import datetime
 import tempfile
 import json
diff --git a/ForgeWiki/forgewiki/tests/test_converters.py b/ForgeWiki/forgewiki/tests/test_converters.py
index bd8fa4d..4ec45ce 100644
--- a/ForgeWiki/forgewiki/tests/test_converters.py
+++ b/ForgeWiki/forgewiki/tests/test_converters.py
@@ -15,8 +15,6 @@
 #       specific language governing permissions and limitations
 #       under the License.
 
-from __future__ import unicode_literals
-from __future__ import absolute_import
 
 from unittest import skipIf
 
diff --git a/ForgeWiki/forgewiki/tests/test_models.py b/ForgeWiki/forgewiki/tests/test_models.py
index 44fe2e0..f18fd9c 100644
--- a/ForgeWiki/forgewiki/tests/test_models.py
+++ b/ForgeWiki/forgewiki/tests/test_models.py
@@ -15,8 +15,6 @@
 #       specific language governing permissions and limitations
 #       under the License.
 
-from __future__ import unicode_literals
-from __future__ import absolute_import
 from tg import tmpl_context as c
 from ming.orm import session
 
diff --git a/ForgeWiki/forgewiki/tests/test_wiki_roles.py b/ForgeWiki/forgewiki/tests/test_wiki_roles.py
index d7bd426..605c4ce 100644
--- a/ForgeWiki/forgewiki/tests/test_wiki_roles.py
+++ b/ForgeWiki/forgewiki/tests/test_wiki_roles.py
@@ -15,8 +15,6 @@
 #       specific language governing permissions and limitations
 #       under the License.
 
-from __future__ import unicode_literals
-from __future__ import absolute_import
 from tg import tmpl_context as c, app_globals as g
 
 from alluratest.tools import assert_equal
diff --git a/ForgeWiki/forgewiki/version.py b/ForgeWiki/forgewiki/version.py
index 927c7dd..8e95ab8 100644
--- a/ForgeWiki/forgewiki/version.py
+++ b/ForgeWiki/forgewiki/version.py
@@ -15,8 +15,6 @@
 #       specific language governing permissions and limitations
 #       under the License.
 
-from __future__ import unicode_literals
-from __future__ import absolute_import
 from six.moves import map
 __version_info__ = (0, 0)
 __version__ = '.'.join(map(str, __version_info__))
diff --git a/ForgeWiki/forgewiki/wiki_main.py b/ForgeWiki/forgewiki/wiki_main.py
index 3b8af16..8c6b46f 100644
--- a/ForgeWiki/forgewiki/wiki_main.py
+++ b/ForgeWiki/forgewiki/wiki_main.py
@@ -15,8 +15,6 @@
 #       specific language governing permissions and limitations
 #       under the License.
 
-from __future__ import unicode_literals
-from __future__ import absolute_import
 import json
 import logging
 import os
diff --git a/ForgeWiki/setup.py b/ForgeWiki/setup.py
index 626465a..76db941 100644
--- a/ForgeWiki/setup.py
+++ b/ForgeWiki/setup.py
@@ -15,8 +15,6 @@
 #       specific language governing permissions and limitations
 #       under the License.
 
-from __future__ import unicode_literals
-from __future__ import absolute_import
 from setuptools import setup, find_packages
 
 from forgewiki.version import __version__
diff --git a/fuse/accessfs.py b/fuse/accessfs.py
index 0eb35f8..5e66e3c 100644
--- a/fuse/accessfs.py
+++ b/fuse/accessfs.py
@@ -17,9 +17,6 @@
 #       specific language governing permissions and limitations
 #       under the License.
 
-from __future__ import unicode_literals
-from __future__ import print_function
-from __future__ import absolute_import
 import os
 import json
 import six.moves.urllib.request
diff --git a/scripts/ApacheAccessHandler.py b/scripts/ApacheAccessHandler.py
index afe928a..28782c1 100644
--- a/scripts/ApacheAccessHandler.py
+++ b/scripts/ApacheAccessHandler.py
@@ -29,8 +29,6 @@ this authorization code without Allura set up and configured on the git host.
 """
 
 
-from __future__ import unicode_literals
-from __future__ import absolute_import
 from mod_python import apache
 import os
 import json
diff --git a/scripts/add_user_to_group.py b/scripts/add_user_to_group.py
index 8c9a757..f4601dc 100644
--- a/scripts/add_user_to_group.py
+++ b/scripts/add_user_to_group.py
@@ -39,8 +39,6 @@ Example:
 
 """
 
-from __future__ import unicode_literals
-from __future__ import absolute_import
 
 import logging
 
diff --git a/scripts/changelog.py b/scripts/changelog.py
index 87c4c07..76ef2fe 100755
--- a/scripts/changelog.py
+++ b/scripts/changelog.py
@@ -17,9 +17,6 @@
 #       specific language governing permissions and limitations
 #       under the License.
 
-from __future__ import unicode_literals
-from __future__ import print_function
-from __future__ import absolute_import
 import sys
 import re
 import git
diff --git a/scripts/create-allura-sitemap.py b/scripts/create-allura-sitemap.py
index 30164db..7f76f6b 100644
--- a/scripts/create-allura-sitemap.py
+++ b/scripts/create-allura-sitemap.py
@@ -15,8 +15,6 @@
 #       specific language governing permissions and limitations
 #       under the License.
 
-from __future__ import unicode_literals
-from __future__ import absolute_import
 from allura.scripts.create_sitemap_files import CreateSitemapFiles
 
 # this file exists for backwards compatibility
diff --git a/scripts/migrations/013-update-ordinals.py b/scripts/migrations/013-update-ordinals.py
index 94b1a43..0568fa0 100644
--- a/scripts/migrations/013-update-ordinals.py
+++ b/scripts/migrations/013-update-ordinals.py
@@ -15,8 +15,6 @@
 #       specific language governing permissions and limitations
 #       under the License.
 
-from __future__ import unicode_literals
-from __future__ import absolute_import
 import sys
 import logging
 
diff --git a/scripts/migrations/015-add-neighborhood_id-to-blog-posts.py b/scripts/migrations/015-add-neighborhood_id-to-blog-posts.py
index e1edca2..1fa8542 100644
--- a/scripts/migrations/015-add-neighborhood_id-to-blog-posts.py
+++ b/scripts/migrations/015-add-neighborhood_id-to-blog-posts.py
@@ -15,8 +15,6 @@
 #       specific language governing permissions and limitations
 #       under the License.
 
-from __future__ import unicode_literals
-from __future__ import absolute_import
 import logging
 
 from tg import tmpl_context as c
diff --git a/scripts/migrations/018-add-svn-checkout-url.py b/scripts/migrations/018-add-svn-checkout-url.py
index e865cc6..2a5469c 100644
--- a/scripts/migrations/018-add-svn-checkout-url.py
+++ b/scripts/migrations/018-add-svn-checkout-url.py
@@ -15,8 +15,6 @@
 #       specific language governing permissions and limitations
 #       under the License.
 
-from __future__ import unicode_literals
-from __future__ import absolute_import
 from allura import model as M
 from ming.orm import ThreadLocalORMSession
 
diff --git a/scripts/migrations/020-remove-wiki-title-slashes.py b/scripts/migrations/020-remove-wiki-title-slashes.py
index 54b5049..41cf3d4 100644
--- a/scripts/migrations/020-remove-wiki-title-slashes.py
+++ b/scripts/migrations/020-remove-wiki-title-slashes.py
@@ -15,9 +15,6 @@
 #       specific language governing permissions and limitations
 #       under the License.
 
-from __future__ import unicode_literals
-from __future__ import print_function
-from __future__ import absolute_import
 import logging
 
 from tg import tmpl_context as c
diff --git a/scripts/migrations/022-change-anon-display-name.py b/scripts/migrations/022-change-anon-display-name.py
index fe378d4..dbe9911 100644
--- a/scripts/migrations/022-change-anon-display-name.py
+++ b/scripts/migrations/022-change-anon-display-name.py
@@ -15,8 +15,6 @@
 #       specific language governing permissions and limitations
 #       under the License.
 
-from __future__ import unicode_literals
-from __future__ import absolute_import
 from ming.orm.ormsession import ThreadLocalORMSession
 from allura import model as M
 
diff --git a/scripts/migrations/024-migrate-custom-profile-text.py b/scripts/migrations/024-migrate-custom-profile-text.py
index 51ccd43..060b70e 100644
--- a/scripts/migrations/024-migrate-custom-profile-text.py
+++ b/scripts/migrations/024-migrate-custom-profile-text.py
@@ -15,8 +15,6 @@
 #       specific language governing permissions and limitations
 #       under the License.
 
-from __future__ import unicode_literals
-from __future__ import absolute_import
 import logging
 import re
 
diff --git a/scripts/migrations/025-add-is-nbhd-project.py b/scripts/migrations/025-add-is-nbhd-project.py
index fcf7cb0..ca3fc77 100644
--- a/scripts/migrations/025-add-is-nbhd-project.py
+++ b/scripts/migrations/025-add-is-nbhd-project.py
@@ -15,8 +15,6 @@
 #       specific language governing permissions and limitations
 #       under the License.
 
-from __future__ import unicode_literals
-from __future__ import absolute_import
 import logging
 
 from allura import model as M
diff --git a/scripts/migrations/026-install-activity-tool.py b/scripts/migrations/026-install-activity-tool.py
index ac876aa..c7eb39f 100644
--- a/scripts/migrations/026-install-activity-tool.py
+++ b/scripts/migrations/026-install-activity-tool.py
@@ -15,8 +15,6 @@
 #       specific language governing permissions and limitations
 #       under the License.
 
-from __future__ import unicode_literals
-from __future__ import absolute_import
 import logging
 
 from ming.orm import ThreadLocalORMSession
diff --git a/scripts/migrations/027-change-ticket-write-permissions.py b/scripts/migrations/027-change-ticket-write-permissions.py
index 5e909b1..3c6877a 100644
--- a/scripts/migrations/027-change-ticket-write-permissions.py
+++ b/scripts/migrations/027-change-ticket-write-permissions.py
@@ -15,8 +15,6 @@
 #       specific language governing permissions and limitations
 #       under the License.
 
-from __future__ import unicode_literals
-from __future__ import absolute_import
 import logging
 from ming.orm import ThreadLocalORMSession
 
diff --git a/scripts/migrations/028-remove-svn-trees.py b/scripts/migrations/028-remove-svn-trees.py
index dbf3ee2..c733d82 100644
--- a/scripts/migrations/028-remove-svn-trees.py
+++ b/scripts/migrations/028-remove-svn-trees.py
@@ -15,9 +15,6 @@
 #       specific language governing permissions and limitations
 #       under the License.
 
-from __future__ import unicode_literals
-from __future__ import print_function
-from __future__ import absolute_import
 import logging
 
 from ming.orm import ThreadLocalORMSession
diff --git a/scripts/migrations/029-set-mailbox-queue_empty.py b/scripts/migrations/029-set-mailbox-queue_empty.py
index 00a2835..c2075b7 100644
--- a/scripts/migrations/029-set-mailbox-queue_empty.py
+++ b/scripts/migrations/029-set-mailbox-queue_empty.py
@@ -15,8 +15,6 @@
 #       specific language governing permissions and limitations
 #       under the License.
 
-from __future__ import unicode_literals
-from __future__ import absolute_import
 import logging
 
 from allura import model as M
diff --git a/scripts/migrations/031-set-user-pending-to-false.py b/scripts/migrations/031-set-user-pending-to-false.py
index d39b357..8ea5161 100644
--- a/scripts/migrations/031-set-user-pending-to-false.py
+++ b/scripts/migrations/031-set-user-pending-to-false.py
@@ -15,9 +15,6 @@
 #       specific language governing permissions and limitations
 #       under the License.
 
-from __future__ import unicode_literals
-from __future__ import print_function
-from __future__ import absolute_import
 import logging
 
 from ming.odm import ThreadLocalORMSession, state
diff --git a/scripts/migrations/032-subscribe-merge-request-submitters.py b/scripts/migrations/032-subscribe-merge-request-submitters.py
index 0430617..bb75846 100644
--- a/scripts/migrations/032-subscribe-merge-request-submitters.py
+++ b/scripts/migrations/032-subscribe-merge-request-submitters.py
@@ -15,9 +15,6 @@
 #       specific language governing permissions and limitations
 #       under the License.
 
-from __future__ import unicode_literals
-from __future__ import print_function
-from __future__ import absolute_import
 import logging
 
 from ming.odm import ThreadLocalORMSession, state
diff --git a/scripts/migrations/033-change-comment-anon-permissions.py b/scripts/migrations/033-change-comment-anon-permissions.py
index 62bb3e2..b97cce4 100644
--- a/scripts/migrations/033-change-comment-anon-permissions.py
+++ b/scripts/migrations/033-change-comment-anon-permissions.py
@@ -15,9 +15,6 @@
 #       specific language governing permissions and limitations
 #       under the License.
 
-from __future__ import unicode_literals
-from __future__ import print_function
-from __future__ import absolute_import
 import sys
 import logging
 from ming.orm import ThreadLocalORMSession, session
@@ -43,7 +40,7 @@ def arguments():
 
 def main():
     args = arguments()
-    
+
     c.project = None # to avoid error in Artifact.__mongometa__.before_save
     project = M.Project.query.get(shortname=args.shortname)
     tool = project.app_config_by_tool_type(args.toolname)
diff --git a/scripts/migrations/034-update_subscriptions_ticket_and_mr_titles.py b/scripts/migrations/034-update_subscriptions_ticket_and_mr_titles.py
index 16f5cf0..94904c8 100644
--- a/scripts/migrations/034-update_subscriptions_ticket_and_mr_titles.py
+++ b/scripts/migrations/034-update_subscriptions_ticket_and_mr_titles.py
@@ -15,8 +15,6 @@
 #       specific language governing permissions and limitations
 #       under the License.
 
-from __future__ import unicode_literals
-from __future__ import absolute_import
 import logging
 import re
 import sys
diff --git a/scripts/new_ticket.py b/scripts/new_ticket.py
index 0c16169..e87cf6e 100755
--- a/scripts/new_ticket.py
+++ b/scripts/new_ticket.py
@@ -16,9 +16,6 @@
 #       specific language governing permissions and limitations
 #       under the License.
 
-from __future__ import unicode_literals
-from __future__ import print_function
-from __future__ import absolute_import
 import sys
 import argparse
 import requests
diff --git a/scripts/perf/call_count.py b/scripts/perf/call_count.py
index 830f493..18b06a2 100755
--- a/scripts/perf/call_count.py
+++ b/scripts/perf/call_count.py
@@ -17,9 +17,6 @@
 #       specific language governing permissions and limitations
 #       under the License.
 
-from __future__ import unicode_literals
-from __future__ import print_function
-from __future__ import absolute_import
 import argparse
 import json
 import logging
diff --git a/scripts/perf/generate-projects.py b/scripts/perf/generate-projects.py
index d03e68f..8ac7a32 100644
--- a/scripts/perf/generate-projects.py
+++ b/scripts/perf/generate-projects.py
@@ -15,9 +15,6 @@
 #       specific language governing permissions and limitations
 #       under the License.
 
-from __future__ import unicode_literals
-from __future__ import print_function
-from __future__ import absolute_import
 import re
 from ming.odm import ThreadLocalORMSession
 from allura import model as M
diff --git a/scripts/perf/load-up-forum.py b/scripts/perf/load-up-forum.py
index 92e6710..e768f59 100644
--- a/scripts/perf/load-up-forum.py
+++ b/scripts/perf/load-up-forum.py
@@ -16,8 +16,6 @@
 #       under the License.
 
 
-from __future__ import unicode_literals
-from __future__ import absolute_import
 import logging
 import uuid
 from ming.orm import ThreadLocalORMSession, session
diff --git a/scripts/perf/parse_timings.py b/scripts/perf/parse_timings.py
index 8d32c59..df4a9da 100644
--- a/scripts/perf/parse_timings.py
+++ b/scripts/perf/parse_timings.py
@@ -17,9 +17,6 @@
 #       specific language governing permissions and limitations
 #       under the License.
 
-from __future__ import unicode_literals
-from __future__ import print_function
-from __future__ import absolute_import
 import json
 from datetime import datetime
 import argparse
diff --git a/scripts/perf/sstress.py b/scripts/perf/sstress.py
index 546025e..28e74fc 100644
--- a/scripts/perf/sstress.py
+++ b/scripts/perf/sstress.py
@@ -21,9 +21,6 @@
 sstress - an SMTP stress testing tool
 '''
 
-from __future__ import unicode_literals
-from __future__ import print_function
-from __future__ import absolute_import
 import smtplib
 import threading
 import time
diff --git a/scripts/perf/test_git_lcd.py b/scripts/perf/test_git_lcd.py
index 6993f39..5a49c3d 100644
--- a/scripts/perf/test_git_lcd.py
+++ b/scripts/perf/test_git_lcd.py
@@ -17,9 +17,6 @@
 #       specific language governing permissions and limitations
 #       under the License.
 
-from __future__ import unicode_literals
-from __future__ import print_function
-from __future__ import absolute_import
 import sys
 import os
 from glob import glob
diff --git a/scripts/project-import.py b/scripts/project-import.py
index fc09a78..d67c0dc 100644
--- a/scripts/project-import.py
+++ b/scripts/project-import.py
@@ -15,8 +15,6 @@
 #       specific language governing permissions and limitations
 #       under the License.
 
-from __future__ import unicode_literals
-from __future__ import absolute_import
 import json
 import logging
 import sys
diff --git a/scripts/publicize-neighborhood.py b/scripts/publicize-neighborhood.py
index fcc4d1f..b2d208c 100644
--- a/scripts/publicize-neighborhood.py
+++ b/scripts/publicize-neighborhood.py
@@ -15,8 +15,6 @@
 #       specific language governing permissions and limitations
 #       under the License.
 
-from __future__ import unicode_literals
-from __future__ import absolute_import
 import logging
 import sys
 
diff --git a/scripts/rethumb.py b/scripts/rethumb.py
index 715c199..83abc82 100644
--- a/scripts/rethumb.py
+++ b/scripts/rethumb.py
@@ -15,8 +15,6 @@
 #       specific language governing permissions and limitations
 #       under the License.
 
-from __future__ import unicode_literals
-from __future__ import absolute_import
 import sys
 
 import PIL
diff --git a/scripts/scrub-allura-data.py b/scripts/scrub-allura-data.py
index 9aeb054..226ea13 100644
--- a/scripts/scrub-allura-data.py
+++ b/scripts/scrub-allura-data.py
@@ -15,8 +15,6 @@
 #       specific language governing permissions and limitations
 #       under the License.
 
-from __future__ import unicode_literals
-from __future__ import absolute_import
 import logging
 import sys
 
diff --git a/scripts/teamforge-import.py b/scripts/teamforge-import.py
index 22e91f0..424c5d2 100644
--- a/scripts/teamforge-import.py
+++ b/scripts/teamforge-import.py
@@ -15,9 +15,6 @@
 #       specific language governing permissions and limitations
 #       under the License.
 
-from __future__ import unicode_literals
-from __future__ import print_function
-from __future__ import absolute_import
 import logging
 from getpass import getpass
 from optparse import OptionParser
diff --git a/scripts/trac_export.py b/scripts/trac_export.py
index ae0e112..ac90b17 100755
--- a/scripts/trac_export.py
+++ b/scripts/trac_export.py
@@ -17,8 +17,6 @@
 #       specific language governing permissions and limitations
 #       under the License.
 
-from __future__ import unicode_literals
-from __future__ import absolute_import
 if __name__ == '__main__':
     from allura.scripts.trac_export import main
     main()
diff --git a/scripts/trac_export_wiki.py b/scripts/trac_export_wiki.py
index 8cf4089..650206b 100755
--- a/scripts/trac_export_wiki.py
+++ b/scripts/trac_export_wiki.py
@@ -17,8 +17,6 @@
 #       specific language governing permissions and limitations
 #       under the License.
 
-from __future__ import unicode_literals
-from __future__ import absolute_import
 import sys
 from optparse import OptionParser
 import codecs
diff --git a/scripts/trac_import.py b/scripts/trac_import.py
index 5f14de7..5442d83 100644
--- a/scripts/trac_import.py
+++ b/scripts/trac_import.py
@@ -15,9 +15,6 @@
 #       specific language governing permissions and limitations
 #       under the License.
 
-from __future__ import unicode_literals
-from __future__ import print_function
-from __future__ import absolute_import
 import json
 from optparse import OptionParser
 
diff --git a/scripts/wiki-copy.py b/scripts/wiki-copy.py
index b931e42..612bd8c 100644
--- a/scripts/wiki-copy.py
+++ b/scripts/wiki-copy.py
@@ -17,9 +17,6 @@
 #       specific language governing permissions and limitations
 #       under the License.
 
-from __future__ import unicode_literals
-from __future__ import print_function
-from __future__ import absolute_import
 import os
 import sys
 import six.moves.urllib.request