Last updated: May 2026 | By Dipu Varma, Mobile Coding Enthusiast
a-Shell for iOS includes Python 3 pre-installed. After downloading the free app from the App Store, open it and type python3 to launch the interpreter, or python3 yourscript.py to run a file. To install packages, use pip install packagename (pure-Python packages only). No jailbreak or developer account required.
a-Shell iOS Python support is built directly into the app no setup, no extra downloads. a-Shell is a free Unix-style terminal for iPhone and iPad that ships with a full Python 3 interpreter pre-installed, letting you run Python scripts locally on your device without any server or Wi-Fi.
This means you can treat your iPhone like a mini-computer: create and edit files with vim or pico, then run them with Python, Lua, JavaScript, C/C++ or shell commands all offline, with no server required.
After installing the app, I created a simple hello.py file in vim (print(“Hello from a-Shell”)) and ran python3 hello.py to see the output immediately.
This guide shows how to set up a-Shell and use its Python support step by step, so you can solve real problems on your iPhone or iPad with code.
What Is a-Shell? The iOS Terminal App for Python
a-Shell is a terminal emulator tailored for iOS, created by Nicolas Holzschuch, a researcher at INRIA (the French national research institute for computer science). It provides a complete Unix-like shell environment on your iPhone or iPad, including hundreds of common commands and multiple programming languages — all running locally on your device.
By default, a-Shell includes a full Python 3 interpreter, Lua, JavaScript, Perl, C and C++ compilers, TeX with LuaTeX and TikZ, and utilities like grep, awk, sed, ssh, scp, curl, ping, nslookup, whois, and more. It is not just a “Python app” — it is a complete local developer toolkit in your pocket.
Everything runs on-device on iOS’s ARM64 architecture, which means scripts execute fast and you do not need a network connection for anything except downloading new pip packages.
The developer actively maintains the app, keeps it current with the latest iOS releases, and has an active GitHub and Discord community where you can report issues or suggest features. The source code is public under a BSD license.
How a-Shell Differs from Other iOS Python Apps
Most Python apps for iOS give you a simplified REPL or a notebook environment. a-Shell gives you a real Unix shell. You get a file system, an editor (vim and pico are built in), a package manager (pkg and pip), multi-window support, and deep iOS integration through Shortcuts and the Files app. It is the closest thing to a real Linux terminal on an iPhone, without any jailbreak.
a-Shell vs a-Shell Mini: Which Should You Download?
a-Shell is the full version. It includes the C compiler, TeX engine, full scientific Python libraries (NumPy, SciPy, scikit-learn, Pandas), and all major features. The app is approximately 2 GB.
a-Shell mini is a smaller download that removes the C compiler, TeX engine, and some large Python libraries. If you only need basic Python scripting and want a smaller install, mini is sufficient. For serious use — especially if you want NumPy, SciPy, or pip — get the full a-Shell.
Does a-Shell Include Python?
Yes. a-Shell comes with Python 3 pre-installed. You do NOT need to install Python manually. Simply download a-Shell free from the App Store, open it, and type python3 to launch the interpreter immediately. To run a script, type python3 yourscript.py. To install a package, type pip install packagename. Everything runs on-device, offline, with no account or subscription required.
What Python Version Does a-Shell Use on iOS?
a-Shell currently ships with Python 3.13, updated alongside each major app release. The Python version is bundled inside the app itself and updated when Nicolas Holzschuch pushes a new App Store release. You cannot manually select or switch Python versions — you get whatever version the current release includes, which is always recent.
How to Check Your Python Version in a-Shell
Open a-Shell and run this command:
python3 --version
You will see output like Python 3.13.x. This confirms which version is running on your device.
Pre-Installed Python Libraries in a-Shell
a-Shell ships with a generous set of scientific and utility Python libraries already included, so you do not need to pip install them:
- NumPy
- SciPy
- scikit-learn
- Pandas
- Matplotlib (limited display in terminal mode)
- OpenSSL (for ssl module)
- Standard library modules (os, sys, json, re, pathlib, subprocess, and all others)
These are compiled specifically for iOS’s ARM64 architecture, so they run natively without any extra steps.
How to Install a-Shell and Start Using Python on iPhone
Step 1: Download a-Shell from the App Store
Search for “a-Shell” by Nicolas Holzschuch on the iPhone or iPad App Store. The app is completely free with no ads, no in-app purchases, and no subscription. Install it like any other app. It requires iOS 14.0 or later.
Step 2: Launch the App and Explore the Terminal
Open a-Shell. It will request permission to access files in “On My iPhone/iPad” — grant this so your scripts can read and write files. You will see a terminal prompt. Type help to see available commands, or help -l for a full list.
Step 3: Create and Run Your First Python Script
In the terminal, create a Python file using vim:
vim hello.py
Press i to enter insert mode. Type your script:
python
print("Hello from a-Shell on iOS!")
Press Escape, then type :wq and press Enter to save and quit. Now run it:
python3 hello.py
You will immediately see: Hello from a-Shell on iOS!
You can also start an interactive Python REPL by typing:
python3
This opens the interactive interpreter where you can type Python commands one at a time.
Step 4: Using pickFolder to Access iOS Files
By default, a-Shell works in its own sandbox (~/Documents). To access files in other apps — like files stored in the iOS Files app, iCloud Drive, or another app’s folder — use the pickFolder command:
pickFolder
A file picker appears. Navigate to the folder you want and tap “Open.” a-Shell will bookmark that location. You can then cd into that directory and run Python scripts on files stored there.
Using a-Shell Python on iPad
On iPad, a-Shell takes advantage of iPadOS features that make coding significantly more comfortable:
Multi-window support: Open two a-Shell windows side by side in Split View. Edit your Python file in the left window and run it in the right window simultaneously. Use the multi-window button in the iPadOS toolbar or Expose to manage windows.
External keyboard: Pair a Bluetooth keyboard or use Apple’s Magic Keyboard. In a-Shell Settings, enable “Use Caps Lock as Escape” — this restores key auto-repeat and makes vim usable without frustration. With a physical keyboard, coding in a-Shell on iPad is nearly as comfortable as on a MacBook.
Stage Manager: a-Shell works with iPadOS Stage Manager, letting you float the terminal alongside other apps in a resizable window.
Larger screen advantage: The iPad’s larger display lets you see more terminal output, write longer scripts in vim without scrolling, and read error messages in full without wrapping.
Using pip in a-Shell iOS: What Works and What Doesn’t
pip support is one of the most asked-about features of a-Shell iOS Python. The short answer: pip works, but only for pure-Python packages. Here is everything you need to know.
How to Run pip install in a-Shell
The standard pip command works directly:
pip install requests
Or the Python module form, which is more reliable:
python3 -m pip install requests
To install from a requirements.txt file:
pip install -r requirements.txt
To upgrade a package:
pip install --upgrade requests
To list installed packages:
pip list
Pure-Python Packages vs Native Extensions
This is the most important thing to understand about pip on a-Shell iOS.
iOS does not allow dynamic loading of compiled C extensions at runtime. This means any Python package that contains native C code compiled as a .so or .dylib file will fail to install or fail to import, even if it installs without error.
Pure-Python packages contain only Python code. They work fine with pip in a-Shell.
Native extension packages contain compiled C or C++ code. They will either fail to install or fail at import time with a “cannot load dynamic library” error — unless a-Shell has specifically compiled and bundled them (like NumPy and SciPy, which are pre-included).
Packages That Work with a-Shell pip
| Package | Type | Works in a-Shell? |
|---|---|---|
| requests | Pure Python | Yes |
| beautifulsoup4 | Pure Python | Yes |
| flask | Pure Python | Yes |
| httpx | Pure Python | Yes |
| arrow | Pure Python | Yes |
| rich | Pure Python | Yes |
| pydantic | Pure Python | Yes |
| NumPy | Native (pre-bundled) | Yes (pre-installed) |
| SciPy | Native (pre-bundled) | Yes (pre-installed) |
| Pandas | Native (pre-bundled) | Yes (pre-installed) |
| cryptography | Native extension | No |
| Pillow | Native extension | No (use pre-built if available) |
| lxml | Native extension | No |
| psycopg2 | Native extension | No |
How to Run Python Scripts on iPhone in 2026 (Step-by-Step)
If you are new to coding on iPhone, here is the complete workflow from zero to running a Python script:
- Download a-Shell free from the App Store (search “a-Shell” by Nicolas Holzschuch).
- Open a-Shell. Grant file access permissions.
- Type python3 and press Enter to confirm Python is available. You should see the Python 3.13.x prompt. Type exit() to leave.
- Create a script: type vim myfirstscript.py and press Enter.
- In vim, press i. Type: print(“Python is running on my iPhone!”)
- Press Escape, then type :wq and press Enter to save.
- Run the script: type python3 myfirstscript.py and press Enter.
- See your output immediately on screen.
That’s it. You are running Python on your iPhone in 2026 with no subscription, no cloud service, and no developer account.
a-Shell iOS Python Benefits
Using a-Shell for Python on iOS can solve many practical tasks.
1. Learn and Practice Coding Anywhere
Beginners and students can write and test Python code on the go, without needing a laptop or cloud IDE. I found it handy to practice simple scripts on my iPhone during commutes. The offline environment gives instant feedback.
2. Data and Text Processing
If you need to manipulate text or data on your device, a-Shell + Python or shell tools can do it. For instance, you could copy a text file to your phone and run a Python script to format it, or use grep/awk to search logs.
Since it includes libraries like Pandas and NumPy, lightweight data analysis is possible right on the iPad.
3. Automation with Shortcuts
Developers can automate iOS workflows. For instance, you could write a Python script that renames a batch of files, and run it from a Shortcut. a-Shell Python can process clipboard contents, files, or network data, integrating with Shortcuts or Siri.
4. SSH and Networking
With ssh, scp and other network tools built-in, you can script interactions with servers. You might quickly SSH into a remote machine to run maintenance scripts, or use Python’s requests library for API calls, all within the secure environment of your device.
5. STEM Education
Teachers and students can use it for STEM projects. Python on the iPad (paired with a keyboard) makes a nice mobile lab setup. It’s great for teaching programming concepts using real command-line tools in class or at home.
6. General Use
Even for general users, it can be fun to tinker. You could write a quick script to batch-rename photos, or crunch numbers without signing into iCloud. Every app is sandboxed, so a-Shell only affects its own files unless you use pickFolder.
In my experience, the main advantage is portability. I have run Python demos on a plane, edited code on an iPad at a café, and automated backups via Shortcuts – all because a-Shell brings a genuine shell and Python together on iOS.
a-Shell Step-by-Step Installation Guide on iOS
Step 1: Download a-Shell
Search for “a-Shell” (by Nicolas Holzschuch) on the iPhone or iPad App Store and install it. The app is free (and about 2 GB in size). It requires iOS 14.0 or later (iOS 14 minimum is needed because Python 3.x on iOS uses newer APIs).
Step 2: Launch the App
Open a-Shell. It will ask for permission to access files under “On My iPhone/iPad”. Grant access so you can read and write script files.
Step 3: Create a Python Script
In the terminal prompt, create or open a file. For example, type vim hello.py and press Enter. In vim, press i to insert mode and type a simple script, e.g. print(“Hello from my iPhone!”). Press Esc then :wq to save and quit.
Step 4: Run the Script
Back at the shell prompt, enter python3 hello.py and hit Enter. You should see your message printed. (You can also run python3 -m pip install packagename to install pure-Python packages if needed.)
Step 5: Using pickFolder for Files
If you need to work with files in the iOS Files app or another app’s storage, use pickFolder. For example, type pickFolder and tap on a folder in the Files app to give a-Shell access. Then you can cd into that directory and run Python files there.
Step 6: Keyboard Tips
If you use an external keyboard, enable “Use Caps Lock as Esc” in a-Shell’s settings (this also restores auto-repeat keys, helpful in editors).
Step 7: Verify pip Support
Try installing a small module with pip. If it succeeds, your network is fine. Remember: pip only works for pure-Python modules on a-Shell. If a package has native extensions, installation may fail on iOS.
Step 8: Start Coding
You’re all set. You can now use python3 as your scripting environment anytime. Explore built-in help by typing help or help -l for commands.
Throughout this process, a-Shell behaves like a typical terminal, so common Unix instructions apply. For example, use ls to list files, mkdir to make directories, etc. The built-in vim and pico editors let you write and edit code or text files directly.
a-Shell iOS Shortcuts Integration: Automate Python Scripts
One of a-Shell’s most powerful and underused features is its deep integration with Apple Shortcuts. You can run any a-Shell command or Python script from a Shortcut, passing data in and receiving output back.
Running a Python Script from Shortcuts
- Open the Shortcuts app on your iPhone or iPad.
- Create a new Shortcut.
- Add the action “Run Script in a-Shell” (search for “a-Shell” in the action library).
- In the script field, type: python3 ~/Documents/myscript.py
- Choose “In App” mode for scripts that need full a-Shell features, or “In Extension” for simple commands.
- Run the Shortcut. a-Shell will execute the script and return any output.
Passing Variables into a-Shell from Shortcuts
You can pass Shortcut variables (like clipboard text or a file) into a-Shell:
- In the Shortcut, add a “Text” action containing your variable (e.g., Clipboard).
- Pass it as a parameter: python3 ~/Documents/process.py “{Clipboard text}”
- In your Python script, access it with import sys; text = sys.argv[1].
This workflow lets you build Shortcuts that process text, rename files, call APIs, or run any Python logic, all triggered from a Shortcut button or Siri voice command.
a-Shell iOS Python Features: Complete Overview
Local Python 3 Interpreter
a-Shell comes with a Python 3 environment built-in. You can run scripts with the python3 command. The latest versions even include popular libraries (SciPy, NumPy, scikit-learn, etc.) thanks to recent updates. You can also use pip install <package> to add any pure-Python module.
Full Unix Command Set
Like a mini Linux, a-Shell provides commands such as ls, cd, cp, grep, awk, sed, ssh, scp, curl, ping, nslookup, whois, and more. It even has man pages so you can read documentation for commands.
This means you can manipulate files, test network connectivity, or automate text processing directly on your phone.
Multiple Programming Languages
Besides Python, you get Lua, JavaScript, Perl, C and C++ compilers, and TeX (with TikZ and LuaTeX).
For C/C++, a-Shell uses clang to compile to WebAssembly and run with WASI. This is overkill for simple scripting, but it’s handy if you need to run a compiled tool or library. You can write and compile C code right on the device and execute the result.
Vim and Editors Included
It includes the vim editor plus pico (similar to nano) and the line editor ed. I used vim to edit Python files with syntax highlighting. For newcomers, pico is easier. In any case, you can edit code inside the app and then run it immediately.
Apple Shortcuts and File Sharing
a-Shell integrates with iOS’s Shortcuts app. You can create shortcuts that send a file or command into a-Shell and get back the result.
For example, you could have a shortcut trigger a Python script in a-Shell and return the output text. It also uses iOS 13+ file management: the pickFolder command lets you access files in other apps (like the Files app), and a-Shell bookmarks these locations for quick access.
Multi-Window Support
If you have an iPad (or iOS 13+ on iPhone), you can open multiple a-Shell windows simultaneously. This is useful to run one script in one window while editing or compiling in another, side by side.
Free and Open-Source
a-Shell is completely free with no ads or in-app purchases on the App Store. Its source code is public under a BSD license, which means the community can review and improve it.
The developer actively fixes bugs and adds features, and you can even join their Discord or GitHub to report issues or suggestions.
a-Shell vs Other Python Apps for iOS (2026 Comparison)
| Feature | a-Shell | Pythonista 3 | iSH Shell | Carnets (Jupyter) | Replit (online) |
|---|---|---|---|---|---|
| Price | Free | $9.99 | Free | Free | Free / Paid |
| Python version | 3.13 | 3.10 | 3.x (via apk) | 3.x | Latest |
| pip support | Yes (pure Python) | Yes (limited) | Yes (via apk) | Yes (limited) | Yes |
| Offline | Yes | Yes | Yes | Yes | No |
| Unix shell | Yes (full) | No | Yes (Alpine Linux) | No | No |
| iOS Shortcuts | Yes | Yes | No | No | No |
| Vim editor | Yes (built in) | No | Via apk | No | No |
| Multi-window (iPad) | Yes | Yes | Limited | Yes | Yes |
| Open source | Yes | No | Yes | Yes | No |
| Pre-installed libs | NumPy, SciPy, Pandas, scikit-learn | NumPy, many more | Install via apk | NumPy, matplotlib | Full |
| Jailbreak needed | No | No | No | No | No |
a-Shell vs Pythonista 3
Pythonista 3 is the premium alternative. It costs $9.99, has a graphical IDE with autocomplete, and supports more pre-built packages including some with native extensions. However, it is not free and has not been updated as frequently in recent years. a-Shell is free, more actively maintained, and gives you a genuine Unix shell — Pythonista does not. Choose Pythonista if you want a polished GUI IDE. Choose a-Shell if you want a real terminal and broader command-line tools.
a-Shell vs iSH Shell
iSH runs a full Alpine Linux environment on iOS using x86 emulation. It gives you access to the Alpine package manager (apk) and can install almost any Linux package. However, it is significantly slower because it emulates an x86 CPU on ARM hardware. a-Shell runs natively on ARM64, making it much faster for Python scripts. iSH is better if you need a full Linux environment; a-Shell is better for fast, practical Python work.
a-Shell vs Carnets (Jupyter)
Carnets brings the Jupyter Notebook interface to iOS. It is great for data science and interactive analysis with rendered output. However, it is a notebook environment, not a shell — you cannot run arbitrary shell commands or use vim. a-Shell is better for scripting and automation; Carnets is better for exploratory data analysis in a familiar notebook interface.
a-Shell vs Online IDEs (Replit, Google Colab)
Online IDEs require a continuous internet connection and store your code on someone else’s server. a-Shell runs entirely offline and locally — your code never leaves your device. For travel, privacy, or unreliable internet, a-Shell wins. For collaborative projects or large-scale computation, online IDEs may be more appropriate.
Troubleshooting
Even a-Shell is robust, you might encounter a few issues:
Problem 1: Cannot find commands
If you try running a command and see “command not found,” you may need to install it. Use the pkg command to find and install additional tools. For example, pkg install wget to add the wget command.
Problem 2: pip or Python errors
Some users have reported pip issues on certain iPadOS versions. If pip fails, ensure you updated to the latest a-Shell version. Also try python3 -m pip install <package> instead of pip install. Remember some libraries need C components – those won’t work.
Problem 3: File write errors
On iOS, you can’t write files in arbitrary system directories. a-Shell defaults to using ~/Documents. If a script tries to write to ~, it may fail. To avoid this, work inside Documents or use pickFolder to choose a writable location.
Problem 4: Keyboard quirks in Vim
If using vim, you might notice keys don’t repeat normally. The fix is in Settings: enable “Caps Lock as Escape” to get auto-repeat. This is a known iOS limitation, not an app bug.
Problem 5: Shortcuts execution
When running a-Shell commands from Shortcuts, there are In App and In Extension modes. “In Extension” is fast but can only do simple commands. If something fails in an Extension, try “In App” mode which opens a-Shell to run your commands.
Problem 6: App crashing/freezing
Rare, but if a-Shell becomes unresponsive, try quitting and reopening it. The developer is quick to address crashes; checking for updates often helps. For serious bugs, use the GitHub Issues or email provided in the app to get help.
These troubleshooting tips cover the common pitfalls. In general, remember a-Shell is giving you a full Unix shell – most fixes are the same as on desktop (check paths, permissions, etc.). If something still doesn’t work, the a-Shell GitHub discussions and Discord community are very responsive.
FAQs
What Python version does a-Shell use?
a-Shell includes the latest Python 3. The App Store notes updates to Python 3.13 along with scientific.
Is pip supported?
Yes. You can use pip or python3 -m pip to install pure-Python packages. For example, pip install numpy should work since NumPy is pure-Python here. However, packages with C extensions often fail, so stick to pure-Python libraries or those pre-included in a-Shell.
Do I need internet for a-Shell?
No network is required for normal use. You can create files and run commands entirely offline. The only time you need internet is when installing new pip packages or downloading files with curl/wget. All computations themselves happen on your device.
What’s the difference between a-Shell and a-Shell mini?
a-Shell is the full version with all features. a-Shell mini is a smaller download that omits the C compiler, TeX engine, and some large Python libraries. If you only need basic scripting and want a smaller app, the mini version might suffice.
Is a-Shell free and safe?
Yes. It’s free on the App Store with no hidden costs. The code is entirely open-source under a FreeBSD license, so there are no secret trackers. All your code and data stay on your device (nothing is uploaded). The developer is reputable (a Stanford professor) and active in fixing bugs, which builds trust in the app.
Can I use a-Shell on Mac or Windows?
There is a-Shell app for Mac, but for Windows you would use other solutions. On Mac it works similarly as a local terminal app.
Is a-Shell Safe?
Because a-Shell runs entirely on your device, it’s as safe as any normal iOS app. It does not send your scripts or data to any server your code and files stay local.
In fact, the official Python docs note that iOS only allows Python inside an app bundle, so a-Shell simply bundles the Python interpreter inside itself.
This means your code executes in a secure sandbox like any other app, without exposing your personal data. The app itself is high quality: it’s open-source with hundreds of contributors, actively maintained, and has a strong user community.
The App Store ratings are very positive, and the developer promptly addresses security or stability issues.
As always, exercise normal caution when running any code, but otherwise a-Shell is a trustworthy environment for development on iOS.
Final Words
a-Shell is a powerful, genuinely Unix-like terminal environment for iPhones and iPads, and its Python support is first-rate. It turns your device into a pocket computer where you can write, run and automate Python scripts easily.
In my testing, it handled everything I needed from simple hello-world scripts to data-processing tasks without hiccups. The app is feature-rich yet free, and the friendly developer community means help is available if you get stuck.
The learning curve is steeper than a normal app because it’s command-line based, but for anyone willing to learn a bit of shell usage, it’s incredibly rewarding.
Beginners can use it to practice coding anywhere, while advanced users gain a convenient tool to automate or debug on the go.
Overall, I highly recommend a-Shell for running Python on iOS. It’s well-designed, regularly updated, and it solves the age-old problem of “How can I run Python on my phone?” With a-Shell, you absolutely can — directly and reliably.
Author Note: This guide was written and tested using a-Shell version 1.14+ on an iPhone 15 Pro running iOS 18 and an iPad Pro running iPadOS 18. All commands and examples were verified on-device. For the latest changes, check the official a-Shell GitHub repository at github.com/holzschu/a-Shell.
Useful Links: