cmu-delphi / covidcast-indicators

Back end for producing indicators and loading them into the COVIDcast API.
https://cmu-delphi.github.io/delphi-epidata/api/covidcast.html
MIT License
12 stars 17 forks source link

Invalid classifier string breaks delphi_utils PyPI upload #2054

Closed melange396 closed 2 months ago

melange396 commented 2 months ago

Between

and

...we got a failure in the GH action that publishes the delphi_utils package, saying: "'License :: MIT' is not a valid classifier."

The accepted version of this would be License :: OSI Approved :: MIT License according to https://pypi.org/classifiers/. The other classifier strings we use appear to be valid.

Fix it in https://github.com/cmu-delphi/covidcast-indicators/blob/0da7b9aaa8715bab81d7023d48faa787f0c82851/_delphi_utils_python/pyproject.toml#L16 and https://github.com/cmu-delphi/covidcast-indicators/blob/0da7b9aaa8715bab81d7023d48faa787f0c82851/_template_python/pyproject.toml#L16

dshemetov commented 2 months ago

For future reference, validate-pyproject could help catch issues like this in the future:

$ uv tool install 'validate-pyproject[all]'
Resolved 4 packages in 134ms
Prepared 3 packages in 49ms
Installed 4 packages in 5ms
 + fastjsonschema==2.20.0
 + packaging==24.1
 + trove-classifiers==2024.9.12
 + validate-pyproject==0.19
Installed 1 executable: validate-pyproject

# Running on _delphi_utils
$ uv tool run validate-pyproject pyproject.toml 
Invalid file: pyproject.toml
[ERROR] `project.classifiers[3]` must be trove-classifier

# After fix
$ uv tool run validate-pyproject pyproject.toml
Valid file: pyproject.toml