A while back I posted complaining that importing quixote breaks when the quixote package is not at the top level. I suggested using relative package imports, but it turns out that wasn't the real problem. The real problem is that publish depends on util (for dump_request), and util depends on publish (for a lot of things). Is util a client of quixote or the other way around? publish uses util for dump_request session uses util for randbytes I suggest that either these two functions go into a lower-level _quixote_util (or something) module, or move into publish and session, respectively. A lower level util module may be preferable because then the high-level util can import it also and not break client code that uses dump_request. Any better ideas?