GoogleChromeLabs / pywebsocket3

BSD 3-Clause "New" or "Revised" License
44 stars 32 forks source link

Publish to pypi.org #30

Closed foolip closed 4 months ago

foolip commented 3 years ago

pywebsocket3 is vendored into web-platform-tests, and it looks like there is no released package which could be used to avoid the copying. Can pywebsocket3 be released on pypi.org to make this possible? (Not imminent, but eventually.)

ricea commented 3 years ago

Based on skimming the documentation it looks straightforward.

One decision that would need to be made is whether to enable the _USE_FAST_MASKING optimisation. Currently I think most (all?) users don't use this because it requires compiling some C++ code, but pypi might make that easier.

foolip commented 3 years ago

I've never done this myself, where is the documentation?

Presumably this could be done in a CI step so that it's the same process every time, not done on a developer's machine.

ricea commented 3 years ago

https://packaging.python.org/tutorials/packaging-projects/

It's not immediately clear to me if non-human accounts are permitted.

whimboo commented 9 months ago

@ricea and @foolip over on https://github.com/web-platform-tests/wpt/issues/35978 we tried to release a new version of wptserve on PyPI to unblock a couple of other projects depending on a newer version. But sadly it fails because this package is still not published on PyPI.

Do you think that this could be done? For now we probably can use the link to the git repository but it would be nicer to see a release on PyPI itself.

whimboo commented 9 months ago

Also if it should be published as pywebsocket3 the package name in setup.py needs to be updated, as well as the mod_pywebsockets folder renamed.

ricea commented 9 months ago

If you have experiment with packaging for PyPI your help would be greatly appreciated.

whimboo commented 9 months ago

The first thing that should be clear is definitely the name. I assume that mod_pywebsockets is not what you want, and pywebsocket3 sounds to be bound to Python3. There is also already a pywebsocket package on PyPI.

ricea commented 9 months ago

Oh, the clash with the "other" pywebsocket is unfortunate. I'd rather keep the name pywebsocket3. mod_pywebsocket is a leftover from when we used to support running as an Apache module. Renaming it will greatly inconvenience many of our users, but if it is necessary to go into PyPI then the cost is acceptable. I intend to drop support for python 2 eventually.

whimboo commented 9 months ago

The PR for renaming the module has just been merged. Now we have two questions to follow-up:

@ricea maybe you can give some feedback? Thanks!

ricea commented 9 months ago

I'm investigating the CI question.

I agree with your opinion that we should bump the version to 4.0.0 as this was a breaking change. I was planning to use 4.0.0 for the first version without Python 2 support, but we can make that 5.0.0 :smiley:

whimboo commented 9 months ago

Is there more work to do to get rid of Python 2 support beside removing the usage of six?

ricea commented 9 months ago

AFAIK removing usage of six is all that needs to be done. There's no particular hurry as we don't have a need for Python 3 features at the moment.

whimboo commented 7 months ago

@ricea with PR #34 merged, would you mind to tag the release that push the new version to pypi? I would love to update the web-platform test repository for the new version. Thanks a lot!

ricea commented 7 months ago

Sorry for the delay. I tagged release v4.0.0. Please check if it looks okay.

whimboo commented 7 months ago

Thanks Adam. I pulled and run all the tests locally. All of them pass, so it looks fine to me. I only filed a new issue for a deprecation warning.

whimboo commented 7 months ago

Hi @ricea. Do you have an update regarding the release for PyPI? I would appreciate if you could upload it. Thanks.

whimboo commented 6 months ago

A release on PyPI would not only help us with web-platform tests but also would unblock several other projects that are waiting for an official release of this tool.

@foolip maybe you know who else could help to get the package released on PyPI? Thanks.

whimboo commented 6 months ago

Is there anyone else who could help with this issue and the release on PyPI?

ricea commented 4 months ago

I've asked @quasi-mod to take it over.

quasi-mod commented 4 months ago

pywebsocket3 is officially on PyPi!

I have set GitHub actions to make new PyPi releases when a release is published on GitHub.

Thanks so much for helping out :)

whimboo commented 4 months ago

Thanks a lot for making it available on PyPI! Maybe some more details could be added to the readme to give a better description for the package on Pypi?