cheroot icon indicating copy to clipboard operation
cheroot copied to clipboard

Drop Jython (same for CherryPy)

Open webknjaz opened this issue 7 years ago • 7 comments

I'm submitting a ...

  • [X] bug report
  • [ ] feature request
  • [X] question about the decisions made in the repository
  • [x] suggestion

Describe the bug. What is the current behavior?

Jython is not supported, while still listed in classifiers.

What is the motivation / use case for changing the behavior?

Nobody uses it anyway.

To Reproduce

Steps to reproduce the behavior:

  1. Try to install or run tests, even without tox, pip install doesn't work, virtualenv doesn' work, try to install jython itself in various ways, deps like sqlite or setuptools_scm are impossible to get working.
  2. Everything is broken.

Expected behavior

~Everything works~ Well, at least that it's possible to install or run any tests.

Details

Classifiers should correspond tested versions, I tried to add jython to Travis CI, but completely failed trying to get it working even locally Environment

  • Cheroot version: X.X.X
  • CherryPy version: N/A
  • Python version: jython-2.7.1
  • OS: N/A
  • Browser: N/A

Additional context

No info about whether anyone ever used CherryPy under jython. Well, at some point they probably did and it's useful to have a pythonic framework running on JVM, but I doubt that somebody does this nowadays.

webknjaz avatar Jun 19 '18 11:06 webknjaz

At some point, Jython was supported and worked fine. I've personally used CherryPy in Jython. I'd like to think it's one of the most accessible web frameworks. With the introduction of dependencies and thus the dependence on pip, I'm finding that Jython is becoming less viable.

Although we don't have test support for Jython (for various reasons), I would want us to avoid adding features that prevent running on Jython if possible. That is, I'd like to retain the intended and declared support for Jython even if we can't guarantee it.

And if someone reports something that doesn't work on Jython, I would consider that a valid bug, though something that would almost certainly require contribution from the reporter to address it.

jaraco avatar Jun 19 '18 12:06 jaraco

@jaraco well, if you can just install it, please tell me how. I can't.

webknjaz avatar Jun 19 '18 13:06 webknjaz

I'm also having problems installing it, because (from what I can tell), pip is currently broken on Jython (on at least a couple of levels).

I was able to use pip on CPython to install the dependencies thus:

tmp $ pip install -t . cherrypy
Collecting cherrypy
  Cache entry deserialization failed, entry ignored
  Using cached https://files.pythonhosted.org/packages/2b/ea/1726f07c12a8e21d9e776fbb860a53cca689504900fffc0d09c985c6c854/CherryPy-16.0.2-py2.py3-none-any.whl
Collecting six>=1.11.0 (from cherrypy)
  Using cached https://files.pythonhosted.org/packages/67/4b/141a581104b1f6397bfa78ac9d43d8ad29a7ca43ea90a2d863fe3056e86a/six-1.11.0-py2.py3-none-any.whl
Collecting cheroot>=6.2.4 (from cherrypy)
  Downloading https://files.pythonhosted.org/packages/40/56/1b31a1ee40232df20cb2c58de46af65e1501345a85817a5ab7f63be0510b/cheroot-6.3.2-py2.py3-none-any.whl (67kB)
    100% |████████████████████████████████| 71kB 363kB/s
Collecting portend>=2.1.1 (from cherrypy)
  Using cached https://files.pythonhosted.org/packages/81/43/21afd5914b74d4271184ee76f4093b45aa6a580dc6627d72dfc33664c6ac/portend-2.3-py2.py3-none-any.whl
Collecting backports.functools-lru-cache (from cheroot>=6.2.4->cherrypy)
  Using cached https://files.pythonhosted.org/packages/03/8e/2424c0e65c4a066e28f539364deee49b6451f8fcd4f718fefa50cc3dcf48/backports.functools_lru_cache-1.5-py2.py3-none-any.whl
Collecting more-itertools>=2.6 (from cheroot>=6.2.4->cherrypy)
  Using cached https://files.pythonhosted.org/packages/85/40/90c3b0393e12b9827381004224de8814686e3d7182f9d4182477f600826d/more_itertools-4.2.0-py3-none-any.whl
Collecting tempora>=1.8 (from portend>=2.1.1->cherrypy)
  Using cached https://files.pythonhosted.org/packages/55/f4/6909c23d920192dc9d2bb0d0841abb561f58fb6c816cf593a35dda0a800c/tempora-1.11-py2.py3-none-any.whl
Collecting pytz (from tempora>=1.8->portend>=2.1.1->cherrypy)
  Using cached https://files.pythonhosted.org/packages/dc/83/15f7833b70d3e067ca91467ca245bae0f6fe56ddc7451aa0dc5606b120f2/pytz-2018.4-py2.py3-none-any.whl
Installing collected packages: six, backports.functools-lru-cache, more-itertools, cheroot, pytz, tempora, portend, cherrypy
Successfully installed backports.functools-lru-cache-1.5 cheroot-6.3.2 cherrypy-16.0.2 more-itertools-4.2.0 portend-2.3 pytz-2018.4 six-1.11.0 tempora-1.11
tmp $ jython
Jython 2.7.1 (default:0df7adb1b397, Jun 30 2017, 19:02:43)
[Java HotSpot(TM) 64-Bit Server VM (Oracle Corporation)] on java1.8.0_45
Type "help", "copyright", "credits" or "license" for more information.
>>> import cherrypy
>>>

jaraco avatar Jun 19 '18 14:06 jaraco

try pip install -e .[testing]

webknjaz avatar Jun 19 '18 14:06 webknjaz

We need to figure out how to run it

webknjaz avatar Jul 10 '18 00:07 webknjaz

Or not - we could just say Jython is supported but not tested/maintained internally.

jaraco avatar Jul 10 '18 14:07 jaraco

I don't feel comfortable with such setup

webknjaz avatar Jul 10 '18 17:07 webknjaz