There are a lot of design decisions when writing a new python module. I'll try to walk through some of them. Decide where in the above tree the module fits. If possible, put it in an existing category ...