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

Reply via email to