manzt / anywidget

reusable widgets made easy
https://anywidget.dev
MIT License
488 stars 38 forks source link

Sync Python support with ipywidgets? #166

Closed manzt closed 1 year ago

manzt commented 1 year ago

v0.6 dropped support for Python 3.7. Perhaps it was a bit too aggressive? My motivation for dropping support is because 3.7 is now officially EOL, but keeping support longer shouldn't be super complicated. Maybe a good plan would be to defer to whatever ipywidgets is supporting?

maartenbreddels commented 1 year ago

Hi Trevor,

thanks for considering this. My experience is that in practice EOL does not mean much, except some larger mature projects stop making new releases, like numpy for instance. In practice many (especially larger organizations). This is usually not a problem, because numpy's API doesn't change much. However, projects like solara and anywidget might move pretty fast, so there I think it makes more sense to support Python 3.6. I'm not sure my vision is common, but I forsee 3.6 being the new Python2 :)

tlambert03 commented 1 year ago

Maybe a good plan would be to defer to whatever ipywidgets is supporting?

That seems very reasonable. Though, it should be pointed out that while they state 3.7 support in setup.cfg ... it appears to be untested: https://github.com/jupyter-widgets/ipywidgets/blob/311d83a352783bb8b7c1348e49be3bdb1e3724aa/.github/workflows/tests.yml#L80C9-L80C55

manzt commented 1 year ago

Sure thing! First time maintaining a Python project like this, so happy to update my understanding on best practices and support the community to the best of my ability.

With that said, a couple of optional dependencies for anywidget dropped python 3.7 support (e.g., msgspec, jupyterlab v4), so that was another motivator for dropping support. Shouldn't be too hard to add back, but now I'd like to try to be clear how long we intend to support 3.7. Maybe it won't be that bad?

As far as 3.6 goes, it was never officially supported before and ipywidgets doesn't seem to official support it either?

Since it's a core dependency (at the moment), I think it is reasonable to defer to whatever Python versions are officially supported by ipywidgets.

manzt commented 1 year ago

@tlambert03 I see we are on the same wavelength lol

tlambert03 commented 1 year ago

I'm not sure my vision is common, but I forsee 3.6 being the new Python2 :)

I hope not :joy: