If a library requires pyparsing>=3 and another library requests pyparsing<3, that’s the end, you are out of business.
This article is very much only applicable to Python and other package managers that don't scope dependencies. I think nuget (.NET) also works like this.
In Nodejs land, if you depend on pkg v3, and another dependency needs v2, they'll happily co-exist with no trouble, as long as those v2 and v3 didn't need to talk to each other. If you did only want one version of a package, that is also supported with peerDependencies.
There is a section called “Python is not JavaScript”, the first subsection of which is “technical differences”.
In it the author explains that javascript/npm uses local dependencies, so transitive conflicts are not an issue, and it clearly states that this “invalidates several of the arguments above”.
Could scoped dependencies even work in Python? Especially if there is any native C code involved (which there will be) I imagine you may get symbol conflicts when trying to load two different versions of the same shared sofile.
In Nodejs land, if you depend on pkg v3, and another dependency needs v2, they'll happily co-exist with no trouble, as long as those v2 and v3 didn't need to talk to each other. If you did only want one version of a package, that is also supported with peerDependencies.