Skip to content

Python 3 todo list #5

@hayd

Description

@hayd

I've broken up python 3 migration (#1) into the following independent tasks.

Fix the (python 2) skipped tests see #3:

  • mysql (this just needs travis to install it I think this is no big deal, i.e. just a line to .travis.yml)
  • test command line (uses PIPE atm which doesn't work on py2.6)
  • test _keywords
  • skip MediaWikiArticle
  • I think there is a couple more from travis passing python 2 tests #3 (search for FIXME and TODO)

Python 3 stuff

test files passing on python 3

e.g. via nosetests test/test_xx.py

General stuff

  • use a single README (probably an rst is best)
  • add a MANIFEST.in - burn with fire the current os.walk stuff (other files?)
  • grab version number from the init file (rather than the pattern installation)
  • style is a bit random for importing py3 stuff atm (my fault) should be more consistent
  • remove testing suite functions (just use test_main).
  • some tests are pretty flaky (ie. numbers changing)
  • remove utf-8 print hack added to the examples (due to __future__ print_statement being sensitive to unicode) i.e. make all the things unicode. See Unicode all the things #12
  • some tests are ombscurified by being so class based (although some which are still not very dry), atm I prefixed these with Abstract... but they should probably be ABC (the key is they can't start with Test otherwise nose etc tries to run them - and fails).
  • javascript tests (?) currently not run - unclear if do they do anything?!
  • add examples to tests (e.g. have just run all the example py files, no assertions just running... but potentially could add some asserts?) - I nearly have done this.
  • work out which dependancies can stop being vendorized (see below)
  • depreciation messages of uses of dependancies (which have been updated), see travis/nose output
  • add travis, coveralls, landscape (sign up with pattern & pattern3 gh accounts and add this repo)
  • add banner for the above into README
  • pep8/docformatter all the things (this should be simultaneously merged with clips/pattern, otherwise merging in work to clips will be very very difficult ???)
  • decide on when this can be merged back upstream (IMO this should be asap, we don't require py3 to be ready just that py2 still works... and a quick pep8 storm :) )

Performace

  • come up with some benchmarks to compare python 2 and 3 (and potentially the old code base)
  • profile and see what can be improved...

Metadata

Metadata

Assignees

No one assigned

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions