Skip to content

Conversation

@jaraco
Copy link
Contributor

@jaraco jaraco commented Oct 9, 2014

Consider updating the documentation to dissuade contribution early rather than cause surprise later.

@sivel sivel self-assigned this Oct 9, 2014
@sivel
Copy link
Contributor

sivel commented Oct 9, 2014

This is not true. To provide additional information around python 3 and the PR that was recently submitted, it fixed 1 python 3 incompatibility to uncover another.

The preference would be to perform larger scale fixes. If a single targeted fix is applied, especially to a lower level function, it could cause other higher level functions to not function properly.

It would be my recommendation to ensure that the code in the unit tests are python 3 compatible, and then validate that the changes to the tests do not interfere with the code being tested. At which point, larger scale changes that target all python 3 incompatibilities can be applied. Such python 3 incompatibility updates should at first not change any functionality. The same exceptions raised currently, should be raised after the updates. Later, more invasive changes could be applied once we have a good baseline of the app functioning properly in both python 2.7 and 3.3/3.4.

To get something like clouddns.py to properly support python 3 will require some changes to http.py which will then potentially affect everything else in the project.

Additionally, I have recently just become a maintainer of this project, and I do not have a high level of confidence that changes like this can be made safely with the unit tests as they currently exist. I would feel uncomfortable potentially damaging functionality that works in python 2.7 to add python 3 support.

@sivel sivel added the question label Oct 9, 2014
@sivel sivel closed this Oct 9, 2014
@jaraco
Copy link
Contributor Author

jaraco commented Oct 9, 2014

Well, that's good. It just seemed like copy/paste response to three Python 3 tickets was indicative of a shift. That helps clarify.

I've ported scores of packages to Python 3, so I'm very familiar with the process. Unfortunately, I don't have time to dedicate to porting the whole library, so I'd like to bite off small pieces as time permits.

Based on your feedback, a patch like #477 should cast to a list in order to be very conservative about any behaviors, including unexpected exceptions. That seems reasonable to me, and why I mentioned it in the PR.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants