Pyto is a Python 3.8 IDE for iPhone and 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 third party libraries:
The libraries listed above require an internet connection to download. However, they remain on the hard disk after the import.
Take advantage system features with the following modules:
- pyto_ui - Build an user interface
- pyto_core - Extend the editor
- notification_center - Customize Today Widgets
- notifications - Schedule notifications
- remote_notifications - Receive remote notifications
- background - Run code in background
- bookmarks - Bookmark files and folders
- 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
- apps - Open third party apps
- xcallback - Interact with other apps
Ratings and ReviewsSee All
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: https://github.com/ColdGrub1384/Pyto/issues or by sending an email to firstname.lastname@example.org. 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.
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.
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.
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.
In-App PurchasesSee All
- Develobile S.p.A.
- 270.3 MB
- Developer Tools
Requires iOS 13.0 and watchOS 6.0 or later. Compatible with iPhone, iPad, and iPod touch.
English, French, German, Spanish
- Age Rating
- © 2018 Adrian Labbé
- In-App Purchases
- 3-day Trial
- Full Version $9.99
- Lite Version $2.99
With Family Sharing set up, up to six family members can use this app.