Hi, it depends :). My two cents:
If you are packaging application (PAPT team): * user is using it in CLI / Xorg * user don't need to know it's written in Python * Python modules are typically private, not usable by other applications/libraries -> one binary package: foo If you are packaging library (DPMT team): * your package is typically not usable by user directly * your package is typically dependency of other packages (Python applications/libraries) -> as many binary packages as "language branches" we have, e.g. python-foo, python3-foo, pypy-foo If you are packaging application with public library part (PAPT team): * both of above * user is using it in CLI / Xorg * BUT package have library part, which can be used in other Python applications/libraries -> as many binary packages as "language branches" we have, e.g. python-foo, python3-foo, pypy-foo + foo for application. "foo" package can contain more than entrypoints, but icons, menu items, ... -- Best regards Ondřej Nový