Skip to content

[ENH]: add an official sixel backend to matplotlib #26755

@ferdinandyb

Description

@ferdinandyb

Problem

I often work over ssh on remote machines, either running scripts or doing interactive work in ipython. Currently, if I want to view a plot from matplotlib, my options are a) save to disk and view the file somehow, b) use the webagg backend, c) instead of ssh, use jupyter and view stuff over https. Up until now using sixels was not really an option in practice, because one would usually want to work a tmux or the like so a disconnect doesn't waste a lot of work. But since a few weeks ago tmux can also render sixels, which opens up the option for a workflow to make plots in ipython directly via sixels. This, at least for me certainly, would be much better, than either webagg or jupyter. A lot of modern terminals support sixels, and I think its addition to tmux also signals that this is now become pretty standard.

Currently there are some unofficial backends, but the most recently updated one is two years old, the repo does not accept issues, but unfortunately, does not work properly (at least I couldn't get a high-res render from it): https://github.com/jonathf/matplotlib-sixel.

Julia also supports sixels, so I think it's safe to say I'm not the only one who would like to work in a REPL with sixels support :)

tldr; I think an official backend that would support sixels in ipython would be very useful for many people.

Proposed solution

Ship matplotlib with a sixel backend.

Metadata

Metadata

Assignees

No one assigned

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions