Welcome!
This is the community forum for my apps Pythonista and Editorial.
For individual support questions, you can also send an email. If you have a very short question or just want to say hello — I'm @olemoritz on Twitter.
Pythonista for Python 3.x.
-
dglessus: When I tried that (with the Mikey Shorts series), it bugged out and said "This item is not available in the US store."
-
I am also a newbie to Python and Pythonista (I also own Editorial, which I don't use). I was a C programmer many years ago (retired many years now). I am Learning Python as a hobby, and love I can do it on my iPad Air 2. So impressed with Pythonista, prefer using it over PyCharm on my desktop. (To be fair, maybe I have not configured PyCharm correctly as I am still learning).
But I have read most of the threads here. I concur with most about paying for a new version that somehow incorporates Python 3, in whatever way is technically possible/feasible! Also willing to open the pocket for funding, however according to @omz funding is not the issue. But still willing to do it. I would kick in 1,000usd or more! But my thoughts are that how long can @omz afford not to migrate the code. Does Python progress to a point were it becomes such a daunting task to get Pythonista up the the current version of Python? Of course I have no idea what's involved, but common sense tells me the bigger the gap between the implementations of versions the harder it will be to get Pythonista up to date, so to speak!
As a side note, I would love to see Pythonista's UI module/s ported to mac "OSX". So nice and easy to use for quick and nice GUI. I also would happily kick in for that project also! If it had a wrapper that allowed you to run the same code written on iOS to work on "OS X" that would be truly amazing in my view. Would also give us the ability to send the programs 2 ways. Final word, is I really love Pythonista, will support @omz in anyway I can
Ian -
@Phuket2 - I certainly would love to have the ability to run either Python 2 or Python 3 code in Pythonista and think it would suck to have it as two seperate Apps. That would mean two seperate Document areas and lots of problems with shared code, etc.
It turns out that it IS technically feasible to use dynamic libraries on IOS but only as a developer. You have to be able to sign these components and bundle them and Apple will not do that. However as a "developer" you can do it with the available XCode tools. This makes me wonder if there would be a way to accomplish this if the user is also an Apple developer and capable of signing components from a desktop machine. This would certainly limit the market to people willing to pay the $100 to get a developer liscense, but most of users who desire 3.x support seem more then willing to pay that. You would also need to have a Mac desktop or laptop to sign and install the app. Just thinkin :-)
-
This makes me wonder if there would be a way to accomplish this if the user is also an Apple developer and capable of signing components from a desktop machine.
That's probably not possible, at least not without jailbreak – I would guess that all components of an app have to be signed by the same developer (or Apple).
Aside from that, bundling multiple Python versions might be a possibility on iOS 8 via dynamic frameworks (the same mechanism that Apple recommends for sharing code between apps and extensions). I haven't tried this at all, and frankly, it's unlikely that I'll get to it in the near future, but the way I imagine this could work would be by bundling two different frameworks and loading one or the other on startup, depending on a user setting. This would almost certainly require restarting the app to switch interpreters, but since it's not something that you're likely to do often, I think that would be acceptable... Again, this isn't something I'm actively working on, but it could theoretically be a way to avoid having multiple apps in the future.
-
@omz - I found this detailed article by a developer who was trying to find a way to implement plugins on iOS. He got it all working and found out that the only thing preventing it in production is Apple not being "able/willing" to code sign it. Have a look: http://realmacsoftware.com/blog/dynamic-linking
It is also worth noting that the developer thinks this a major issue that is holding back the iOS platform.
-
@wradcliffe, sorry for the delayed response. But I won't reply regarding your comments :) is over my head at this stage. I am too new to have any valid reply. As a newbie and wanting to learn Python on iOS got me searching here. Just see there are different syntaxs etc between 2 and 3. Just thought it would be more prudent for me to start on py3 giving I am just starting out. It from the little I have put together so far about what's available, I will certainly stick with Pythonista. As I said while I am not new to programming, it's just a long time ago. So many things have changed, and I find it is still a steep learning curve. Even though it's just a hobby for me, I still want to write Python properly. I see so many references to how easy Python is to learn, and to a degree, I agree. But when you take everything into account, regarding IDE's, all the different modules that can give you similar functionality etc... It's a little mind boggling. But fun. Ok, sorry I digresed!
Bottom line, would still love to see py3 in Pythonista, but it's not the end of the world if not. I am using PyCharm on my Mac, can switch between the 2 project by project as far as I can see.
@omz , really love your product. So stable and fast. I am on a iPad air 2. More stable a better than a lot of the other Mac Python apps I have used on the mac, with the exception of PyCharm (yes big cost difference also) I really wish you would consider a donate (PayPal) on your site. In all honestly, I think your product is too cheap. Thanks for a great product -
@omz, thanks for all of the hard work on Pythonista. I'm currently using it to work through an edX course (MITx 6001x), which uses 2.7.x for their examples, and it works great!
I am, however, slowly working towards switching to Python 3.4 as my day-to-day desktop Python version, as well as upgrading my Django site to use Py3. Please count this as another vote to have some sort of Py3 option in the future. I'm really loving using it for the online course, and I'll really miss being able to work on some of my desktop scripts in it.
My day job is working for a Mac/iOS development company — as the video producer, not a dev, but I do understand a bit of the complexities of this kind of thing on the App Store. I realize it may be a while (and I'm happy to pay again), but just wanted to cheer you on. :) Thanks!
-
Python 3.5 was released today. https://www.python.org/downloads/release/python-350/
import platform ; print(platform.python_version()) # '2.7.5' on Pythonista :-(
-
Looking for more chatter, it's been two months! This thread is 3 years old and no sight of Python 3.x for pythonista?
-
Out of curiosity, when folks complain about Py3 support, which features of Py3 are the feeling like they really use, that are not in
futures
? Other than differences in how strings are handled, which can be simulated usingsix
for programs that really need to distinguish between bytes and text, seems to me a lot of the Py3 changes are under the hood where most users won't really directly interact. I guess bugfixes might be important, but it is not like Pythonista was getting a new release for each Py version anyway. -
Things that come to mind:
- Unicode handling that is not completely messed up. Even with enough future imports you cannot completely simulate Python 3, simply because the separation is not strictly enforced in Python 2 (you can
decode
aunicode
string, wtf?) and because half the code still uses 8-bitstr
. Also, proper wide Unicode support, - Cleaned up stdlib names, e. g.
urllib2
becomesurllib
and has a cleaner structure. Minor things, but I like consistency. - New syntax, like type annotations. (That would make writing function stubs for
ctypes
much cleaner.) - Less random language weirdness, like
print
andexec
keywords, normal division on ints doing implicit flooring, etc. - Fancy metaclass features, like the
metaclass
kwarg on class definitions, or__prepare__
. - Chained starargs! This took way too long. Finally
func(*args, *moreargs)
is allowed. - Keyword-only args in function definitions, which previously required ugly stararg hacks.
- Proper exception chaining (I think that's new in Python 3).
nonlocal
.- I'm sure some people would find the
async
/await
stuff useful too.
- Unicode handling that is not completely messed up. Even with enough future imports you cannot completely simulate Python 3, simply because the separation is not strictly enforced in Python 2 (you can
-
How do the chained stargs work? If I have
func(*args, *moreargs)
and I then put infunc(1,2,3,4,5,6)
, how is it decided what goes into the listargs
and what goes intomoreargs
? -
-
@Webmaster4o Not when defining functions, but when calling them. For example, this is how you could implement
functools.partial
:def partial(callable, *frozen_args, **frozen_kwargs): def _partial(*new_args, **new_kwargs): return callable(*frozen_args, *new_args, **frozen_kwargs, **new_kwargs) return _partial
-
Ah, ok. Now I get it.
-
I'm sure @ccc would point this out soon enough
;)
but Python 2.7.11 was released today/yesterday: https://www.python.org/downloads/release/python-2711/ -
@dgelessus LOL... Yes. And Python 3.5.1 is due tomorrow: https://www.python.org/downloads/release/python-351
-
Brett Cannon - Where are we in the Python 3 transition? http://www.snarky.ca/the-stages-of-the-python-3-transition
-
@ccc , thanks. I subscribed to his blog. I read through quite a few of his blog entries. Really good info for someone like me (limited info on the history of Python and the future and more...) for one, I will start to look at Unicode seriously, it's good to do while I am still a beginner. Anyway, great info from this guy (Not just the mentioned blog entry here) and he has the credentials
-
Most of the posts here are 3 years old. More libraries are now available on Python 3 and it appears to be the clear direction forward for Python. My requirements are for Python 3.
Pythonista looks great and as soon as it is on Python 3 I will purchase it!