On Wed, Jun 4, 2025 at 5:36 AM Dave Fisher <w...@apache.org> wrote:
> Let’s discuss the rule, ASF Release policy, and how PyPi distributions are > presenting the conflict. > > Thanks. We also had a sidebar with Mick and I will include here our conclusions (which on a high level align with your advice). > 1. Official Apache Releases are the ones that are currently found on > downloads.apache.org and are staged through svn on dist.apache.org. (work > is ongoing on new platform.) > 2. The `-incubating` naming rule applies to Official Apache Releases. The > rule is to make it clear to downstream users that this is a release from an > Incubator podling. Including a DISCLAIMER or DISCLAIMER-wip in the package > accomplishes this as well. > 3. Release artifacts that are distributed to a Distribution Channel like > Maven Central and PyPi may require variations in policies. > > Solution is to create a poetry source release, rename the packet to use > the -incubator for the vote and release, but use the poetry created > artifact as needed for PiPyTest and PyPi distribution channels. > Yes. So the general solution from both of you is to separate the official ASF release, and any other files, which Mick calls "convenience files". (For example, a project might release compiled binaries or platform specific files simultaneously with the official ASF release, but only the source tar file under dist.apache.org is the official ASF release. At the end of the discussion related to the rc3 attempt, I think we already had a consensus to adopt the same structure as https://dlcdn.apache.org/datasketches/python/5.2.0/ (Then I started reading the python guidelines and we went off track from there...) It seems likke this will actually help us satisfy all requirements. - In https://dist.apache.org/repos/dist/dev/incubator/otava/0.6.0-rc5/ <https://dist.apache.org/repos/dist/dev/incubator/otava/0.6.0-rc4/> we will put the official asf source release - This needs to adhere to asf policy requirements, and need not satisfy any python requirements - My suggested name: apache-otava-incubator-0.6.0-rc5-src.tar.gz - Note the -src (or -sources also ok) this distinguishes the official asf release from the pypi tar file. - In particular, I'm trying to think ahead also into the future when we graduate the incubator. - Content: This should IMO be just a tar package of the git repository. (minus .git/ dir), which is what Aleks has been doing all the time - Under a subdirectory pypi/ - files built with poetry build and intended for pypi.org - These must adhere to python and pypi naming and other policies. They are not part of the official asf release. - apache-otava-0.6.0-rc5.tar.gz aka the source distribution or "sdist" for short - apache-otava-0.6.0-rc5-py3-none-any.whl - These files shoukld still include the disclaimer, and append "(incubating)" to the project name in the README, NOTICE and the description of pyproject.toml I think that covers everything? To make it exolicit, above proposal deviates from Dave's proposal in that the official asf release is just a tar package of the git repository. (I'm flexible on this detail.) henrik