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.
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 :)
Folders! It would be great to be able to organize all the python scripts in multiple folders. Having all the python scripts cluttered in one big list makes it very unwieldy to work with large, multiple modules.
Also tabbed pane viewing to easily switch between modules.
btw. The app does rock. Great job, thanks.
@omz: I know there is somehow a 10 minute limit in the os, and 10 minutes is fine, but some apps (ie pandora) can run presumably forever in the background. Do you know how it does that?
@C0deH4cker It's because they are playing music, there's an exception for that.
i would really appreciate numpy or scipy? would be worth some bucks :)
@omz Then add the ability for scripts to play music like that. Then, people could play silence and have it running forever lol.
@C0deH4cker - Unless the primary purpose of your app is music playback, Apple is <b>extremely</b> displeased if you attempt this kind of 'loophole'.
The same goes for the other flags that allow permanent backgrounding: GPS, VoIP, etc.
Good way to get your app immediately yanked / over-analyzed by Apple for any other slight infraction they might not have noticed before.
Extraordinary app... Thank you so much for making it! I have some really minor wishes (along with a more major one). I use pythonista mostly at the interactive prompt, and would love an option for the app to open there directly, rather than having to wait for it to load and then swipe across. Also, could you implement a menu for reloading a script as a module into the interpreter (or alternatively executing them)?
The more major one is numpy/scipy/matplotlib. I understand this is probably too big a task though! I wonder if a port of some of matplotlib's basic functionality would be possible using the canvas stuff?
Yeah I would like to see matplotlib included into Pythonista in the future. I've used it plenty in the past and it was very nifty.
Access to more of the iPad/iPhone's camera, mic, GPS services, etc would also be nice.
Finally I would LOVE to see a free Pythonista app that lets people run codes that are submitted onto a server from -paid- app subscribers. So if I bought the app, I could upload my projects and someone who has the free app could then view the app in their free version. I'm not sure this is possible due to Apple's store limitations. But something along these lines would be great.
Keep up the good work! I can't wait for my Logitech keyboard so I can really utilize this app to it's potential (that touch screen kills)
I was wondering if it will be possible to access the iPod library (like play music, retrieve song info, and detect if music is playing).
The reason why I want this is because I've already created a script on my Mac which prints out the lyrics to the song iTunes is currently playing, and I would like to be able to do the same on my iPad.
Pygame or something would be awesome! Iv been using pygame for a while but right now i cant always be near my computer so it would be nice to have something similar instead of having to completely learn a new library ( like I'm attempting to do now with pythonista)
Could you add support for position, accelerometer, magnetometer data along with access to the apple map api?
It would also be great if you could add support for OpenGL ES
Pythonista is the tool that has finally got me into writing Python after years of Perl scripting. It's great to finally have a tool that means I can write useful code directly on my iPad. Thanks
When using an external keyboard within the Python interactive prompt it would be useful if the up arrow key on the keyboard would go back through the command history
Speaking of using keyboards on Pythonista.. A big annoyance for me is typing '''
If you try to type it, you will get ''''''
And if you delete one of the apostrophes, you'll delete two.
The only way to type ''' is to type ' ' which produces '' '' then you add a space to the second one, so you end up with '' ' ' ... then you delete one of the two seperated apostrophes, THEN combine them. Finally you get '''
It really is a pain in the butt for something that I use ALL the time to comment out blocks of code.
I would like to suggest a way to tweak the auto complete features. I understand the usefulness for them when you're typing by hand, but if you invest in a keyboard they really become a problem!
+1 for kivy - x-platform GUI
I wrote a python program for Android using it - with the advantage that I could test it on Linux first. Only the paths differ between the two OSes.
Currently I maintain two versions of my Pythonista programs - the Linux ones use tkinter and the iOS ones use console - which is a bit clunky.
Definitely Scene needs keyboard events support for input.
Hey, I'd like to put in a request for gevent & greenlet; they are really the only modules I find missing in Pythonista. I've manage to cobble up a a script to install any pure-python modules I'd require from zip files or gzip files.
While the iPad is not designed to be a web server but it would be great to be able to test my web server code on the iPad itself, would help a huge community of python web developers escape their desks :)
After my post about kivy I saw pudquick's post about licensing earlier in this thread:
I also looked at what kivy (who also produce the python-for-android environment which I used) said about it:
<blockquote>Kivy is released under the terms of the GNU LGPL Version 3. ... An online version of the license can be found at http://www.gnu.org/licenses/lgpl-3.0.txt
In a nutshell the license allows you to use Kivy in your own projects, regardless of whether they are open source, closed source, commercial or free. The one thing the license does enforce is that if you make changes to the Kivy sourcecode itself, you have to share those changes with us. For a more thorough legal explanation ....
</blockquote>(From http://kivy.org/docs/) Which is not quite the same emphasis - but the licence itself is pretty clear and confirms pudquick's post.
Much seems to depend on static vs dynamic linking - about which I know little. This seems to be summed up here:
<blockquote>Proprietary Source code + LGPL Source code
- statically linked: You must release both parts as LGPL.
- dynamically linked: LGPL code stays LGPL, you can keep the proprietary code proprietary.</blockquote>
(Do iOS apps differ from an Android ones in that respect?)
Could a scripting app, like Pythonista, provide a version of the kivy libraries without itself linking to them? Arguably the scripting app would then not be an 'Application' under the definition in the LGPL. That would put the onus on whoever writes a script using kivy: if that were 'conveyed' they would be subject to the LGPL.
Kivy's python-for-Android may be a special case - they own kivy. But I see that Qpython for Android provides a kivy library and promotes building apps. (I suggest we don't discuss it's licensing here though.)
Would it be possible to install self compiled (i.e. _amodule.so) modules in the Pythonista.app folder and then call them ?
I mean modules compiled in C or ObjectiveC and wrapped to Python with any of the tools available, Swig, Cython, PyRex, F2Py etc.