Skip to main content

A hipster theme for the IPython REPL

Project description

IPython Agnoster (aka IPster) is a hipster theme for the IPython REPL. It was designed to provide a consistent terminal experience around Agnoster Zsh theme fork.

IPster is optimized for people who use:

  • Solarized colorscheme;

  • Unicode-compatible fonts.

For GNOME GNU/Linux users, I highly recommend GNOME Terminal + Solarized dark + DejaVu Sans Mono Nerd.
For KDE GNU/Linux users, I highly recommend Konsole + Solarized Dark + DejaVu Sans Mono Nerd.
For Mac users, I highly recommend iTerm 2 + Solarized Dark.

With some extra hassle this theme works on Windows too.

Installation

For IPython>=5.0 install the package:

pip install -U pip setuptools  # update environment markers support
pip install ipython-agnoster

For IPython>=0.11,<5.0 clone the repository and copy the ipster module to the extensions directory (deprecated):

git clone --depth=1 https://github.com/i5ar/ipster.git
cd ipster
cp -r ipster "$HOME/.ipython/extensions"

Configuration

Once the module is installed you need to configure it.

Edit your configuration file ~/.ipython/profile_default/ipython_config.py:

## Use 24bit colors instead of 256 colors in prompt highlighting.
c.TerminalInteractiveShell.true_color = True

## Set the color scheme (NoColor, Neutral, Linux, or LightBG).
c.InteractiveShell.colors = 'Linux'

##
c.InteractiveShell.separate_in = ''

For IPython>=5.0 only add the following lines:

from ipster.since_5 import IPsterPrompts, IPsterStyle

c.TerminalInteractiveShell.prompts_class = IPsterPrompts

highlighting_ipstyle = IPsterStyle().overrides_linux()
c.TerminalInteractiveShell.highlighting_style_overrides = highlighting_ipstyle

For IPython>=0.11,<5.0 only add the following lines (deprecated):

from pygments.token import Token

# Define prompt colors
style_overrides_linux = {
    Token.IPsterPromptVirtualenv: 'bg:#859900 #073642',
    Token.IPsterPowerlinePromptVirtualenv: 'bg:#073642 #859900',
    Token.Prompt: 'bg:#073642 #839496',
    Token.PromptNum: 'bg:#073642 #859900 bold',
    Token.OutPrompt: 'bg:#073642 #839496',
    Token.OutPromptNum: 'bg:#073642 #dc322f bold',
    Token.IPsterPowerlinePrompt: '#073642',
    Token.IPsterPromptSpace: '#839496',
}

# Override prompt colors
c.TerminalInteractiveShell.highlighting_style_overrides = style_overrides_linux

# Load extension
c.InteractiveShellApp.extensions = [
    'ipster.post_0_11'
]

Compatibility

Tmux

True color support must be enabled in the configuration file ~/.tmux.conf for Solarized colorscheme to work properly:

# Override screen 256 color with true color
set-option -ga terminal-overrides ",xterm-256color:Tc"

If this fix doesn’t work your version of Tmux is probably too old.

Roadmap

When using IPython shortcuts for Vi mode, the current mode indication might be very helpful. It would be great if IPster could show in a right prompt the Vi mode.

Contribute

Suggestions and pull requests are welcome.

Extras

If you already use Powerline for IPython, install the IPster theme under the extras directory, please.

TODO

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

ipython-agnoster-0.1.1.tar.gz (5.7 kB view details)

Uploaded Source

File details

Details for the file ipython-agnoster-0.1.1.tar.gz.

File metadata

File hashes

Hashes for ipython-agnoster-0.1.1.tar.gz
Algorithm Hash digest
SHA256 2f4e0c8faaee9357456fed22d26077a6edf447605fc568f332141450b0e9ee95
MD5 8c24c0d02e0f6a40119f6e527abddbf3
BLAKE2b-256 78b91836f0b94f1d038a02099534d7b355a8791163cb21fbe667915897b5fe29

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page