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.
To be honest, I haven't had much luck with porting numpy (matplotlib also relies on that). Parts of it are written in Fortran and it's overall very low-level and hard to port. I'm not saying it's impossible per se, maybe I'm just not smart enough...
Installing pure Python modules is usually relatively easy to do with a script – as an example, here's a quick-and-dirty script that installs the cloudfiles module (for RackSpace): https://gist.github.com/9c54a36c619261067225
I cannot add anything that downloads code to the app itself – that includes things like being able to open .py files. Apple would reject it and they have actually requested (i.e. enforced) removal of similar features in other apps. There's a rule in the App Store review guidelines that forbids downloading/installing executable code and they have a pretty broad definition of "downloading".
Have you looked at kivy? http://kivy.org/
It's a cross-platform, open source GUI for python that has been port to iOS.
Certainly looks interesting, the LGPL license could be problematic though.
They claim "Kivy is 100% free to use, under LGPL 3 licence. The toolkit is professionally developed, backed and used. You can use it in a product and sell your product."
There are two apps in the App Store using kivy, one is free (http://itunes.apple.com/us/app/deflectouch/id505729681) and one is $75 (http://itunes.apple.com/us/app/processcraft/id526377075).
However, I'd be the last one to ask about what any particular license allows or not.
Another GUI I came across is PyUI (http://pyui.sourceforge.net), which has an option of rendering using PyOpenGL and PIL.
The one feature I would really like is for my scripts to sync between my iPhone and iPad via iCloud. I think that would make development a lot more convenient as I like to switch between both devices for different types of tasks.
You could use the Dropbox code posted here to sync your devices:
You would have to start the sync manually, however.
For my part, I would rather want support for a version control system. The currently available methods to up/download to gist are a start.
@oefe: Unfortunately that kind of feature is the thing that tends to keep code interpreters out of the App Store. As long as the app doesn't directly ship with the ability to both execute interpreted code <b>and</b> load code from an internet-based source, it's generally OK.
I've heard this complaint from many different interpreter makers on the store - exporting to the internet is almost always ok, but being able to pull in code from an arbitrary location with an account / URL is generally a "no-no" feature to have enabled when publishing to the store.
Sounds doable. A small part of hg is written in C for performance reasons, but there is apparently a pure Python option. I think we can live withbthe performance hit of the pure python version. After all, we few of us will have Gigabyte sized repositories any time soon.
I was going to post a thread regarding "Feature Requests" in which all of the requested features could be included by members. Just description of them and not any commenting or debate, etc. so that just with a glance one can understand what items are mostly required.
But I am just a newbie and I want to know ur ideas about it. Do you think it is a good idea?
@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.