Hi Dmitri,

Yes, you can do something like this: "pip install
https://example.com/my_package-1.0.0-py3-none-any.whl";. I agree that the
vote should take place on the exact bits that you've verified, but still
see value in the TestPyPI as a way to validate that a successful artifact
with this code can be submitted to PyPI, even if the release name differs.

If you agree, I can do the following:
* Close this vote thread
* Upload the "non-RC" Python wheel file to SVN
* Open a new vote thread with both the TestPyPI link and the SVN link
* Update #4220 <https://github.com/apache/polaris/pull/4220> to do the
double build and upload to SVN.

What do you think?

Best,
Adnan Hemani

On Fri, Apr 17, 2026 at 4:23 PM Dmitri Bourlatchkov <[email protected]>
wrote:

> Hi Adnan,
>
> That's a good point, but IMHO this means that test.pypi.org is not
> suitable
> as a staging area for ASF releases.
>
> I believe it is critical to validate and vote on exact bits. If the bits
> change after the vote, in principle there's no guarantee that the vote is
> still relevant.
>
> Is it possible to install the Python CLI locally from the archive hosted on
> the usual SVN-backed "dev" server (instead of test.pypi.org)?
>
> Thanks,
> Dmitri.
>
> On Fri, Apr 17, 2026 at 6:22 PM Adnan Hemani via dev <
> [email protected]>
> wrote:
>
> > Hi Dmitri,
> >
> > I understand your concern about using the version without the RC mark on
> > test.pypi.org, but we face the issue: what if this RC fails and a new
> one
> > needs to be started? I don't think we can "re-release" the same version
> > number on PyPI/TestPyPI - even if you delete the artifact manually.
> >
> > From PyPI's website when I try to delete an artifact:
> >
> > > Warning This action cannot be undone!
> > > You will not be able to re-upload a new distribution of the same type
> > with the same version number.
> > > Deletion will break any downstream projects relying on a pinned version
> > of this package. It is intended as a last resort to address legal issues
> or
> > remove harmful releases.
> > > Consider yanking this release, making a new release or a post release
> > instead.
> >
> > I think Kevin's suggestion to put the "non-RC" version in SVN - and then
> > uploading that (after RC passes) to PyPI is a good workaround. WDYT?
> >
> > Best,
> > Adnan Hemani
> >
> > On Fri, Apr 17, 2026 at 12:18 PM Dmitri Bourlatchkov <[email protected]>
> > wrote:
> >
> > > Hi Kevin,
> > >
> > > Thanks for the suggestion for handling RCs with Python artifacts.
> > >
> > > The two artifact approach sounds reasonable to me. I assume the file in
> > SVN
> > > will also have a co-located (detached) signature file.
> > >
> > > Speaking about signatures, and votes, I believe the vote should be on
> > exact
> > > binary artifacts; otherwise, signing does not make sense. Therefore,
> the
> > RC
> > > archive uploaded to PyPi cannot be used for validation because it will
> > not
> > > exactly match the final artifact (checksums will differ, and signature
> > > validation will fail).
> > >
> > > My personal preference would be to just use a version without the RC
> mark
> > > on test.pypi.org (which would match the artifact in SVN). I think the
> > > "test" area of PyPi provides users with enough notice that the
> artifacts
> > > there are not final (yet).
> > >
> > > Cheers,
> > > Dmitri.
> > >
> > > On Fri, Apr 17, 2026 at 2:58 PM Kevin Liu <[email protected]>
> wrote:
> > >
> > > > +1 (non-binding)
> > > >
> > > > I checked both the source dist and wheel from testpypi:
> > > > - LICENSE/NOTICE exists
> > > > - No unexpected binary files
> > > > - All source files have ASF headers
> > > >
> > > > Also ran the CLI locally
> > > > ```
> > > > uvx --index https://test.pypi.org/simple/ --index-strategy
> > > > unsafe-best-match --from apache-polaris==1.4.0rc0 polaris
> > > > ```
> > > >
> > > > Would be great to include the python source dist and wheel in the dev
> > > > release (https://dist.apache.org/repos/dist/dev/polaris/) in the
> > future.
> > > >
> > > > Dmitri, thats a valid point. When the release candidate pass, I would
> > > > expect the artifact uploaded to PyPi have the version `1.4.0`
> (without
> > > the
> > > > rc suffix). I think it is fine that it's different during the RC
> > process.
> > > > It's a convenience to users and can always be rebuilt from the
> source.
> > > >
> > > > In PyIceberg, we build the wheels twice. Once with the RC tag and
> > upload
> > > it
> > > > to PyPI as a pre-release; another without the RC tag and upload to
> dev
> > > SVN.
> > > > During voting, we can check both the uploaded wheels and SVN wheels.
> > When
> > > > the RC passes, we use the wheels in SVN to upload the final version
> to
> > > > PyPI.
> > > >
> > > > Best,
> > > > Kevin Liu
> > > >
> > > > On Thu, Apr 16, 2026 at 4:13 PM Dmitri Bourlatchkov <
> [email protected]>
> > > > wrote:
> > > >
> > > > > Also, should we sign the Python package
> > > (apache_polaris-1.4.0rc0.tar.gz)
> > > > as
> > > > > we sign the server's binary archives?
> > > > >
> > > > > Cheers,
> > > > > Dmitri.
> > > > >
> > > > > On Thu, Apr 16, 2026 at 7:05 PM Dmitri Bourlatchkov <
> > [email protected]>
> > > > > wrote:
> > > > >
> > > > > > Hi All,
> > > > > >
> > > > > > Voting -1 (binding) for now.
> > > > > >
> > > > > > Checked (OK):
> > > > > > * LICENSE
> > > > > > * NOTICE
> > > > > > * Package .py file headers (manually sampled)
> > > > > > * Venv install + CLI smoke test
> > > > > >
> > > > > > My contern:
> > > > > >
> > > > > > I'm not very familiar with Python packages and test.pypi.org,
> but
> > in
> > > > > > PKG-INFO (inside apache_polaris-1.4.0rc0.tar.gz) I see "Version:
> > > > > 1.4.0rc0".
> > > > > >
> > > > > > I wonder whether this version will change when the artifact is
> > > promoted
> > > > > to
> > > > > > "dist"... Is it a concern?
> > > > > >
> > > > > > Also:
> > > > > >
> > > > > > $ venv/bin/pip show apache-polaris
> > > > > > Name: apache-polaris
> > > > > > Version: 1.4.0rc0
> > > > > >
> > > > > > I'd expect "rc0" to be a transient property of the package while
> it
> > > is
> > > > > > being reviewed and voted on, and that the package should report
> > > version
> > > > > > 1.4.0 even while it is staged at test.pypi.org.
> > > > > >
> > > > > > If we intend to repackage the CLI for publication in the main
> PyPi
> > > > index
> > > > > > without the "rc0" mark, that will alter PKG-INFO and essentially
> > > > > invalidate
> > > > > > this vote, I guess (hence my -1 vote).
> > > > > >
> > > > > > The previous (unreleased) version doess not have the "rc" mark in
> > > > > > https://test.pypi.org/project/apache-polaris/1.2.0/
> > > > > >
> > > > > > WDYT?
> > > > > >
> > > > > > If this is not a concern or if I missed something, I'll be happy
> to
> > > > > update
> > > > > > my vote.
> > > > > >
> > > > > > Cheers,
> > > > > > Dmitri.
> > > > > >
> > > > > > On Thu, Apr 16, 2026 at 5:03 AM Adnan Hemani via dev <
> > > > > > [email protected]> wrote:
> > > > > >
> > > > > >> Hi all,
> > > > > >>
> > > > > >> I propose that we release the following RC as the official
> Apache
> > > > > Polaris
> > > > > >> Python CLI 1.4.0 release.
> > > > > >>
> > > > > >> https://test.pypi.org/project/apache-polaris/1.4.0rc0/
> > > > > >>
> > > > > >> Starting with Apache Polaris 1.5.0, the CLI should be released
> > > > alongside
> > > > > >> all other release artifacts within the full Polaris Release
> > > Candidate.
> > > > > >> Work
> > > > > >> to make this happen can be found here:
> > > > > >> https://github.com/apache/polaris/pull/4220
> > > > > >>
> > > > > >> Please vote in the next 72 hours.
> > > > > >>
> > > > > >> [ ] +1 Release this as Apache Polaris 1.4.0
> > > > > >> [ ] +0
> > > > > >> [ ] -1 Do not release this because...
> > > > > >>
> > > > > >> Only PMC members have binding votes, but other community members
> > are
> > > > > >> encouraged to cast non-binding votes.
> > > > > >> This vote will pass if there are 3 binding +1 votes and more
> > binding
> > > > +1
> > > > > >> votes than -1 votes.
> > > > > >>
> > > > > >> Best,
> > > > > >> Adnan Hemani
> > > > > >>
> > > > > >
> > > > >
> > > >
> > >
> > >
> > > --
> > > Dmitri Bourlatchkov
> > > Senior Staff Software Engineer, Dremio
> > > Dremio.com
> > > <
> > >
> >
> https://www.dremio.com/?utm_medium=email&utm_source=signature&utm_term=na&utm_content=email-signature&utm_campaign=email-signature
> > > >
> > > /
> > > Follow Us on LinkedIn <https://www.linkedin.com/company/dremio> / Get
> > > Started <https://www.dremio.com/get-started/>
> > >
> > >
> > > The Agentic Lakehouse
> > > The only lakehouse built for agents, managed by agents
> > >
> >
>

Reply via email to