Hi Yahya,

I like the full.png diagram, however, I see some issues with it.

Most seriously, the methods it lists don't match the documentation.

E.g. if you check MappingView:

https://docs.python.org/3/library/collections.abc.html#collections.abc.MappingView

you see it has only a __len__ mixin method.
The other methods in the diagram are implementation details
and should be removed.

Some presentation points (all IMHO of course):
* Get rid of the empty boxes.
* Get rid of the trailing (). Since all methods have this, it adds no info.
* There is no visual distinction between the abstract methods
  and the mixin methods. I'd suggest making the abstract methods italic
  or something like that.

Stephan



2017-12-30 17:11 GMT+01:00 Yahya Abou 'Imran via Python-ideas <python-ideas@python.org>:
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.

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