Pyto is a Python 3.8 IDE for iPhone an iPad. Run code directly on your device and offline.


- Python 3.8 with all standard libraries
- Full Python REPL
- Code user interfaces
- Smart code completion
- Use pip to install pure Python modules from PyPi
- Access scripts from everywhere
- Preview images and plots on console
- Multiple windows for iPadOS 13+
- Run scripts and code from Siri Shortcuts
- Interact with other apps thanks to x-callback urls

Included libraries: Numpy, Matplotlib, Pandas, Pillow, SciPy, SciKit-Learn, SciKit-Image, OpenCV, Lxml, Biopython, Cryptography, Bcrypt, and more!

Exclusive libraries:

- pyto_ui - Build an user interface
- notification_center - Customize Today Widgets
- notifications - Schedule notifications
- sharing - Share items and pick files
- pasteboard - Clipboard access
- userkeys - Save values on disk
- sound - Play sounds
- music - Access the Apple Music library
- photos - Accessing photos and the camera
- location - Access user's location
- motion - Motion sensors
- multipeer - Peer to peer wireless connection
- xcallback - Interact with other apps

There is a new Apple Watch app to run a script from it! Your phone must be paired to the Watch.

What’s New

Version 11.4

- New Apple Watch app!
- New module: motion - Motion sensors
- Bug fixes

Ratings and Reviews

4.7 out of 5
235 Ratings

235 Ratings

AI Architect ,

Love the app. Bugs happen. Where to report them?

I really like this app. I write Python for machine learning applications for a living and having this tool on my iPhone and iPad 4 mini has become a true delight. I've encountered a weird problem with loading csv files. I have many csv files for testing a program, which I load one at a time. Some load but most are viewed by Pyto as nonexistent. I've deleted and recreated them multiple times without success. Where do I report errors like this?

Not to bring completion to the discussion but I've also been using Pythonista3. I'm disappointed that they have far less module and library support than Pyto but I have no issue loading csv files as I need to. Only saying I know it's not the files. Help :)

The fact that Pyto seems more concerned about delivering comprehensive functionality makes me smile for sure. Keep it up :). I'll remain loyal !

Developer Response ,


Thanks for the review. For reporting bugs, you can do it in GitHub: or by sending an email to The problem with loading external files from a script is probably that Pyto doesn’t have permission to read them or maybe they aren’t downloaded. Are all the CSV files in the same directory? If so, go the Files app and check if the files are downloaded and open them to download the files. If they aren’t in the same directory, maybe Pyto doesn’t have permission to read the directory where some CSV files are. To fix that, open the script that will be executed, press the Settings icon at bottom, press “Current Directory” and if the current directory isn’t readable, press “Change”. You don’t really need to change it but just confirm the directory because that’s how iOS gives permission to the app to access the folder.

Don Kosak ,


Prior to finding Pyto, I would often plug a Raspberry Pi into my iPad or resort to SSHing into a remote machine for Python3 development. I tried some other “on-iPad” Python solutions, but they all felt kludgey or were missing key Libraries I needed like Pillow, or numpy.

What really won me over though, was the developer’s approach to creating this app and some of his others. Development is very open. You can visit the project’s GitHub page to learn more or potentially even contribute packages or bug-fixes.

Well done!

vicatucd ,

Works well

Updated Review:
When I first used the app, it would not run even the most simple script. A day later, there was an update, so I gave it a second try. I immediately saw the difference. When you first start the app, the interpreter starts up and tells you the version of python installed (the usual), something that did not happen the first time. I was able to run scripts using NumPy and pandas without any issues. The interface could still use some work though, other than that it is a great app.

Initial Review:
This app cannot even run a simple python script: print(‘does this even work?’), let alone be used with pandas or NumPy. Plus, the GUI is also very, very basic. Don’t waste your money.


Develobile S.p.A.
419.2 MB

Requires iOS 12.0 and watchOS 6.0 or later. Compatible with iPhone, iPad, and iPod touch.



Age Rating


  • Family Sharing

    With Family Sharing set up, up to six family members can use this app.

More By This Developer

You May Also Like