Skip to content

Make validate_docstrings.py ready for the CI #23481

Closed
@datapythonista

Description

@datapythonista

Since #22408 was merged, validate_docstrings.py is able to validate all docstrings when called without parameters, returning the output as a json file.

Next step would be to make the script ready to be used in the CI, so we can fail when there are validation errors in the changes to a docstring.

The main changes required are:

  • Make the script return an exit status of 0 when no error has been encountered, and a different number (possibly the number of found errors) when something is wrong.
  • Generate the output in the stderr in a format appropriate for the CI (currently is a json file in stdout). As the code checks will soon be performed in Azure (BLD: Use Azure pipelines for linting #22844), the output format will ideally be customizable with a --format parameter, so we can call the script providing the azure format (equivalent to flake8 --format parameter).

As the number of errors is currently huge (8,404 errors in total), we'll have to add the validations to the CI in different stages. To allow that, the script will also have to support:

  • A --prefix parameter, accepting a string of the format pandas.Series.str. Meaning that only the functions/methods... starting by that string will be validated
  • A --errors parameter, accepting a error code, or comma separated list of error codes, that will be validated. This will also require codifying all the errors that we currently validate

May be it'd also be useful to have something like a --exclude parameter, but will leave this for later, once is needed for a specific case.

@jorisvandenbossche @WillAyd @jbrockmendel any feedback on this before I start working on it?

Metadata

Metadata

Labels

CIContinuous IntegrationCode StyleCode style, linting, code_checksDocs

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions