• 
      

    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)