+1 on adding these diagrams to the docs.  It's great to visualize where the special methods are implemented.

On Sat, Dec 30, 2017 at 4:17 PM, Terry Reedy <tjreedy@udel.edu> wrote:
On 12/30/2017 11:11 AM, Yahya Abou 'Imran via Python-ideas wrote:
We can find very usefull class diagramm to understand the hierarchy of the builtin Collection abstract class and interface in java.

Some examples:
http://www.falkhausen.de/Java-8/java.util/Collection-Hierarchy-simple.html
http://www.falkhausen.de/Java-8/java.util/Collection-List.html

But when I search about python's ABC, The more detailed I can find are those from the book of Luciano Ramalho Fluent Python:
https://goo.gl/images/8JGjvM
https://goo.gl/images/6xZqcA

(I think they're done with pyreverse of pylint)

They are fine, but I think we could provide some other more detailed in this page:
https://docs.python.org/3/library/collections.abc.html

The table could be difficult to understand, a diagram help visualize things.

I've began working on it with plantuml and pyreverse, I'm joining to this mail what I've done so far so you can tell me what you think.

We have a few .png files in the docs.  Yours look like the beginning of perhaps 2 nice additions.

A. Width restrictions suggest making the async branches a separate diagram.

B. Be consistent on placement of inherited versus added methods.  Always list inherited first?  Different fonts, as suggested, might be good.

C. After discussion here, and revision, open a doc enhancement issue on bugs.python.org.

--
Terry Jan Reedy


_______________________________________________
Python-ideas mailing list
Python-ideas@python.org
https://mail.python.org/mailman/listinfo/python-ideas
Code of Conduct: http://python.org/psf/codeofconduct/