materialsproject/fireworks

lpad webgui problem with gunicorn>=20.0

zhubonan opened this issue · 0 comments

gunicorn.six is removed in gunicorn > 20.0

This line here:

import gunicorn.app.base
from gunicorn.six import iteritems
from fireworks.flask_site.app import app as handler_app

still tries to import iteritem from it. The easy fix is to tell it import from six instead.

As a result, anyone with gunicorn>20.0 will get a message saying they need to install gunicorn.

As a general problem, I can see that setup.py only requires versions of dependencies to be higher than a particular release.

fireworks/setup.py

Lines 32 to 37 in e338215

install_requires=['ruamel.yaml>=0.15.35', 'pymongo>=3.3.0', 'Jinja2>=2.8.0',
'six>=1.10.0', 'monty>=1.0.1',
'python-dateutil>=2.5.3',
'tabulate>=0.7.5', 'flask>=0.11.1',
'flask-paginate>=0.4.5', 'gunicorn>=19.6.0',
'tqdm>=4.8.4'],

If assuming semantic versioning, it would be better to pin them below the next major release number, in case of future non-compatible release breaking things.