[Matplotlib-devel] mplcairo 0.1 release

Antony Lee anntzer.lee at gmail.com
Mon Jul 23 15:51:51 EDT 2018


Yes please!
The issue is essentially that mplcairo depends on a very recent libc++.
For local builds on machines with recent enough tooling (e.g. from
homebrew), that's fine, including on OSX (
https://travis-ci.org/anntzer/mplcairo/jobs/406902684 shows that mplcairo
does work on Travis); the problem is how to ship the new libc++ with the
wheels.  On Linux, gcc has -static-libgcc -static-libstdc++ which are
basically there exactly for that purpose (
https://github.com/anntzer/mplcairo/blob/master/setup.py#L37), but it's
unclear to me how to achieve the same on OSX.  Alternatively, if
recent-enough OSXes already ship a recent-enough libc++, perhaps we could
start with wheels that just target these versions of OSX (not optimal, but
better than nothing)?
Looking forward to your insights,
Antony

On Mon, Jul 23, 2018 at 8:52 PM, Matthew Brett <matthew.brett at gmail.com>
wrote:

> Hi,
>
> Can I help with the macOS wheel build?
>
> Cheers,
>
> Matthew
>
> On Sun, Jul 22, 2018 at 9:52 PM, Antony Lee <anntzer.lee at gmail.com> wrote:
> > Dear all,
> >
> > I am pleased to announce the release of mplcairo 0.1
> >
> > # Description
> >
> > mplcairo is a Matplotlib backend based on the well-known cairo library,
> > supporting output to both raster (including interactively) and vector
> > formats.  In other words, it provides the functionality of Matplotlib's
> > {,qt5,gtk3,wx,tk,macos}{agg,cairo}, pdf, ps, and svg backends.
> >
> > Per Matplotlib's standard API, the backend can be selected by calling
> >
> >     matplotlib.use("module://mplcairo.qt")
> >
> > or setting your MPLBACKEND environment variable to `module://mplcairo.qt`
> > for
> > Qt5, and similarly for other toolkits.
> >
> > The source tarball, and Py3.6 manylinux and Windows wheels, are
> available on
> > PyPI (I am looking for help to generate the OSX wheels).
> >
> > See the README for more details.
> >
> > # Why a new backend?
> >
> > Compared to Matplotlib's builtin Agg and cairo backends, mplcairo
> presents
> > the
> > following features:
> >
> > - Improved accuracy (e.g., with marker positioning, quad meshes, and text
> >   kerning).
> > - Support for a wider variety of font formats, such as otf and pfb, for
> > vector
> >   (PDF, PS, SVG) backends (Matplotlib's Agg backend also supports such
> > fonts).
> > - Optional support for complex text layout (right-to-left languages,
> etc.)
> >   using Raqm.  **Note** that Raqm depends on Fribidi, which is licensed
> > under
> >   the LGPLv2.1+.
> > - Support for embedding URLs in PDF (but not SVG) output (requires
> >   cairo≥1.15.4).
> > - Support for multi-page output both for PDF and PS (Matplotlib only
> > supports
> >   multi-page PDF).
> > - Support for custom blend modes (see `examples/operators.py`).
> >
> > See the README for more details.
> >
> > # Changelog from mplcairo 0.1a1 to mplcairo 0.1
> >
> > - Integration with libraqm now occurs via dlopen() rather than being
> > selected
> >   at compile-time.
> > - Various rendering and performance improvements.
> > - On Travis, we now run Matplotlib's test suite with mplcairo patching
> the
> >   default Agg renderer.
> >
> > Enjoy,
> >
> > Antony Lee
> >
> > _______________________________________________
> > Matplotlib-devel mailing list
> > Matplotlib-devel at python.org
> > https://mail.python.org/mailman/listinfo/matplotlib-devel
> >
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.python.org/pipermail/matplotlib-devel/attachments/20180723/899e955d/attachment-0001.html>


More information about the Matplotlib-devel mailing list