-
Notifications
You must be signed in to change notification settings - Fork 7
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
More fixes for backwards-compatibility violations #54
Conversation
For context, plenty of commands still don't work/work well - I'm going to use this PR to test a bunch of command assertions and associated fixes to get the library to hopefully Actually Work With Minecraft... |
Tests will fail; chat is currently broken |
Spectrum Is Green! |
I still need to test this on Py3 on the Pi, but I think if this works, we have a v1... |
(I had fun with a lava tower on Python 2 on the Pi!) |
Tests are green and this covers the legacy API which means we've covered our first three goals. With that I think we're ready for a 1.0 release! |
@doismellburning – Are you happy to roll the release for this? |
More fixes for backwards-compatibility violations
@ghickman Very happy, on Saturday when I'm not in Italy and on a slightly less damp string to the internets |
Woohoo! |
Sorry to be a damp blanket, but I'm not happy with this being a release. |
@jonathanfine If you could please not just blindly object without explanation - "I disagree with X" is something people can actually engage with; "I disagree, EOM" is not |
I was pressed for time, yesterday. All I had time to do then was give notice of dissent. For a start, connection.py still has the awful In addition, the
Because That's all I have time for today. |
Could you make that a PR against master please, with just the
Yes. Our main initial goal was to add Python 3 support without breaking compatibility, to stop teachers being in the position of choosing between "teach Python 2.7" or "teach Python 3 but then handle 'yeah sorry this is a bit different'". We have achieved this goal, and while other goals included improving the API, improving testability, et cetera, the point is that we have met this core initial fundamental goal, ergo a release.
I'm afraid I don't understand what you mean here |
Please use the already existing PR #49 to discuss the
Please look at https://docs.python.org/3/library/json.html. In particular, note that it does NOT contain load and dump methods that take a filename as parameter. |
I'd be happy to support a release that is the same as supplied on the raspi, except that it also works with Python3 - for exactly the reason you state (which was stated by Carrie Anne at PyConUK this year).
I'm not willing to support a release that contains 'etcetera' just because it also contains something that meets a core goal. In #10 Low Level APIs I wrote
@dbrgn and @ghickman expressed clear and strong support for this proposal, and @bennuttall also expressed support. I'd be surprised if we can't agree very soon on the legacy API ported to Python 3. I'd be surprised if we could agree quickly on the
I don't want the release to embody decisions we've not yet made relating to the replacement low-level API. I do want the release to contain the work on the porting to Python 3 (which is the core initial fundamental goal). |
@jonathanfine – To be more clear on @doismellburning's "et cetera" a 1.0 release of the code in its current state will include exactly what you are happy to support:
The legacy code has been ported to Python 3 and we now have tests to show it has backwards compatibility. If you have qualms about areas of the code base which you believe are not backwards compatible then please raise them in a new issue. We are not looking to improve legacy code for the 1.0 release. |
I'm also for a first release that is simply "a mcpi clone with Python 3 support". The next release should then contain the new low level API and maybe improved docs and examples. And then we could start concentrating on the high level API. |
No description provided.