>> Out of curiosity, how do I draw functions outside classes with UML? How module could be drawn in this case?
As a utility class. >> More theoretical question is if I create classes on the fly, how UML can reflect that? "On the fly" usually means "at runtime". I guess you mean if you "change code" will my diagram stay in sync?. You will have to use round trip tools. I don't know any tool supports round trip for Python code. But if you just mean reverse engineering, lookup PyNSource, Boa Constructor, PyReverse among others >> (I know that Python code itself is best at communication design ideas, but there are some people which prefer to talk UML.) Actually no. Python is a good tool for "prototyping" which is not the same as "communicating design ideas". Diagrams are better for the later and do not need to be executable. At least from what I know, except Eiffel, no language makes that claim. UML is really the only contender currently for design notation. -- http://mail.python.org/mailman/listinfo/python-list