I think a crucial difference between Python and JS here is that Python also has a global package namespace after installation, and JS doesn’t. For JS, if you let different people register
@user2/foo, then that’s fine; for Python, they probably both want to use the
foo name at runtime, and thus couldn’t be installed in the same environment.
Given that we do have a global namespace at runtime, and are stuck with that (barring major changes to the Python language itself), it’s probably simpler if packaging also keeps a global namespace.