m-u-xyz
I'm trying to use `findimports` with namespace packages (i.e. those which don't have an `__init__` in their directory tree) and I'm running into some issues. First, the directory structure: ``` $ tree . ├── Makefile ├── moat │ └── main │ └── __init__.py ├── README.md ├── setup.cfg └── setup.py ``` There's a `../util` directory alongside this one which has much the same structure: ``` tree ../util ../util ├── Makefile ├── moat │ └── util │ ├── __init__.py │ ├── times.py │ └── _yaml.py ├── README.rst ├── setup.cfg └── setup.py ``` OK. So when I run `findimports` on this, I get ``` $ PYTHONPATH=.:../util/ findimports --ignore-stdlib main.__init__: anyio asyncclick util setup: setuptools ``` Now this is obviously suboptimal, as there's no "util" package and the toplevel isn't "main" either. I have to do - `touch moat.__init__.py` - `touch ../util/moat/__init__.py` to get a more reasonable output of ``` moat.__init__: moat.main.__init__: anyio asyncclick moat.util setup: setuptools ``` To fix the requirement for the first `touch` statement I would like an option that tells `findimports` that it should assume that every dictionary it finds (or that's named on the command line) might be the root of a namespace package. This way the `src/whatever` style of laying out your source repository would still work unchanged. Imported modules should be recognized no matter whether they're part of a namespace, i.e. the second `touch` should not be necessary even if I don't use that special new option.