Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

All singing all dancing Python 3 #5

Open
warsaw opened this issue Sep 14, 2015 · 11 comments
Open

All singing all dancing Python 3 #5

warsaw opened this issue Sep 14, 2015 · 11 comments
Assignees
Milestone

Comments

@warsaw
Copy link
Collaborator

warsaw commented Sep 14, 2015

I think dirtbike should be pure unadulterated Python 3, with 3.4 as a minimum requirement. All mod cons! What do you think?

@paulproteus
Copy link
Owner

I think that's fine with me! What I'd like to see then is:

  • README indicating as much, and
  • Test suite updated accordingly.

@warsaw
Copy link
Collaborator Author

warsaw commented Sep 14, 2015

I'm inclined to use tox and nose2 for testing. nose2 has a great test runner and tox will keep us honest with Python 3.4 and 3.5 (and future Python 3's). I have a lot of experience with them and like them a lot. If you're cool with that, I'll look at converting tests.sh.

@paulproteus
Copy link
Owner

Fine with me!​

@paulproteus
Copy link
Owner

Note also my ridiculous undocumented hacks in .travis.yml to turn Ubuntu 12.04 into (basically) Debian jessie, which serves as the source of a package to test against (python-six, chosen solely for simplicity).

Do we need to be able to convert installed Python 2.7 packages into wheels, too? If so, we should think this through I suppose.

@paulproteus
Copy link
Owner

The intended purpose of this tool is to support the python-pip package in Ubuntu & Debian, so I'm inclined to do whatever best serves that purpose.

@paulproteus
Copy link
Owner

So long a python-pip dependency is polyglot Python 2.7/Python 3, we could mark the wheel as compatible with Py27 and Py34 for now.

Also I suppose we're probably going to use zipimport rather than any real wheel machinery, so that sort of metadata probably doesn't matter.

@warsaw
Copy link
Collaborator Author

warsaw commented Sep 14, 2015

That's a good point. Yes, I think we'll need to be able to rewheel Python 2.7 packages too, which might be problematic given that we're using pkg_resources.get_distribution() to calculate the package, and that will return different answers under Python 2 and 3. Hmm. I'd rather not have a dirtbike-2 and dirtbike-3 scripts, preferring dirtbike -2 or dirtbike -3 (with probably -3 as the default?). Indeed, more thought and testing will be required. But either way, it shouldn't affect nosytoxing things, so on to that first!

@dstufft
Copy link

dstufft commented Sep 15, 2015

FWIW pip doesn't accept any dependencies that don't work single source Python 2 and Python 3. If there's a dependency with something Python version specific it'll be something Debian added as far as I can think of.

@warsaw
Copy link
Collaborator Author

warsaw commented Jan 19, 2016

Now that we have refactored strategy classes for getting the installed list of files, I think it's more possible to make dirtbike itself Python 3, and implement a call-out for Python 2. That's if we want to support anything but universal wheels, which perhaps we don't.

@dstufft
Copy link

dstufft commented Jan 19, 2016

Assuming dirtbike is only going to be used for pip then universal wheels is all you'll ever need. Pip's bundling policy does not allow anything else.

@paulproteus
Copy link
Owner

paulproteus commented Jan 19, 2016 via email

@warsaw warsaw self-assigned this Jan 28, 2016
@warsaw warsaw added this to the 1.0 milestone Jan 28, 2016
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants