
Hi there, Just took a glance at the reshuffling branch. I'm glad you're doing this work. Some comments about it though: it's now lxml.etree.etree and lxml.etree.dom in the old situation, and intended, it was just lxml.etree and lxml.dom i.e. there's no need for this separate etree package, we can just put the modules in the lxml container package. dom has nothing to do with etree; it's a completely different way to layer over libxml2. Where did the testrunner test.py go? I see you moved all tests into a separate top-level test directory, but I've been following the pattern in use in Zope (2 and 3), Schooltool, Pypy and Twisted, to name just a few Python projects, where there's a 'tests' or 'test' directory in or next to the package/module being tested. Since these different subpackages can be developed more or less in isolation, this seems to be like a good thing to do, instead of putting them all in the same place. They're unit tests, and belong with the unit they're testing. I see you what looks like an empty __init__.py in the etree package. While that works fine on unixy systems, Windows tools like winzip sometimes have issues, not extracting empty files. I don't use Windows but want my software to be portable to it if possible, so I've therefore made it a habit to place a marker comment "# this is a package" in any __init__.py that I create. Regards, Martijn