Skip to content

Display the packages with wheels compatible with the newest Python #163

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
wants to merge 1 commit into
base: main
Choose a base branch
from

Conversation

befeleme
Copy link

@befeleme befeleme commented Sep 5, 2024

Motivation:
Every year, the Fedora Python contributors open a bunch of issues to upstream projects to ask them to publish the new Python wheels early. This update will increase the visibility of the projects that need our attention and may serve as a gentle nudge for the project authors to not stay behind the rest of the ecosystem.

Note: If this is not a desired improvement of pythonwheels.com, no hard feelings! In such case, I'd host the page on my own GH pages.

The rendered page:
image

@@ -70,12 +70,16 @@ <h3 id="advantages">Advantages of wheels</h3>
<h2 id="about-list">What is this list?</h2>
<p>This site shows the top 360 most-downloaded packages on <a href="https://pypi.org/">PyPI</a> showing which have been uploaded as wheel archives.</p>
<ul>
<li><span class="text-success">Green</span> packages offer wheels,</li>
<li><span class="text-success">Green</span> packages offer wheels compatible with the newest Python version (updated shortly before its final release),</li>
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggestion: Let's mention the actual version from NEWEST_PYTHON_VER somewhere, please

Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

It's displayed when you hover over the green packages on the list. However I agree, it could be made more visible.

Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I amended this on the line 77 of the diff

Copy link
Owner

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think I'd like this as:

Suggested change
<li><span class="text-success">Green</span> packages offer wheels compatible with the newest Python version (updated shortly before its final release),</li>
<li><span class="text-success">Green</span> packages offer wheels (either universal, or built for Python 3.13),</li>

I want to avoid adding any kind of template generation, but I'm open to the idea of adding a new key into the JSON to represent the targeted Python version though, if you're happy to include that?

"updated shortly before its final release"

I'm on the fence about the idea of updating the Python version on this website before Python does so. If and when that's done, I think it would need a clearer call-out to explain why, and I think it would deserve its own PR.

Motivation:
Every year, the Fedora Python contributors open a bunch of issues to
upstream projects to ask them to publish the new Python wheels early.
This update will increase the visibility of the projects that need
our attention and may serve as a gentle nudge for the project authors
to not stay behind the rest of the ecosystem.
<li><span class="text-muted">White</span> packages have no wheel archives uploaded (yet!).</li>
</ul>
<p>Currently, Python 3.13 is considered the newest Python version.</p>
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks. Is it possible to use the NEWEST_PYTHON_VER value here? Otherwise I am afraid the version might get out of sync later.

Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

AFAIK, we'd have to generate index.html from a template rather than use the file verbatim as it is now. So I guess that would require pulling jinja2 and adding the generating machinery? Maybe there is an easier way?

Copy link
Owner

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

As mentioned above, I think we can put this version in the explanation of the green packages, so will not need this line here.

@befeleme
Copy link
Author

befeleme commented Oct 1, 2024

FYI: I've deployed the same functionality on https://status.fedoralovespython.org/wheels/ using the frontend bits from pyreadiness.org, so I don't rely on this being added to pythonwheels.com - feel free to close this if not interested.

Copy link
Owner

@meshy meshy left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thank you for this good idea, @befeleme, and the work you've put into it. Thanks also to @hroncok for your review.

There are some minor things I'd like to be addressed before this is merged, but I like the direction.

@@ -70,12 +70,16 @@ <h3 id="advantages">Advantages of wheels</h3>
<h2 id="about-list">What is this list?</h2>
<p>This site shows the top 360 most-downloaded packages on <a href="https://pypi.org/">PyPI</a> showing which have been uploaded as wheel archives.</p>
<ul>
<li><span class="text-success">Green</span> packages offer wheels,</li>
<li><span class="text-success">Green</span> packages offer wheels compatible with the newest Python version (updated shortly before its final release),</li>
Copy link
Owner

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think I'd like this as:

Suggested change
<li><span class="text-success">Green</span> packages offer wheels compatible with the newest Python version (updated shortly before its final release),</li>
<li><span class="text-success">Green</span> packages offer wheels (either universal, or built for Python 3.13),</li>

I want to avoid adding any kind of template generation, but I'm open to the idea of adding a new key into the JSON to represent the targeted Python version though, if you're happy to include that?

"updated shortly before its final release"

I'm on the fence about the idea of updating the Python version on this website before Python does so. If and when that's done, I think it would need a clearer call-out to explain why, and I think it would deserve its own PR.

@@ -70,12 +70,17 @@ <h3 id="advantages">Advantages of wheels</h3>
<h2 id="about-list">What is this list?</h2>
<p>This site shows the top 360 most-downloaded packages on <a href="https://pypi.org/">PyPI</a> showing which have been uploaded as wheel archives.</p>
<ul>
<li><span class="text-success">Green</span> packages offer wheels,</li>
<li><span class="text-success">Green</span> packages offer wheels compatible with the newest Python version (updated shortly before its final release),</li>
<li><span class="text-warning">Orange</span> packages offer older wheels,</li>
Copy link
Owner

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think this may be clearer as:

Suggested change
<li><span class="text-warning">Orange</span> packages offer older wheels,</li>
<li><span class="text-warning">Orange</span> packages offer wheels built for older Python versions,</li>

<li><span class="text-muted">White</span> packages have no wheel archives uploaded (yet!).</li>
</ul>
<p>Currently, Python 3.13 is considered the newest Python version.</p>
Copy link
Owner

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

As mentioned above, I think we can put this version in the explanation of the green packages, so will not need this line here.

<p>Packages that are known to be deprecated are not included. (For example distribute). If your package is incorrectly listed, please <a href="https://github.com/meshy/pythonwheels/issues/">create a ticket</a>.</p>
<p>This used to show the all-time most-downloaded packages. The all-time list is no longer available, and the packages in <a href="https://hugovk.github.io/top-pypi-packages/">the last-30-days list</a> will change to reflect more closely what the Python community is using.
<p>This is not the official website for wheels, just a nice visual way to measure adoption. To see the authoritative guide on wheels and other aspects of Python packaging, see the <a href="https://packaging.python.org">Python Packaging User Guide</a>.</p>
<h2 id="creating-new-version-wheels">My package is orange. What can I do?</h2>
<p>If you have a package that doesn't publish the wheels for the newest Python yet, consider releasing them on PyPI. This will make it possible for Python users to start developing with a new Python version from the day of its release.</p>
Copy link
Owner

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Can we move this section to after the "My package is white" section, please?

I'd like to make some changes to the wording here:

Suggested change
<p>If you have a package that doesn't publish the wheels for the newest Python yet, consider releasing them on PyPI. This will make it possible for Python users to start developing with a new Python version from the day of its release.</p>
<p>This indicates that your package doesn't yet publish the wheels compatible with the latest Python. Consider releasing a new compatible build or version, to make it possible for users of your package to update Python.</p>

For the following paragraph: I don't know much about the stable ABI, and I think it's worth going into a little more detail about the impact that porting would make. Would it mean that it's possible to release a universal wheel?

@meshy
Copy link
Owner

meshy commented Apr 2, 2025

Every year, the Fedora Python contributors open a bunch of issues to upstream projects to ask them to publish the new Python wheels early. This update will increase the visibility of the projects that need our attention and may serve as a gentle nudge for the project authors to not stay behind the rest of the ecosystem.

I should also say: thank you for the insight into Fedora's release process! I'm happy this plays some small part in assisting.

@meshy
Copy link
Owner

meshy commented Apr 2, 2025

@befeleme, you may also be interested in @di's https://pyreadiness.org/, which offers per-version compatibility information in a way that looks similar to your requirements.

Comment on lines +7 to +12
.warning {
stroke: #d58512;
stroke-width: 1;
fill: #ed9c28;
}

Copy link
Owner

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

In light of this historical comment, I wonder if there may be a more broadly accessible colour than orange here.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants