Marco-Sulla / python-frozendict

A simple immutable dictionary for Python
https://github.com/Marco-Sulla/python-frozendict
GNU Lesser General Public License v3.0
133 stars 16 forks source link

Release pure Python wheel on pypi for version >= 2.4 #108

Open maartenbreddels opened 2 weeks ago

maartenbreddels commented 2 weeks ago

Before version 2.4.0, a pure Python wheel was available: https://pypi.org/project/frozendict/2.3.10/#files

Now with version 2.4.0, I think since this commit: https://github.com/Marco-Sulla/python-frozendict/commit/ca3e354442460e7267532b0c36c197c1971b48d1

This is not available anymore.

This means that it is not possible to install from a frozendict wheel on platforms that are not in the target lists.

Is it possible to revert the above mentioned commit, and start distributing that wheel again?

For context, we need to put manually the following contraint in

frozendict<2.4

When we want to use it on PyCafe, which uses the pyodide/emscripten platform.

Marco-Sulla commented 2 weeks ago

Pure py wheel are available for Python 3.11 and 3.12.

What archs and Pythons do you use?

maartenbreddels commented 2 weeks ago

I am targeting emscripten/pyodide, for Python 3.12.

I see a pure Python (universal wheel for 2.3.10):

image

But for 2.4.5 I see:

image

Which confuses me :)

Are you saying it's not a universal wheel, but it is a pure Python wheel? I've never seen those. Why do they exist, and how do you produce them? Also, why don't you produce a universal wheel instead, isn't that much more compatible with older and newer Python versions?

Regards,

Maarten

Marco-Sulla commented 2 weeks ago

Because if frozendict is not available for a particular arch, this way pip try to build from sdist. If it fails, then a pure py wheel is produced.

When frozendict used a pure py wheel for all Python versions, pip installed always the pure py version in absence of a specific wheel, without trying to build it from source.

Is there a particular reason you can't just do pip install frozendict?