Skip to main content
Join the official Python Developers Survey 2018 and win valuable prizes: Start the survey!

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.

Filename, size & hash SHA256 hash help File type Python version Upload date
ipython-agnoster-0.1.1.tar.gz (5.7 kB) Copy SHA256 hash SHA256 Source None Feb 27, 2018

Supported by

Elastic Elastic Search Pingdom Pingdom Monitoring Google Google BigQuery Sentry Sentry Error logging AWS AWS Cloud computing DataDog DataDog Monitoring Fastly Fastly CDN SignalFx SignalFx Supporter DigiCert DigiCert EV certificate StatusPage StatusPage Status page