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

Change documentation for optional dependency SOAPpy to SOAPpy-py3 #12145

Closed
gudnimg opened this issue May 1, 2024 · 6 comments · Fixed by #12147
Closed

Change documentation for optional dependency SOAPpy to SOAPpy-py3 #12145

gudnimg opened this issue May 1, 2024 · 6 comments · Fixed by #12147

Comments

@gudnimg
Copy link
Contributor

gudnimg commented May 1, 2024

A minor maintenance issue. SOAPpy seems to be no longer maintained and does not support newest Python 3 releases. I've been using this fork instead SOAPpy-py3 which seems to be actively maintained. While I don't use all the features, the transition was painless and I didn't need to change any of my own code.

For reference, this is the documentation I'm talking about: https://docs.twisted.org/en/latest/installation/howto/optional.html

@gudnimg
Copy link
Contributor Author

gudnimg commented May 1, 2024

Also, maybe this should be updated as well? 😓 I'm not familiar enough if these packages are still relevant. But mentioning Python 2 is definitely not relevant anymore.
image

@adiroiban
Copy link
Member

Thanks for the report.

I don't think that we use soappy anymore as a dependency
I don't see it defined as a dependency

https://github.com/twisted/twisted/blob/trunk/pyproject.toml


But I do see that soappy is imported.

https://github.com/twisted/twisted/blob/trunk/src/twisted/web/soap.py


The source code for the documentation is at
https://github.com/twisted/twisted/blob/trunk/docs/installation/howto/optional.rst


My suggestion is to just deprecated the soap support in Twisted.
I see that the last important update was made 18 years ago

https://github.com/twisted/twisted/commits/3b116ebd785f1ea0f9d8bf8fde27874b0f28a3df/twisted/web/soap.py?browsing_rename_history=true&new_path=src/twisted/web/soap.py&original_branch=trunk

And the soap dependency was not defined for more than 4 years

https://github.com/twisted/twisted/blob/80b02d87adc48f813179aaa31ff5aaaa574200e6/setup.cfg

I could not find where the soap dependency was first defined.
By it looke like it was never defined in setup.cfg or pyproject.toml


Do you use the SOAP code with twisted ?

@gudnimg
Copy link
Contributor Author

gudnimg commented May 1, 2024

Do you use the SOAP code with twisted ?

Looking again at my code, we do use SOAP with twisted, but we don't use the soap module from twisted at all. The code is based on https://github.com/fuzeman/PyUPnP with some custom modifications

What you say makes total sense :) To deprecate the soap module in twisted since I'm pretty sure it won't work on Python 3.10+.

I started a few months ago to port a project from Python 2.7 to 3.10, and SOAPpy did not handle it well (especially one of its dependencies wstools). If I recall correctly it was mainly due to changes in Python's standard library like collections changed to collections.abc. Thankfully someone had already made a fork with fixes for that.

@adiroiban
Copy link
Member

Thanks for the feedback.

I think that is safe to just remove the SOAP code

It is already broken.

It looks like we still have code that was not ported to py3 ... or for which we don't execute the tests.

If anyone want to have SOAP support in Twisted, they can send a PR

$ pip install soappy
$ python
Python 3.12.2 (main, Feb 25 2024, 16:35:05) [GCC 11.4.0] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> from twisted.web.soap import SOAPPublisher
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/home/adi/chevah/twisted/src/twisted/web/soap.py", line 19, in <module>
    import SOAPpy
  File "/home/adi/chevah/twisted/venv-3.12/lib/python3.12/site-packages/SOAPpy/__init__.py", line 3, in <module>
    from version import __version__
ModuleNotFoundError: No module named 'version'
>>> 

@glyph
Copy link
Member

glyph commented May 1, 2024

Normally I pop up to say how great some weird obscure ancient Twisted module is, but honestly the SOAP code was a bit of a sad afterthought even at the time, and clearly it doesn't really work now. I don't know if anyone ever used it. Obviously, do the usual mailing list thing, but unless there's some strenuous objection, let's dump it.

@adiroiban
Copy link
Member

I plan to use this ticket to update the instalallation documentation.

I have created a separate ticket to track the removal of SOAP - #12146

I will send a message to the mailing list one the SOAP removal PR is ready to review

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging a pull request may close this issue.

3 participants