Bundle an internal version of six for future compatibility.

Review Request #11092 — Created July 22, 2020 and submitted

Information

Django Evolution
master

Reviewers

Django 3.0 and higher do not include django.utils.six, since they've
moved entirely onto Python 3. In order to provide compatibility going
forward, Django Evolution now bundles its own copy of six as
django_evolution.compat.six, and all imports have been updated
accordingly.

Unit tests pass for all supported versions of Python and Django
(1.6 through 2.2 — more work is required for 3.0 support).

Summary ID
Bundle an internal version of six for future compatibility.
Django 3.0 and higher do not include `django.utils.six`, since they've moved entirely onto Python 3. In order to provide compatibility going forward, Django Evolution now bundles its own copy of `six` as `django_evolution.compat.six`, and all imports have been updated accordingly.
c7878369db82a70c29023c98f9a8fe05018eecbd
Description From Last Updated

Wouldn't it be better to just add a dependency on the upstream six?

daviddavid

E501 line too long (80 > 79 characters)

reviewbotreviewbot

E305 expected 2 blank lines after class or function definition, found 1

reviewbotreviewbot

E501 line too long (91 > 79 characters)

reviewbotreviewbot

E501 line too long (93 > 79 characters)

reviewbotreviewbot

E501 line too long (91 > 79 characters)

reviewbotreviewbot

E501 line too long (118 > 79 characters)

reviewbotreviewbot

E501 line too long (110 > 79 characters)

reviewbotreviewbot

E501 line too long (87 > 79 characters)

reviewbotreviewbot

E501 line too long (96 > 79 characters)

reviewbotreviewbot

E501 line too long (80 > 79 characters)

reviewbotreviewbot

E501 line too long (80 > 79 characters)

reviewbotreviewbot

E501 line too long (82 > 79 characters)

reviewbotreviewbot

E501 line too long (82 > 79 characters)

reviewbotreviewbot

E501 line too long (82 > 79 characters)

reviewbotreviewbot

E501 line too long (96 > 79 characters)

reviewbotreviewbot

E501 line too long (80 > 79 characters)

reviewbotreviewbot

E501 line too long (86 > 79 characters)

reviewbotreviewbot

E501 line too long (80 > 79 characters)

reviewbotreviewbot

E501 line too long (86 > 79 characters)

reviewbotreviewbot

E501 line too long (83 > 79 characters)

reviewbotreviewbot

E501 line too long (84 > 79 characters)

reviewbotreviewbot

E501 line too long (90 > 79 characters)

reviewbotreviewbot

E501 line too long (86 > 79 characters)

reviewbotreviewbot

E501 line too long (92 > 79 characters)

reviewbotreviewbot

E501 line too long (92 > 79 characters)

reviewbotreviewbot

E501 line too long (98 > 79 characters)

reviewbotreviewbot

E501 line too long (83 > 79 characters)

reviewbotreviewbot

E305 expected 2 blank lines after class or function definition, found 1

reviewbotreviewbot

E501 line too long (82 > 79 characters)

reviewbotreviewbot

F821 undefined name '__spec__'

reviewbotreviewbot
chipx86
Review request changed
Change Summary:

Actually add the six module.

Commits:
Summary ID
Bundle an internal version of six for future compatibility.
Django 3.0 and higher do not include `django.utils.six`, since they've moved entirely onto Python 3. In order to provide compatibility going forward, Django Evolution now bundles its own copy of `six` as `django_evolution.compat.six`, and all imports have been updated accordingly.
060a814c255225424b5387276c2862a892456dc0
Bundle an internal version of six for future compatibility.
Django 3.0 and higher do not include `django.utils.six`, since they've moved entirely onto Python 3. In order to provide compatibility going forward, Django Evolution now bundles its own copy of `six` as `django_evolution.compat.six`, and all imports have been updated accordingly.
c7878369db82a70c29023c98f9a8fe05018eecbd

Checks run (1 failed, 1 succeeded)

flake8 failed.
JSHint passed.

flake8

david
  1. 
      
  2. Show all issues

    Wouldn't it be better to just add a dependency on the upstream six?

    1. I debated this. Solid "maybe" with a lean toward "no for now."

      We hit that issue before with a system version of six taking precedence from a package, and wrecking havoc when a later system update replaced it with an older version than what some dependency required. I'm a bit weary of system packages outright breaking things for us again because of this dependency.

    2. Makes sense.

  3. 
      
david
  1. Ship It!
  2. 
      
chipx86
Review request changed
Status:
Completed
Change Summary:
Pushed to master (532a183)