oh cool -- will look at flit.

On Thu, Sep 18, 2025 at 8:53 AM Jarek Potiuk <[email protected]> wrote:

> The .egg-info folders are a "side artifact" of building packages  - I think
> they are side effect of using setuptools by your pyproject.toml
>
> [build-system]
> requires = ["setuptools>=72.1"]
> build-backend = "setuptools.build_meta"
>
> So they can be entirely ignored and not part of the produced archives. This
> is where `git archive` is very handy - when paired with .gitignore
> excluding those files because it only archives whatever is actually stored
> in git. If you have proper .gitignore, it will ignore all the artifacts
> that are accidentally generated and should never be committed to the repo.
> Git Archive does exactly this - it only adds to the archive files that are
> **actually** part of the repo and committed there if proper .gitignore is
> used.
>
> BTW. My suggestion is also to explore other build backends - specifically,
> if you have no special customisations, python-only package I strongly
> recommend `flit` : https://flit.pypa.io/en/stable/. It is maintained by
> the
> official Python Packaging group (same that manages pip, pipx, hatch and few
> other tools) and it's a kind of minimal implementation of the build
> backend. It has 0 dependencies - it's a fully standalone package, very
> small and modern, and follows quickly all the changes that Python Packaging
> team implements (new metadata versions etc.). When you use flit rather than
> setuptools backend, the .egg-info artifacts are also not generated, they
> are - I believe setuptools historically produces those. Setuptools also has
> some "stability" issues - over the last few years new releases of
> setuptools caused problems (mostly because they are pretty much forced to
> keep backwards compatibility and support invalid metadata because otherwise
> they would break many existing - badly configured - packages in PyPI. Flit
> is much more modern and better maintained and follows all the metadata
> versioning and is generally a lot faster as well.
>
> J.
>
>
> J.
>
> On Wed, Sep 17, 2025 at 9:13 PM Stefan Krawczyk <[email protected]
> >
> wrote:
>
> > So is it okay to leave the .egg-info in? Or?
> >
> > On Mon, Sep 15, 2025, 6:55 AM Jarek Potiuk <[email protected]> wrote:
> >
> > > The .egg-info files are added to .gitignore of ours and we are using
> > > generally speaking `git archive` to build our archives - it will skip
> > > .gitignored files
> > >
> > > On Mon, Sep 15, 2025 at 8:50 AM Jarek Potiuk <[email protected]> wrote:
> > >
> > > > Generated files do not need to include licence information. If you
> are
> > > > using RAT to check licences, you can add .rat-excludes file to
> exclude
> > > > those from rat check. See https://creadur.apache.org/rat/. The
> future
> > > > Apache Trusted Release tool will check .rat-excludes at the top level
> > of
> > > > your source .tar.gz and will use it automatically.
> > > >
> > > > On Mon, Sep 15, 2025 at 12:21 AM Stefan Krawczyk <
> > > > [email protected]> wrote:
> > > >
> > > >> >
> > > >> >  source release which is required must have 'incubating' in the
> > name.
> > > >>
> > > >> ✅
> > > >>
> > > >> Question: we will likely evolve the other packages differently. So
> I'm
> > > >> planning on including subdirectories for the other packages to
> > > distinguish
> > > >> things. I assume that's okay. I see pekka does that.
> > > >>
> > > >>  If you want to also release an sf-hamilton - then you can have 2
> tar
> > gz
> > > >> > files.
> > > >>
> > > >> ✅ actually will add a third, a wheel -- since airflow-core also does
> > > this.
> > > >>
> > > >> The LICENSE in the sf-hamilton file appears wrong. It mentions
> > > >> >
> > contrib/hamilton/contrib/user/skrawcz/customize_embeddings/__init__.py
> > > >> > but I can't find that file in the tar.gz.
> > > >>
> > > >> ✅ Moving to LICENSE in `contrib` package. We'll release that package
> > > >> later.
> > > >>
> > > >> I would also recommend that the directory inside the tar.gz omits
> the
> > > >> > rc0 bit. You can't modify the file after the release vote so you
> > won't
> > > >> > be able to remove the rc0 bit when you do release.
> > > >>
> > > >>  ✅ corrected
> > > >>
> > > >>
> > > >>   ./CONTRIBUTING.md
> > > >> >
> > > >>  ✅Removed
> > > >>
> > > >> >   ./MANIFEST.in
> > > >> >
> > > >>  ✅Updated
> > > >>   ./PKG-INFO
> > > >>  ✅ this is autogenerated by the build process -- airflow-core does
> not
> > > >> have
> > > >> the header on this file.
> > > >>
> > > >> >   ./README.md
> > > >> >
> > > >>  ✅Removed
> > > >>
> > > >> >   ./pyproject.toml
> > > >> >
> > > >>  ✅Updated
> > > >>
> > > >> >   ./rat.txt
> > > >> >
> > > >> ❓ I don't have this?
> > > >>
> > > >> >   ./setup.cfg
> > > >> >
> > > >> This is autogenerated via the build process (python -m build
> > --sdist). I
> > > >> can post-process to remove it / add a header manually. Not sure what
> > > >> airflow-core does because they don't include this file.
> > > >>
> > > >>
> > > >> >   ./hamilton/experimental/databackend.py (this is ok because it is
> > > >> > mentioned in the LICENSE file)
> > > >>
> > > >> Not touching.
> > > >>
> > > >>   ./sf_hamilton.egg-info/PKG-INFO
> > > >> >   ./sf_hamilton.egg-info/SOURCES.txt
> > > >> >   ./sf_hamilton.egg-info/dependency_links.txt
> > > >> >   ./sf_hamilton.egg-info/entry_points.txt
> > > >> >   ./sf_hamilton.egg-info/requires.txt
> > > >> >   ./sf_hamilton.egg-info/top_level.txt
> > > >>
> > > >>  ❓ These are all generated as part of the source distribution
> process
> > > >> (python -m build --sdist). It's metadata that some python tools use
> > IIUC
> > > >> (but, Airflow core does not have this). Not sure whether they do
> some
> > > post
> > > >> processing to remove it. *I'm guessing that we should too?*
> > > >>
> > > >> Will put up RC1 in a few days.
> > > >>
> > > >> Cheers,
> > > >>
> > > >> Stefan
> > > >>
> > > >> On Sun, Sep 14, 2025 at 10:38 AM PJ Fanning <[email protected]>
> > > wrote:
> > > >>
> > > >> > These files are missing Apache License headers.
> > > >> >
> > > >> >   ./CONTRIBUTING.md
> > > >> >   ./MANIFEST.in
> > > >> >   ./PKG-INFO
> > > >> >   ./README.md
> > > >> >   ./pyproject.toml
> > > >> >   ./rat.txt
> > > >> >   ./setup.cfg
> > > >> >   ./hamilton/experimental/databackend.py (this is ok because it is
> > > >> > mentioned in the LICENSE file)
> > > >> >   ./sf_hamilton.egg-info/PKG-INFO
> > > >> >   ./sf_hamilton.egg-info/SOURCES.txt
> > > >> >   ./sf_hamilton.egg-info/dependency_links.txt
> > > >> >   ./sf_hamilton.egg-info/entry_points.txt
> > > >> >   ./sf_hamilton.egg-info/requires.txt
> > > >> >   ./sf_hamilton.egg-info/top_level.txt
> > > >> >
> > > >> > On Sun, 14 Sept 2025 at 18:35, PJ Fanning <[email protected]>
> > > wrote:
> > > >> > >
> > > >> > > The LICENSE in the sf-hamilton file appears wrong. It mentions
> > > >> > >
> > > contrib/hamilton/contrib/user/skrawcz/customize_embeddings/__init__.py
> > > >> > > but I can't find that file in the tar.gz.
> > > >> > >
> > > >> > > I would also recommend that the directory inside the tar.gz
> omits
> > > the
> > > >> > > rc0 bit. You can't modify the file after the release vote so you
> > > won't
> > > >> > > be able to remove the rc0 bit when you do release.
> > > >> > >
> > > >> > > The next vote should be for rc1. And if that fails, rc2, etc.
> > > >> > > I would recommend that the next release starts with rc1. This is
> > > more
> > > >> > > usual for ASF release votes.
> > > >> > >
> > > >> > > On Sun, 14 Sept 2025 at 18:28, PJ Fanning <[email protected]
> >
> > > >> wrote:
> > > >> > > >
> > > >> > > > The rule about incubating in the name is at:
> > > >> > > > https://incubator.apache.org/guides/releasemanagement.html
> > > >> > > >
> > > >> > > > <snip>
> > > >> > > > Here is a minimal set of requirements, when using the work in
> > > >> progress
> > > >> > > > disclaimer, a podlings release must abide by:
> > > >> > > >
> > > >> > > > Include the word incubating in the release file name.
> > > >> > > >
> > > >> > > > Include an ASF LICENSE and NOTICE file.
> > > >> > > >
> > > >> > > > Have valid checksums or signatures.
> > > >> > > >
> > > >> > > > Be placed in the correct place on the ASF’s infrastructure.
> > > >> > > >
> > > >> > > > Have a KEYS file to validate the release.
> > > >> > > >
> > > >> > > > Other issues, such as:
> > > >> > > >
> > > >> > > > Missing ASF headers.
> > > >> > > >
> > > >> > > > Missing license information.
> > > >> > > >
> > > >> > > > Included unexpected binary code.
> > > >> > > >
> > > >> > > > Including code of unknown origin.
> > > >> > > > </snip>
> > > >> > > >
> > > >> > > > On Sun, 14 Sept 2025 at 18:25, PJ Fanning <
> [email protected]
> > >
> > > >> > wrote:
> > > >> > > > >
> > > >> > > > > I'm not sure what process is being followed. Many podlings
> > have
> > > a
> > > >> > > > > document describing the release process that they follow.
> > > >> > > > > I want to highlight one important item for podlings. The
> > release
> > > >> must
> > > >> > > > > be approved by a vote in the podling mailing list. Requires
> at
> > > >> least
> > > >> > > > > 72 hours of voting and a min of 3 +1s from PPMC members. But
> > you
> > > >> also
> > > >> > > > > need a 2nd vote after this on the Incubator general mailing
> > list
> > > >> > where
> > > >> > > > > the IPMC members vote separately. Requires at least 72 hours
> > of
> > > >> > voting
> > > >> > > > > and a min of 3 +1s from IPMC members.
> > > >> > > > >
> > > >> > > > > On Sun, 14 Sept 2025 at 18:19, PJ Fanning <
> > [email protected]
> > > >
> > > >> > wrote:
> > > >> > > > > >
> > > >> > > > > > The source release which is required must have
> 'incubating'
> > in
> > > >> the
> > > >> > name.
> > > >> > > > > > If you want to also release an sf-hamilton - then you can
> > > have 2
> > > >> > tar gz files.
> > > >> > > > > >
> > > >> > > > > > Here is an actual vote thread to look at.
> > > >> > > > > >
> > > >> https://lists.apache.org/thread/b14519zt9v2s9gvpg6jo0wzhblo7drhx
> > > >> > > > > >
> > > >> > > > > > It has a description of the voting rules and the checks
> that
> > > are
> > > >> > > > > > required (or suggested) for voters to perform.
> > > >> > > > > >
> > > >> > > > > > On Sun, 14 Sept 2025 at 18:16, PJ Fanning <
> > > [email protected]
> > > >> >
> > > >> > wrote:
> > > >> > > > > > >
> > > >> > > > > > > Votes for releases are usually proceeded by discussion
> > > >> threads.
> > > >> > > > > > > I would suggest that you look at other podling mailing
> > lists
> > > >> to
> > > >> > see how podlings are administered.
> > > >> > > > > > > List of podlings
> > > >> > > > > > > https://incubator.apache.org/clutch/
> > > >> > > > > > > Mailing list reading
> > > >> > > > > > > https://lists.apache.org/
> > > >> > > > > > >
> > > >> > > > > > > On 2025/09/14 16:38:18 Stefan Krawczyk wrote:
> > > >> > > > > > > > Okay I think I find one issue. So -1.
> > > >> > > > > > > >
> > > >> > > > > > > > The code literally has RC in version.py. if we just
> > > >> literally
> > > >> > move this
> > > >> > > > > > > > source to releases then this won't fly. I'll need to
> > > change
> > > >> > this. Please
> > > >> > > > > > > > continue to verify. I am assuming there might be one
> or
> > > two
> > > >> > more things to
> > > >> > > > > > > > correct. Will create another RC candidate and vote
> after
> > > >> this
> > > >> > one
> > > >> > > > > > > > concludes.
> > > >> > > > > > > >
> > > >> > > > > > > >
> > > >> > > > > > > >
> > > >> > > > > > > > On Sat, Sep 13, 2025, 10:26 PM Stefan Krawczyk <
> > > >> > [email protected]>
> > > >> > > > > > > > wrote:
> > > >> > > > > > > >
> > > >> > > > > > > > > Hi all,
> > > >> > > > > > > > >
> > > >> > > > > > > > > This is a call for a vote on releasing Apache
> hamilton
> > > >> > 1.89.0-incubating,
> > > >> > > > > > > > > release candidate 0.
> > > >> > > > > > > > >
> > > >> > > > > > > > > This release includes the following changes:
> > > >> > > > > > > > > - Too many to list. Will build tooling to help
> > automate
> > > >> this.
> > > >> > > > > > > > >
> > > >> > > > > > > > > The artifacts for this release candidate can be
> found
> > > at:
> > > >> > > > > > > > >
> > > >> >
> > https://dist.apache.org/repos/dist/dev/incubator/hamilton/1.89.0-RC0
> > > >> > > > > > > > >
> > > >> > > > > > > > > The Git tag to be voted upon is:
> > > >> > > > > > > > > v1.89.0 (based off of this PR
> > > >> > > > > > > > > <https://github.com/apache/hamilton/pull/1378>)
> > > >> > > > > > > > >
> > > >> > > > > > > > > The release hash (can use git tag) will be provided
> > once
> > > >> we
> > > >> > merge a commit
> > > >> > > > > > > > > with version 1.89.0 to main.
> > > >> > > > > > > > >
> > > >> > > > > > > > > Release artifacts are signed with the following key:
> > > >> > > > > > > > >
> > > >> > > > > > > > > 25E1C6FA3B71D486DC46BD3630C8F2B2CC329C0B
> > > >> > > > > > > > >
> > > >> > > > > > > > > The KEYS file is available at:
> > > >> > > > > > > > >
> https://downloads.apache.org/incubator/hamilton/KEYS
> > > >> > > > > > > > >
> > > >> > > > > > > > > Please download, verify, and test the release
> > candidate.
> > > >> > > > > > > > >
> > > >> > > > > > > > > The vote will run for a minimum of 72 hours.
> > > >> > > > > > > > > Please vote:
> > > >> > > > > > > > >
> > > >> > > > > > > > > [ ] +1 Release this package as Apache hamilton
> > > >> > 1.89.0-incubating
> > > >> > > > > > > > > [ ] +0 No opinion
> > > >> > > > > > > > > [ ] -1 Do not release this package because...
> (Please
> > > >> > provide a reason)
> > > >> > > > > > > > >
> > > >> > > > > > > > > On behalf of the Apache Hamilton PPMC,
> > > >> > > > > > > > >
> > > >> > > > > > > > > Stefan Krawczyk
> > > >> > > > > > > > >
> > > >> > > > > > > > > P.S. @Mentors with our project, we literally commit
> > the
> > > >> > version into the
> > > >> > > > > > > > > source code. This means that we will build releases
> > off
> > > of
> > > >> > branches and
> > > >> > > > > > > > > then if all good merge into main. Is that kosher? or
> > > not?
> > > >> > > > > > > > >
> > > >> > > > > > > >
> > > >> >
> > > >>
> > > >
> > >
> >
>

Reply via email to