Pythonista is a complete scripting environment for Python, running directly on your iPad or iPhone. It includes support for both Python 3.6 and 2.7, so you can use all the language improvements in Python 3, while still having 2.7 available for backwards compatibility.
In true Python fashion, batteries are included – from popular third-party modules like requests, numpy, matplotlib, and many more, to modules that are tailor-made for iOS. You can write scripts that access sensor and location data, your photo library, contacts, reminders, the clipboard, and much more.
You can also use Pythonista to build interactive multi-touch experiences, custom user interfaces, animations, and 2D games.
Apart from learning and practicing Python, you can also use Pythonista to automate parts of iOS with app extensions, e.g. to invoke scripts directly from the standard share sheet in almost any app.
>>> Powerful code editor with syntax highlighting, code completion, scripting support, and more
>>> Interactive prompt with code completion, command history, and support for showing images in the console output
>>> Integrated visual debugger and object inspector
>>> Integrated PEP 8 style checker with issues highlighted directly in the editor
>>> Complete offline documentation with quick lookup directly from the editor
>>> Various beautiful light and dark color themes, and a theme editor to make your own
>>> UI editor for quick prototyping
>>> Includes most of the Python standard library and additional modules for graphics, sound, and iOS system services (e.g. clipboard, contacts, reminders, twitter, UI...)
>>> Matplotlib and NumPy for scientific visualizations
>>> Lots of other popular third-party modules, e.g. requests, BeautifulSoup, Flask, bottle, SymPy, and more are included.
>>> Lots of included examples to get started
>>> Universal app for iPad and iPhone
>>> Share sheet app extension for running scripts from almost any app
>>> Custom scriptable keyboard to use Python in any app that edits text
The name "Pythonista" is used with kind permission of the Python Software Foundation.
Please note that Pythonista is not designed to enable the installation or download of additional native modules, and it does *not* include the SciPy stack (just parts of it).
Pythonista 3.3 App Store Release Notes
• Support for dark mode on iOS 13 – you can now select separate themes for light/dark mode, and Pythonista will switch automatically between them. Switching between themes is also a bit faster now.
• New custom keyboard ("PyKeys") for running scripts in any app with text input. Have a look at the sample scripts in the Examples/Keyboard folder for some ideas of what you can do with this.
• Significantly improved support for external keyboards (more contextual shortcuts, arrow-key navigation almost everywhere…)
• The outline (list of functions) in the editor can now be filtered -- just start typing if the keyboard is already active, or drag down the list to reveal the filter text field. The filter supports fuzzy matching, and you can enter line numbers as well.
• Unified UI (and documentation) for creating script shortcuts in various places of iOS ("Shortcuts" option in the "wrench" menu).
• New URL generator for easier inter-app automation (you can also use this with the Shortcuts app, but full Shortcuts support will come later).
• Support for opening external folders using the system's file picker on iOS 13 (this was possible on iOS 12, but not easily discoverable).
• Revamped `notifications` module with custom action buttons, support for attachments, location triggers, and more – see the new "Notification Quiz.py" sample code for a demo. The module also works in the share sheet extension now.
• New "on device" option for speech recognition in the `speech` module (please note that this can be very slow though!)
• New `location.render_map_snapshot()` function to generate an image from a location (see new "Satellite Image.py" sample code).
• Console history is now persistent (you can clear it by tapping and holding the `^` button).
• Various bugfixes for iOS 13 and new screen sizes, new sample code, documentation, and more – you can find the full release notes in the in-app documentation (which also supports multiple tabs now btw).
Thanks for reading, and thanks for your patience with this release. It's not everything I'd like it to be (hello, Shortcuts app!), but there are still many new things to discover, and I hope you have a lot of fun with it!
Ratings and ReviewsSee All
Downloaded on the Thursday and following Tuesday had an app up and running. The ui writer is stunning in the speed you can create an environment for your app.
Only complaint is it could do with an idiots guide, don’t get me wrong there’s more than enough examples and the online community is responsive and helpful but if you’re new to python or more importantly new to the iOS environment there’s enough to trip over.
Highly recommend this app over a lot of the others, good highlighting and the bubble prompts take a lot of the guess work out of looking stuff up all the time. If you’re used to visual studio on PC then the coding environment will fall naturally to you.
Truly amazing software
Every time I use Pythonista I am amazed by how good it is and it keeps on getting better. I've used version 2 for a long time and as soon as I discovered version 3 bought it. For me, it's so great that I can learn python and do dsp research all on the iPad, or even the iphone if need be. The numpy integration and Dropbox support is a huge+ but tbh every time I load it up, I find new features and libraries, and discover more that I can do with it. The editor and help is great too, really rock-solid and useable. As you've probably guessed, im a big fan. If you're on the fence, don't consider it any longer - just buy it, you won't be disappointed.
Mission-Critical Modules Missing Mysteriously: SciPy
Lacks SciPy, an incredibly important library for serious users performing serious work. More like a child’s toy currently.
Using a professional tablet yet I’m sequestered to using an online IDE because the app lacks mission-critical modules.
Otherwise the app is incredibly amazing, I enjoyed using it outside of its crippled status and when it does have these modules added I will return to using it immediately.
Until then however, it’s useless for serious work, data science. Please add SciPy immediately.
I’m aware this isn’t the 1st, 2nd or 3rd time this has been requested and I suspect either the dev lacks interest or lacks the means to do so.
Should it be the first, my intent is to use this in my laboratory where we perform fusion experiments at the University of York Plasma Institute. Hopefully that inspires you to include it since you would be enabling fantastic results and hopefully reach Q=1.
Should it be the second, please reach out immediately to your network and find the skills to do so, resources to do so. Appeal to Apple if its a case of them prohibiting you. Your app has the potential to revolutionise research as we incorporate professional tablets into our laboratory work.
Up to six family members will be able to use this app with Family Sharing enabled.