Python 3.x Progress Update
Python 3.x support has been a topic of discussion here for years, and I finally have some news on that front. :)
As I've teased a bit earlier on Twitter, I'm working on a version of Pythonista that is based on Python 3.5.1 instead of the current 2.7.5. I've made pretty good progress recently, and the app is already in a completely usable state with most custom and third-party modules working. The app's UI is essentially identical to Pythonista 2.0.
Things that are working so far:
- Python 3.5.1 with all new syntax features and most standard library modules (exceptions are basically the same as in 2.x, i.e. mostly Tkinter)
- Numpy, matplotlib, Pillow, PyCrypto, and most other third-party modules that are currently included in Pythonista 2.0 (in some cases more recent versions than in 2.0)
- Most custom modules (
Not working yet:
- A few custom modules (currently only
- The app extension (invoking Pythonista from the share sheet)
- The URL scheme
- The documentation browser
- The example scripts aren't completely ported yet
- A couple of third-party modules that are included in Pythonista 2.0, but aren't (yet?) compatible with Python 3 (screenplain, midiutil, mechanize, xhtml2pdf)
There are probably still a few bugs in the ported versions of my custom modules. Getting the string/unicode handling to work right has been tricky in some cases, and I haven't tested all modules very thoroughly yet.
I expect that I'll have the first beta ready within the next week or so, hopefully without some of the limitations I've listed above. I'll post a new beta signup form here when I'm ready.
Lastly, this will be a separate app, or "paid upgrade" if you will. This is, by the way, one of the reasons I did not charge for the 2.0 update. It'll co-exist with Pythonista 2.x for a while because there are still valid reasons to prefer Python 2.7, and I don't want to force people to upgrade to a version that is not backwards-compatible.
As I've mentioned before, creating an app that supports both Python 2 and 3 would be very difficult, if not impossible. The only way this could theoretically work would require relaunching the app in order to switch versions, and I honestly think that having Python 3 in a separate app will result in a better user experience and less confusion. It will be possible to access files in Pythonista 2.x from 3.x though (and vice-versa).
Will Pythonista for Python 2.7 continue to be updated and receive new features?
Great news BTW!
@Gerzer As I've said, the two versions will co-exist for a while. I don't know yet how long the transition phase will be, and it'll also depend on how much demand for the 2.x version there will still be of course.
Ok, thanks for the quick reply! I plan to buy the new Pythonista no matter what, of course. :)
ywangd last edited by
Thanks @omz This is now on my shopping list.
It would also be interesting to have a poll to see which version (2 or 3) is more preferred. I personally will most likely to stick to Python 2 for a while.
dgelessus last edited by
This is great news! Can't wait to play around with it. Are
I assume the device requirements will be the same as for Pythonista 2? (I'm still hoping for iOS 7 support to magically come back so my iPhone brick can run the new Pythonista, but somehow I think that is unlikely.)
ctypesare working well.
objc_utilwas actually somewhat tricky to port because of the way strings are handled in
ctypes, but I think that I have most of the kinks ironed out by now.
The requirements will likely be the same as for 2.0. iOS 7 support won't come back, I'm afraid.
athros last edited by
Great news @omz! I'm in for both buying and beta testing!
Webmaster4o last edited by
Curious as to how accessing files between versions will work…
@Webmaster4o It'll technically be similar to how files are shared between the main app and the extension now. All documents already live in an "app group" folder that can be shared between multiple apps (you may have seen that the absolute paths of your documents contain "AppGroup").
So basically, if you have both versions installed, you'll see a "Pythonista 2" folder in Pythonista 3, and a "Pythonista 3" folder in Pythonista 2. That's my current plan anyway.
Webmaster4o last edited by
I really need to get some more iTunes gift cards. On my list of apps to buy include Textastic both for iPhone and iPad, as well as Codea, and now Pythonista 3 😂
OI last edited by
This is GREAT, I plan to buy the new Pythonista as well!!!! and join the Beta program
ccc last edited by
@omz Great news!! I look forward to moving as quickly as possible to Python 3 only. Pythonista was the last thing keeping me on Python 2. I run the Anaconda Python 3.5.1 distro on my Mac and just love it. It will be fun to unify on Python 3 on all platforms. I look forward to the beta program and to buying Pythonista 3 as soon as it is available. Congratulations!!!
Olaf last edited by
JohnFinchPhoto last edited by
This is great news!
Moe last edited by
That's awesome! I'll definitely get that version as well, as I'll just switch to it asap :P
lukaskollmer last edited by lukaskollmer
Great news @omz, can you share a link for beta signup?
dgelessus last edited by dgelessus
Tizzy last edited by
Awesome. Now I'm going to have to change
statements in my scripts for months to come as I run them only to find my lazy ass didn't use
But seriously I'm glad Pythonista is moving forward as it's probably for the best. Now when will OS X ship with Python 3 out of the box???
Also @ccc any reason in particular you use this Anaconda distribution? Is that what you would recommend for everyone on OS X?