Re: Build question: how do the SciPy source distribution and wheels get uploaded to PyPI?

"Sofia Wagner" <[email protected]> Fri, 19 Apr 2024 03:34:56 -0000
Newsgroups gmane.comp.python.scientific.devel
Message-ID <[email protected]>
Hi Scott, my name is Sofia and I come from stssoftware.ch. You're correct in observing that the tools/wheels/upload_wheels.sh script primarily deals with uploading wheel files to the Anaconda distribution. As for building the source distribution (SD), typically tools like cibuildwheel handle the wheel-building process, but they don't directly build the source distribution.
cibuildwheel focuses on building wheels for multiple Python versions and platforms, ensuring compatibility. However, to generate the source distribution, you might use a separate command or tool, such as python setup.py sdist. This command packages your project's source code into a compressed archive (e.g., .tar.gz), which constitutes the source distribution.
Regarding how both wheels and the source distribution end up on PyPI, it usually involves two separate processes:
Uploading Wheels to PyPI: After the wheels are built, they can be uploaded to PyPI using tools like twine. This process involves executing commands like twine upload dist/*, where dist/* refers to the directory containing the built wheel files.
Uploading Source Distribution to PyPI: Similarly, the source distribution can be uploaded to PyPI using twine upload dist/*.tar.gz or a similar command. This uploads the source distribution archive to PyPI, making it available for installation via pip for users who prefer to install from source.
Both processes, for wheels and the source distribution, are typically part of a project's CI/CD pipeline or release process, ensuring that both types of distributions are made available to users via PyPI.
_______________________________________________
SciPy-Dev mailing list -- [email protected]
To unsubscribe send an email to [email protected]
https://mail.python.org/mailman3/lists/scipy-dev.python.org/
Member address: [email protected]