Zero-setup Python environment and developer toolbox in a first-class citizen app for iPad and iPhone.
Juno is designed to cover all your Python coding needs, and will work seamlessly with all source code formats. Juno supports both Python scripts (.py) and Jupyter notebooks (.ipynb) — a document format focused on applying Python to data analysis and computational science.
FREE FEATURES
- Navigate and manage files and folders, quickly preview documents and media
- Browse and view Jupyter notebooks with quick and beautifully rendered previews
- View and edit code sources, scripts, JSON, XML, and other text-based formats in a built-in versatile plain text editor with syntax highlighting
- Add quick access bookmarks for file system locations outside the app's sandbox, or simply open documents in place
PRO FEATURES
- Run code in Jupyter notebooks and Python sources locally on your device with a built-in Python 3.10 interpreter, entirely offline
- Write and execute Python code in a full-fledged development environment, featuring snappy, intelligent code completion and a console with full terminal emulator support
- Access all Jupyter features in a modern, powerful and customizable notebook editor
- Works with Siri: create Shortcuts that run Python code or .py scripts in Juno—pass arguments and files, capture output and chain actions
- Leverage powerful data analysis, machine learning and developer tools: NumPy, Matplotlib, SciPy, Scikit-learn, Pandas, LXML, and more
- Enjoy painless package management: easily install any pure Python package with an intuitive package manager
PYTHON SCRIPTS
Python scripts are plain-text Python source code files with a .py extension. Juno lets you work on these with snappy code completion, a console with full terminal emulator support, a built-in media viewer for code-generated images, plots, web apps, and more. Juno will execute the code using an embedded Python interpreter, locally on your iPhone or iPad and completely offline.
JUPYTER NOTEBOOKS
A Jupyter notebook is a versatile document format that enables you to store live code, markdown text, plots, images, and LaTeX equations — all within a single notebook file with a .ipynb extension. Notebooks serve as excellent Python coding playgrounds for data manipulation and experimentation, and Juno makes working with them a breeze!
Notebook documents keep a record of all inputs and outputs from an interactive programming session, and the rich output generated by running Python scripts (including HTML, images, video, and plots) is embedded within the Jupyter notebook document. They are particularly convenient for coding in Python for data analysis, machine learning, or computational science in general.
My main Jupyter environment is Anaconda on my Mac. I use GitHub to sync about 30 notebooks and their associated Python source files over to Juno (both on my iPad and on my iPhone) so I can give impromptu demos and make small changes and improvements no matter where I am. Over time Juno has matured and grown fairly robust. I’m especially glad that Python 3.10 support came out in May 2023.Alex Staravoitau responded quickly when I reported a configuration glitch in the new Python 3.10 release (the Bokeh plotting library required a different version of jinja2). He gave me a temporary workaround and within a couple of days got a corrected version out to the App Store.Juno is probably my most favorite app. It’s been extraordinarily useful. A strong five stars!
Work likes Jupyter Notebook; makes it easy to use Python on the iPad
CookieElle
I am a Bioinformatician and I use Jupyter Notebook and Python as part of my workflow. Every now and then I like to take a break from using my computer, and simply use my iPad Pro to write Python scripts. I really like this app as it suits this purpose. Juno works like Jupyter Notebook, with the markdown style, python console, and even the functional keys of “B”, “A”, “M”, when adding a new line below, above, and markdown that makes Jupyter Notebook easy to use. I haven’t had any issues with delays, crashes, or bugs. It works great, and to take things a step further, I would really like to see R included as a language for this app. There is definitely a need for it.
My Everyday Jupyter Notebook Client for Drug Discovery Research
outkrow
I work as a scientist at a large pharmaceutical company in Boston and this app has been my daily driver for analyzing data on my iPad as well as my Vision Pro for the last few years. It’s truly been a productivity game changer. Instead of lugging my MacBook Pro into the lab, or to a meeting, I can bring my iPad to document my experiments. I also use Juno on my Vision Pro during my long train commute which is amazing. Thanks for developing this app!
Couldn’t tell how bad it was until after paying; do not buy
iAdjunct
This is not an IDE, this is a notebook. I was able to open a directory from Working Copy… but the GUI is pretty bad. You can browse around the files pretty easily, but you have to “Open Python Source” to edit and/or run the script. This takes you to a new screen. If you want to switch to another file (since any program worth its salt is more than one file) you have to use a separate tab to open a file browser, go to the file, then “Open Python Source” in that too - which brings up a popup dialog which you have to interact with before it REPLACES the open file. To go back, you have to do that all over again. Furthermore, if your app uses asyncio and it has an exception which leaves the loop running, you have NO WAY to stop it other than quitting the app. This was a complete waste of $25.
Developer Response
👋 Hey—Juno only lets you work on individual Python scripts for now, but I am working on adding support for Python *projects*, i.e. entire directories of related files that you can open in tabs within the project. This is an ambitious project and a WIP though, and I don’t have an ETA at the moment I’m afraid.However, Juno already lets you open multiple Python sources in separate app windows on iPad, and the dialogue asking whether you want to create a new window will only appear once, and will remember your setting from then on.You should be able to interrupt a running asyncio script with the “stop” button—please ping me at feedback@juno.sh if it doesn’t work in your case (a minimal example would be very helpful!), and I’ll be happy to investigate and fix this.
What's New in 3.10:
– The Python source editor now supports resizable sidebars on iPad.
– Improved kernel management and reliability.
– Fixed crashes and bugs related to notebook previews.
– Fixed issues with bookmarks and file locations in iCloud.
Version 3.10.0
The developer, Rational Matter, indicated that the app’s privacy practices may include handling of data as described below. For more information, see the developer’s privacy policy .
Data Not Linked to You
The following data may be collected but it is not linked to your identity:
Usage Data
Diagnostics
Privacy practices may vary, for example, based on the features you use or your age. Learn More
Accessibility
The developer has not yet indicated which accessibility features this app supports. Learn More