Skip to content
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

Publish to pypi.org #30

Closed
foolip opened this issue May 6, 2021 · 21 comments
Closed

Publish to pypi.org #30

foolip opened this issue May 6, 2021 · 21 comments
Assignees

Comments

@foolip
Copy link
Member

foolip commented May 6, 2021

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
Copy link
Collaborator

ricea commented May 6, 2021

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
Copy link
Member Author

foolip commented May 6, 2021

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
Copy link
Collaborator

ricea commented May 6, 2021

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

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

@whimboo
Copy link
Contributor

whimboo commented Nov 3, 2023

@ricea and @foolip over on web-platform-tests/wpt#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
Copy link
Contributor

whimboo commented Nov 3, 2023

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
Copy link
Collaborator

ricea commented Nov 6, 2023

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

@whimboo
Copy link
Contributor

whimboo commented Nov 6, 2023

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
Copy link
Collaborator

ricea commented Nov 6, 2023

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
Copy link
Contributor

whimboo commented Nov 21, 2023

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

  • Is it required to have the tests running in GitHub CI to get a release out or is it sufficient to run the tests locally and they all pass? In the past Travis CI was used, but that doesn't exist anymore. Maybe having an issue filed for that is enough for now?
  • Which version does the module require when being released? Given that the rename of the module is backward incompatible I assume that it most likely requires a major version bump. I'm happy to create a PR once it has been decided.

@ricea maybe you can give some feedback? Thanks!

@ricea
Copy link
Collaborator

ricea commented Nov 21, 2023

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 😃

@whimboo
Copy link
Contributor

whimboo commented Nov 21, 2023

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

@ricea
Copy link
Collaborator

ricea commented Nov 21, 2023

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
Copy link
Contributor

whimboo commented Jan 12, 2024

@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
Copy link
Collaborator

ricea commented Jan 18, 2024

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

@whimboo
Copy link
Contributor

whimboo commented Jan 18, 2024

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
Copy link
Contributor

whimboo commented Jan 30, 2024

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

@whimboo
Copy link
Contributor

whimboo commented Feb 6, 2024

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
Copy link
Contributor

whimboo commented Feb 26, 2024

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

@ricea
Copy link
Collaborator

ricea commented Apr 5, 2024

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

quasi-mod added a commit to quasi-mod/pywebsocket3 that referenced this issue Apr 10, 2024
This patch adds publish.yml to enable the workflow to publish to PyPi.
@quasi-mod quasi-mod self-assigned this Apr 10, 2024
quasi-mod added a commit that referenced this issue Apr 12, 2024
* Add publish.yml to publish to PyPi (#30)

This patch adds publish.yml to enable the workflow to publish to PyPi.
---------

Co-authored-by: Keita Suzuki <suzukikeita@chromium.org>
quasi-mod added a commit to quasi-mod/pywebsocket3 that referenced this issue Apr 12, 2024
This patch adds a trigger event to publish.yml and specifies the release
event to when we will publish to PyPi.
quasi-mod added a commit that referenced this issue Apr 12, 2024
This patch adds a trigger event to publish.yml and specifies the release
event to when we will publish to PyPi.
@quasi-mod
Copy link
Collaborator

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 :)

quasi-mod added a commit to quasi-mod/pywebsocket3 that referenced this issue Apr 12, 2024
quasi-mod added a commit to quasi-mod/pywebsocket3 that referenced this issue Apr 12, 2024
quasi-mod added a commit that referenced this issue Apr 12, 2024
Update the version to v4.0.2 (#30)
@whimboo
Copy link
Contributor

whimboo commented Apr 15, 2024

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?

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

No branches or pull requests

4 participants