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.
Python 3.x Progress Update
-
Pythonista 2's Documents folder is at
pythonista3://../../Documents
and Pythonista 3's Documents folder is atpythonista://../Pythonista3/Documents
. The starting location is always the app's ownDocuments
folder, which is why you need to go two steps up with Pythonista 3 and only one step up with Pythonista 2. -
Just installed build 300004.
in 300003, importing scripts in the same folder as main script worked. Now it's throwing an
ImportError: No module named 'utilizer'
for everything that's not part of the built in stuff as far as I can tell.
for example given 2 files
Project/main.py
Project/other.py#this is main.py import requests import other
fails on
import other
-
@Tizzy Thanks, I'm aware of that, should be fixed in the next build.
-
One suggestion: use modernize rather than lib2to3, as this will result in code using six that is compatible with both pythonista versions. This should also be included in p2, to help folks write compatible code so we don't become TOO fractured.
In the new beta (300005), you can use either 2to3 or python-modernize. If I add this feature to P2 as well, it'll probably make sense to only use python-modernize there.
The various SSL certificate validation errors should be gone btw. (let me know if not).
@Tizzy
Importing from the same folder should be fixed in 300005 as well.@ccc
yaml
is in there too (though minor difference to P2: I didn't build the optional C extension, it was a bit difficult to get working, the module works without it, and I don't think anyone is really parsing huge amounts of yaml on iOS in a way that the performance difference would be noticeable). -
@omz You continue to amaze us with these updates... Really impressive. The pep8 and flake sound great. I think we can all live with interpreted yaml. ;-)
-
@omz I have to say that you are raising the bar, BIG TIME, P3 is becoming a real professional Python development tool, is there a way to do PayPal donations, I personally think Pythonista is undervalued in the App store, my personal opinion though.
-
For how long are you planning to keep the 2.0 version up to date?
The 3.0 beta just got a bunch of* awesome* features that are not in the 2.0 beta, such as style checking (yay \o/), fixing syntax highlighting for multiple imports on one line (something I've been complaining about for a while), as well as the built-in theme stuff, and line numbers on 6 and 6+.
How many of these features will make their way into the 2.0 beta, if any? For how long will you support both?
-
@Webmaster4o I don't know yet for how long P2 will be around after I release P3; probably a while though. As for the new features in the latest 3.0 beta: those will all be in the next 2.0.1 beta as well.
-
Thanks, @omz. One more thing, both methods of 2to3 conversions are seem to be currently broken:
-
@Webmaster4o Hmm, I have a suspicion that this might have to do with you using a custom theme. I have to admit that I didn't really test this properly. Could you check if that error goes away if you use one of the built-in themes?
-
@omz Yep, it does.
Another suggestion, I suggest that you implement syntax highlighting for the "confirm" screen with the 2to3 conversions.
-
@omz
objc_util.on_main_thread
(and possibly other decorators) should usefunctools.wraps
to copy the old function's metadata to the new one. For example at the moment thehelp
function is basically useless on functions decorated with `on_main_thread':>>> import editor >>> help(editor.annotate_line) Help on function new_func in module objc_util: new_func(*args, **kwargs) >>> help(editor.annotate_line.__closure__[0].cell_contents) Help on function annotate_line in module editor: annotate_line(lineno, text='', style='warning', expanded=True, filename=None, scroll=False)
-
@omz I have to say that you are raising the bar, BIG TIME, P3 is becoming a real professional Python development tool, is there a way to do PayPal donations, I personally think Pythonista is undervalued in the App store, my personal opinion though.
That's very kind of you, but I really wouldn't feel comfortable taking donations. Pythonista is doing quite well, actually – over the last 3 years, I've managed to convince an average of 50 people every day to buy the app, and as a solo developer without a lot of expenses, I think that's pretty good. :) There are a lot of projects that need donations much more than I do.
-
objc_util.on_main_thread (and possibly other decorators) should use functools.wraps to copy the old function's metadata to the new one.
Good point!
-
@omz Well, I am glad the App is selling so well, a very well deserve recognition to a flawless execution and plenty of very powerful functionality, for a very limited and constrained environment, aka iOS Sandbox, but at the same time, thanks to Pythonista with a lot of potential. I use my iPad Pro as my main device 70% of the time, looking forward to increase it to 90%.
-
@omz said:
@Webmaster4o I don't know yet for how long P2 will be around after I release P3; probably a while though. As for the new features in the latest 3.0 beta: those will all be in the next 2.0.1 beta as well.
I guess this means P2 will gradually retire after P3 is released? Future updates are only for P3?
-
@ywangd A lot of this depends on how well the Py3 edition is received, whether a lot of people are still buying the Py2 edition afterwards, etc. In the Python community as a whole, the transition to Python 3 has been slow, but I don't really know what that means for Pythonista. It's a very specific environment, and a lot of the concerns people have about Python 3 might just not apply to an iOS app.
To be honest, I don't really like the idea of having two very similar apps. I'm a bit worried that some people might not read the description, get the wrong version, write angry reviews, email me that I'm greedy, etc.
From a technical standpoint, it's not that hard for me to keep both versions updated – apart from the underlying Python implementation, 99% of the code (UI etc.) is shared, and modifying the custom modules in a way that they work in both versions was honestly not as hard as I expected.
-
@omz wow, 3 * 365 * 50 > 50,000 Pythonistas, that's quite a global tribe!
-
@OI. I think a key put off word for @omz here might be donation. I am just guessing, but I know for myself it would be. But I feel the same as you, I want to give more.
@omz you really do go out of your way to continually upgrade and expand everything about Pythonista, let alone the support you provide.
Maybe funds you collect from contributions via PayPal could be used by you to outsource things like icon collection/cataloging, or other edge type tasks you don't really have time for. Well, they could be used for anything. Should be up to you.
@omz, sorry to bring it up again. I think it embarrasses you. It's not meant to. I think there are some very well meaning people out there that want to contribute more on the financial side. The reality is some people are further along in thier careers and can afford to put in more than others.The contributions never need to be made public, nor should it imply and type of service from you.
Anyway, if you decide to do such a thing, I would just feel I am investing in something that gives me a lot of pleasure. Just the amout of help you have given me here in the forum, both directly and indirectly is mind blowing when you look at how much I have paid for the software. There is no correlation actually. Pythonista being under valued does even come close to expressing the reality.
I hope you reconsider. I personally think there in a reasonable case to let those who can afford it to contribute more without belittling anyone else who can not.
-
@omz - I think that you should just do a bundle that includes both the 2 and 3 versions but discounted appropriately. This will serve to illuminate new users about the 2 vs 3 issue with Python as a language and show new users how it is the definitive choice on IOS.