conda-incubator / conda-press

Press conda packages into wheels
https://regro.github.io/conda-press-docs/
BSD 3-Clause "New" or "Revised" License
116 stars 10 forks source link

Consider producing sdists (if feasible) #10

Open ncoghlan opened 5 years ago

ncoghlan commented 5 years ago

Something that came up in the discussion over on https://github.com/pypa/packaging-problems/issues/25 is that there are two quite distinct reasons for publishing projects to PyPI:

  1. To provide binary wheels for folks using the default Python package installation toolchain (which conda-press already tackles)
  2. To provide automated build instructions (in the form of an sdist) for folks creating binary artifacts in assorted packaging formats (Linux distro packages, conda, Mac homebrew, ActiveState's PyPM, Enthought's Canopy, etc)

Historically, producing sdists would have been impractical, as getting build dependencies into the build environment would have been painful. With PEP 517/518 though, conda-press could potentially produce sdists that relied on conda-build to run the actual build process.

If this could be done, then it may be a viable fallback where the full wheels are overly large due to the number of dependencies they need to bundle.

scopatz commented 5 years ago

Ahh that is a very interesting idea. I am very open to supporting sdists of this kind, but would probably need some help in pushing it forward. I think there is enough info in the conda-packages to be able to construct sdists of this kind.