I'd forgotten that Bazel "helpfully" adds __init__.py files into folders that match the workspace name, breaking imports.