Colin Watson
2024-10-22 11:10:02 UTC
Source: python-multipart
Version: 0.0.9-1
Severity: wishlist
Please see https://github.com/pypa/packaging-problems/issues/818 for
background on this.
The multipart and python-multipart packages on PyPI have historically
had a namespace collision in terms of the files they install, which
makes it difficult to use both. multipart is recommended as a
replacement for parts of the old cgi module that was removed from the
standard library in Python 3.13, and so we're starting to have problems
with this in Debian. I've already needed to temporarily vendor a copy
of multipart into another source package, which is tolerable given that
it's a single-file module and in the case in question was only used in
tests, but it's still not ideal.
Fortunately, there has been progress on this upstream:
python-multipart's import name is being changed from "multipart" to
"python_multipart", but in a backward-compatible way. This means that
more upstreams are likely to add dependencies on multipart without fear
of causing incompatibilities with e.g. FastAPI.
So, how would we deal with this in Debian? It isn't currently possible
to package multipart in the usual way because the python-multipart
package has its natural binary package name (python3-multipart).
My preference would be to follow PyPI's naming and rename as follows:
* python-multipart source: python-python-multipart
* python3-multipart binary: python3-python-multipart
And although it's a bit odd, we could package the new python3-multipart
with a transitional dependency on python3-python-multipart until all its
real reverse-dependencies have been updated in a stable release.
But maybe you have another idea?
Thanks,
Version: 0.0.9-1
Severity: wishlist
Please see https://github.com/pypa/packaging-problems/issues/818 for
background on this.
The multipart and python-multipart packages on PyPI have historically
had a namespace collision in terms of the files they install, which
makes it difficult to use both. multipart is recommended as a
replacement for parts of the old cgi module that was removed from the
standard library in Python 3.13, and so we're starting to have problems
with this in Debian. I've already needed to temporarily vendor a copy
of multipart into another source package, which is tolerable given that
it's a single-file module and in the case in question was only used in
tests, but it's still not ideal.
Fortunately, there has been progress on this upstream:
python-multipart's import name is being changed from "multipart" to
"python_multipart", but in a backward-compatible way. This means that
more upstreams are likely to add dependencies on multipart without fear
of causing incompatibilities with e.g. FastAPI.
So, how would we deal with this in Debian? It isn't currently possible
to package multipart in the usual way because the python-multipart
package has its natural binary package name (python3-multipart).
My preference would be to follow PyPI's naming and rename as follows:
* python-multipart source: python-python-multipart
* python3-multipart binary: python3-python-multipart
And although it's a bit odd, we could package the new python3-multipart
with a transitional dependency on python3-python-multipart until all its
real reverse-dependencies have been updated in a stable release.
But maybe you have another idea?
Thanks,
--
Colin Watson (he/him) [***@debian.org]
Colin Watson (he/him) [***@debian.org]