I hope with every fibre of my being that this eventually replaces matplotlib and pyplot.

I can clearly see they've tried, and perhaps succeeded, in solving some of the frustrations of those tools.

However, what on earth kind of behind the scenes object oriented abstract bastardization have they done wherein you modify the instance of the ggplot class by ADDING stuff to it with a + sign!? Like, when you're trying to toggle one of the flags that would get passed to the class object, why not just do it the way every other class in almost every python library i've ever used does?

I find that horrifying. And I think it is just begging to get some bizarre errors, and I think that

what is the alternative? python doesn't have a pipe operator

do you want to do

plot(density(colorify(labelaxis(logscale .... )))))))

Python doesn't have a built-in pipe operator, but that doesn't mean you can't do it. The pipe [1] library is popular.

    is_even = where(lambda x: x % 2 == 0)
    sum(fib() | is_even | take_while(lambda x: x < 4000000)
The Apache Beam SDK for Python is another example. It has its own pipe expressions (|, >>, |>, etc.).

[1] https://github.com/JulienPalard/Pipe