ipyshell
IPython as your terminal shell — via terminal profile swap, not chsh.
ipyshell launches a pre-configured IPython session where PATH executables work
without ! (via %rehashx), shell commands get pty-backed output recorded in
history (via ipythonng, with inline
images and rich markdown), and an optional AI assistant sees your recent cells —
sources, outputs, images, and errors.
Install & run
pip install ipyshell
ipyshell
First run creates an IPython profile named shell and installs a startup script
into it; ipyshell then execs ipython --profile=shell (extra args are passed
through). Point your terminal emulator's profile at ipyshell to use it as your
shell.
AI assistant
Configure in ~/.config/ipyshell/ipyshell.conf (created with commented defaults
on first run):
[DEFAULT]
model = claude-sonnet-5 # any fastllm model id
# system_prompt = # optional; overrides the built-in default
api_key_env = ANTHROPIC_API_KEY # NAME of the env var holding your key
ctx_cells = 10 # cells of history sent as context
Then lines starting with : become chat requests with your recent shell
activity as context:
[~] secret = 'banana'
[~] :what's the secret?
You can also call await chat('...') directly. The model gets a safe_python
tool (sandboxed via safepyrun, with
safecmd's bash available) so it can
run code in your session — with guardrails against destructive operations.
If no model or API key is configured, AI is skipped silently and everything else still works.
Development
pip install -e .[dev]
python -m pytest
Version lives in ipyshell/__init__.py as __version__; releases use
fastship:
ship-bump --part 2 # patch / 1 minor / 0 major
ship-gh # GitHub release from closed issues
ship-pypi # build + upload to PyPI
Metadata
Release files for ipyshell 0.1.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | Actions |
|---|---|---|---|---|
| ipyshell-0.1.0.tar.gz | 12.7 kB | Without provenance | Details for ipyshell-0.1.0.tar.gz |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Actions Reset |
|---|---|---|---|---|
| ipyshell-0.1.0-py3-none-any.whl | Python 3 | none | any | Details for ipyshell-0.1.0-py3-none-any.whl |
Total release size: 23.5 kB
Release files / ipyshell-0.1.0.tar.gz
| Download URL | ipyshell-0.1.0.tar.gz |
|---|---|
| Size | 12.7 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
5c80aba1845b28451f13ef6f5ae136ac3d0faf9c7466eac2f81187ead9f31108
|
|
BLAKE2b-256 checksum How to use checksums |
12ec6323be423024b16eac28bd0797e1237e69ef6044bc775dcada77cd830e58
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.13.5
|
Release files / ipyshell-0.1.0-py3-none-any.whl
| Download URL | ipyshell-0.1.0-py3-none-any.whl |
|---|---|
| Size | 10.8 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
d7593a9bd20ae7b406778e5f622e8fc16103ba0abaabd9ae2e7d86090618fb18
|
|
BLAKE2b-256 checksum How to use checksums |
8c7b9f6ced4c8fecdaf53b32f68a3e06e3a71225ef14edf817d2d1ce50da1671
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.13.5
|
Security for ipyshell 0.1.0
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.