I'm guessing that pure python packages are probably easier to support than ones relying on compiled code. It would be nice if there were some way of supporting user installation of such packages. (If they are a single file, it probably possible now.)
However, for some packages, like numpy and matplotlib that would require significant porting effort, it would probably be difficult to support user installation. Do you think it would be feasible for developer/users who want some of these packages to post binaries or Xcode projects for potential inclusion in future updates?
A final thought: Given that some non-standard packages will take significant effort to port, such effort should be compensated. How about providing them as In-App Purchases? I would gladly pay for a numpy, scipy and matplotlib bundle.
@rhithyn - You can already do that. If you use the modal parameter on the webbrowser class, it can run non-blocking in a different thread - leaving you free to run python code in the background to serve it up.
I've got several bits of code I'm working on right now that run python as the "server-side" code with the browser as the UI. Works great.
@rroobblinn You can tap with two fingers to select a line.
Is it possible to get meshes in Pythonista. If we could how long would it take @omz
I don't know if this is difficult or not, but a way to pause and stop a sound.
That would help me because I just started making a simple music player.
I'd like a facility to 'lock' a script. It's easy to accidentally hit a key and introduce an error when all I intended was to run it.
The ability to run the script from the library without going into the code editor would be useful too.
PLEASE support multiline strings! I use them as docstrings, but in the current version of Pythonista, the syntax highlighter balks at multiline strings, and the editor will suggest random words from within the string when I'm typing code.
Id love to see a way for a script to be run on startup.
@C0deH4cker - See my tool here:
This will let you make an icon for running a particular script in Pythonista when you click it.
Admittedly, this is a bit different than your use case - I'm guessing you want to customize your Pythonista environment every time you start it - which if that's the case, I agree, I'd love that feature.
But if all you want to do is have Pythonista always run a particular thing when you open it, try my solution above.
Actually, i mean a script that gets run whenever you run a script, such as the site module in normal python.
I second the background running feature.
It would be nice if the editor module could expose the editor settings (at least for read, if not read/write), perhaps presented as a dictionary.
Specifically, at the moment, I'm interested in being able to inspect the 'Tab Width' setting in order to cleanly incorporate a tabify/untabify action script.
Many thanks to you, omz, for building this app and continuing to improve it.
I have a separate script for each that basically just does:
from Macros import function
Except one of them, Spaces To Tabs, is this:
So this might be what youre looking for. If not, I'm sure that this will be helpful to someone.
I'd love to see kivy on ipad or at least pygame, then pythonista could compete with codea.
@kamek - Unfortunately, because kivy is LGPL, it's very difficult to use it with an iOS app. The way the licensing of LGPL is intended to work, you either need to a.) be able to freely re-link newer/different versions of the LGPL licensed library into your app, or b.) provide the source of your application that uses the library so people can re-compile it themselves.
Obviously, as a private developer, omz is unlikely to be willing to release the source code of Pythonista as it's making him money. This means choice b. is not happening.
As for choice a., iOS apps submitted to the App Store are static applications compiled as a single monolithic executable. There is no ability for a third-party to 're-link' a newer/different version of kivy into such an application without the original .o object files and/or .a static library files (which omz would have to provide - and is again very unlikely).
The only app that I've seen on the iOS App Store claimed to use kivy is ProcessCraft. The other one mentioned (Defletouch) seems to have been removed. And if ProcessCraft is using kivy, they are <b>100% in violation</b> because they don't provide the source / comply with kivy's LGPL license.
As for pygame, that's a really complex library built on several other technologies that would be pretty hard for a single person to port over/adapt to iOS.
My wish list:
Allow scripts to run in the background, even for a limited time
iCloud file sync (I get the Dropbox problem, but iCloud should limit it to just between Pythonista installs on multiple devices) versioning would be nice, but that can be worked around
Settings option for spaces instead of tabs for indents (this has been driving me crazy with errors in the editor and with Gist posts) and/or a Settings option to show whitespace characters in the editor
Scripts will be able to run in the background for up to 10 minutes with the next update. Yes, it is kind of fascinating to open a localhost URL in Mobile Safari ;). This will also enable some other pretty interesting use cases, e.g. scripts that watch the clipboard while you're working in a different app...
As for iCloud sync, I'm pretty sure this wouldn't be approved by Apple; they don't even allow iTunes file sharing for executable code...
Thanks for the update! That will be great to have scripts run in the background, and I understand the file syncing issue. Maybe Apple will relax eventually.
Is there any hope with the spaces vs tabs? I'm still learning Python, but from what I gather, spaces vs tabs is a bit of a hot topic. PEP 8 strongly recommends spaces only for indents in new projects, though there are arguments from both sides. Options would be nice.
I know that tabs-vs-spaces is an issue, especially with pasted code etc. I'm aware of PEP8 but still personally prefer tabs (but I don't want to start a debate here)...
Eventually, there will probably be some sort of setting for this, though I'm not sure about some implementation details yet (e.g. what to do when a file is opened that uses a different tab setting...). I would also have to make some changes to the text rendering (making tabs visible when spaces are selected) so it's really not a trivial feature... To sum it up, this probably won't be in the next update, but it's definitely on my radar and that update won't be the last one. ;)
Thanks again. In the meantime, we can write conversion scripts and, BTW, I will be posting a new project soon that does just that sort of thing.
Thanks for the app, it rocks! I have a small request. It would be nice if multi-line docstrings were properly highlighted in the editor :)