fedora-infra/noggin

flask 3.0.0 support?

Closed this issue · 2 comments

nirik commented

Fedora rawhide has moved on to flask 3 and noggin package there doesn't build anymore:

https://bugzilla.redhat.com/show_bug.cgi?id=2257105

we have:

flask = "^2.0.0"

Can we enable 3.0.0 support and run tests to confirm it's good?

Hi @nirik,

I gave it a spin locally by replacing the following line

flask = "^2.0.0 || ^3.0.0"

With the following line

flask = "^3.0.0"

in the pyproject.toml file to have it use only Flask v3.x.x and reinitialized the lockfile.

Apart from a couple of failures that happened due to the absence of gcc and python3-devel packages required to build the dependencies locally, installing the project went smoothly.

I had my doubts as to whether the flask-* and the flask_* packages that noggin-aaa uses depend on Flask versions less than 3.x.x but they do not.

(venv) $ pip3 list | grep Flask
Flask                         3.0.0
Flask-Mail                    0.9.1
Flask-WTF                     1.2.1
(venv) $ pip3 list | grep flask
flask-babel                   4.0.0
flask-healthz                 1.0.1
flask-talisman                1.1.0

I ran the Tox tests as well and they completed just fine.

(venv) $ tox
...
The HTML pages are in _build/html.
docs: OK ✔ in 28.99 seconds
py39-unittest: skipped because could not find python interpreter with spec(s): py39
py39-unittest: SKIP ⚠ in 0.17 seconds
py39-integration: skipped because could not find python interpreter with spec(s): py39
py39-integration: SKIP ⚠ in 0 seconds
py310-unittest: skipped because could not find python interpreter with spec(s): py310
py310-unittest: SKIP ⚠ in 0 seconds
py310-integration: skipped because could not find python interpreter with spec(s): py310
py310-integration: SKIP ⚠ in 0 seconds
covreport: skipped because could not find python interpreter with spec(s): python3.10
  lint: OK (58.55=setup[18.33]+cmd[6.29,12.68,21.25] seconds)
  format: OK (30.28=setup[11.58]+cmd[6.73,8.18,3.79] seconds)
  licenses: OK (22.03=setup[12.64]+cmd[6.30,3.09] seconds)
  security: OK (33.89=setup[10.64]+cmd[6.62,4.61,9.69,2.32] seconds)
  covclean: OK (19.48=setup[11.59]+cmd[7.12,0.77] seconds)
  docs: OK (28.99=setup[13.20]+cmd[6.79,0.00,0.00,0.00,0.00,8.99] seconds)
  py39-unittest: SKIP (0.17 seconds)
  py39-integration: SKIP (0.00 seconds)
  py310-unittest: SKIP (0.00 seconds)
  py310-integration: SKIP (0.00 seconds)
  covreport: SKIP (0.00 seconds)
  congratulations :) (193.45 seconds)

I haven't manually tested it yet though but it should be a non-issue.

Actually, having flask = "^2.0.0 || ^3.0.0" should be sufficient. I looked at the repo and they're not using the latest version (1.9.0), which added support for flask 3.0. So the solution, I think, is actually to upgrade the RPM. I'll do it.