Is packaging to distros still valuable these days? Yes, both to the ecosystem in general and your own project.[1]
Why get involved?¶
You find what is currently used across the ecosystem
You get reverse-dependency tests
You get notified early of dependencies breakage
You get help from the packagers
Participating as upstream¶
You do not have to be a packager to help with distro packaging. Just running the downstream package build in upstream is a huge step towards it. If your project is not yet packaged, that’s fine, you can do it yourself.
The only files you need to manage are a .spec file and a packit configuration[2].
The spec file can be quite minimal and low/no maintenance:
Name: foo
Version: 0.0.0
Release: %autorelease
Summary: Example package
License: Unlicense
URL: https://example.com
Source: %{pypi_source foo}
BuildRequires: python3-devel
%description
Lorem ipsum
%prep
%autosetup -n foo-%{version}
%generate_buildrequires
%pyproject_buildrequires -x test
%build
%pyproject_wheel
%install
%pyproject_install
%pyproject_save_files foo
%check
%pytest
%files -f %{pyproject_files}
%license LICENSE
%doc README.md
%changelog
%autochangelogOr you can start from a no-op spec file and build up
Name: foo
Version: 0.0.0
Release: %autorelease
Summary: Example package
License: Unlicense
URL: https://example.com
Source: %{pypi_source foo}
%description
Lorem ipsum
%files
%changelog
%autochangelog
Packit is a service available as a GitHub app and on GitLab, but can be extended upon request. There are some onboarding steps to follow, after which you get distro builds in your upstream project.

Shipping to distros¶

Doing the whole packaging process yourself is daunting. It is best to contact your local neighborhood distro packager. You can find some in #scitech or #python channels in Fedora matrix who also share your interest. #devel channel is where you find everyone else if you’re feeling social.
If you want to do it all yourself, drop a line in #join or #devel and there will be people guiding you. Note being a packager is as much a social problem as it is a technical one.
What about non-Fedora?¶
Unfortunately equivalent CI tools do not seem to be available for other distros.


But still the same advice applies, get in touch with a local packager and express your interest.
You can handle the building yourself, but why would you? There are a bunch of edge-case issues you should not be subjected to.