python-eel / Eel

A little Python library for making simple Electron-like HTML/JS GUI apps
MIT License
6.38k stars 583 forks source link

Update library versions + allow python 3.9 and 3.10 #558

Closed Malachov closed 1 year ago

Malachov commented 2 years ago

As i had some troubles when using 3.10 i tried update library versions to latest.

Tox testing didn't worked with my chrome driver, but i tested it manually with pytest for

All fine. Only detail that on 3.10 when installing one library a lot of error messages because of some pyd file appeared, but library installed anyway.

For used 3.6 i had issues... First pyparsing i think needed to downgrade to has no error and latest selenium is also not available for 3.6.

One test was still failing - jinja templates

I tried some variations (not hard though), but not success. It's strange, that even if i restored all versions, it still didn't passed, so maybe it's because my minor version of python not libraries and in tox in gitub actions it may pass. If not, there is another option to remove 3.6 and offer 3.9. and 3.10 instead.

It's open question to me whether to use particular versions in requirements (==). It's more robust on one hand, but it may limits users as more versions of library is not possible.

Feel free to replace >= in requirements if prefer particular versions. Some versions changed a lot and no issues noticed...

If tox 3.6 pass, please add 3.6 again to .python-version and to tox.ini

samuelhwilliams commented 1 year ago

Hi @Malachov. Sorry for the (very!) slow reply here.

We've updated .python-version to include 3.9 and 3.10, and bump the patch versions of the 3.6/3.7/3.8. Would you mind rebasing this and just putting up the requirements.txt changes again?

Malachov commented 1 year ago

Branch updated. I'm not sure about updating gevent~=21.12.0. Maybe the old version have some reason to being updated. Also I changed exact version match to bigger than, but same major. If authors or requirements will align with semantic versioning, there should not be problem. Still if you think, that it can bring some errors and as eel provide GUI, it's alright to limit users with particular versions, feel free to revert to exact match or close this.

Malachov commented 1 year ago

Failing tests fixed. Test crash was not caused by upgraded requirements.

Still locally tests passed just when I increased timeout (didn't added this, maybe OK in actions)

There are also small changes in tests, biggest is moving of conftest.py to root (to work with IDE (VS Code tests)) and also for future possible doctests

samuelhwilliams commented 1 year ago

Hi @Malachov. Thanks for the contribution!

I feel like there are a few changes here that are not required to broaden the dependencies and this PR has been partially succeeded by the bump to include 3.9+3.10 elsewhere. I'm going to broaden the requirements we allow in a separate isolated PR and get them in now, as I'm aware that has been lingering around a while.

See https://github.com/python-eel/Eel/pull/657 for the merged changes.

Thanks again for prompting and working on this :) Sorry that it's taken so long and for our (once) problematic test suite, that should now be working better.