pandas has a script for validating docstrings

https://github.com/pandas-dev/pandas/blob/ced983358b06576af1a73c3e936171cc6dc98a6d/ci/code_checks.sh#L560-L568

which can be run with

./ci/code_checks.sh docstrings

Currently, many functions fail the EX02 check, and so are excluded from the check.

The task here is: 1. pick 2-3 functions 2. run ./ci/code_checks.sh docstrings 3. fixup the docstrings according to whatever error is reported 4. stage, commit, push, open pull request 🚀

Please don't comment take as multiple people can work on this simultaneously. You also don't need to ask for permission to work on this, feel free to just start 😄 Though if you're working on some set of functions you can comment that

If you're new here, please check the contributing guide https://pandas.pydata.org/docs/dev/development/contributing.html

TIP: ./ci/code_checks.sh docstrings may take a while to run - you may want to comment-out the docstrings check which checks EX01 and the part which checks all the other codes (these are currently lines 86 - 577)

Comment From: albuzenet

Hi, currently working on :

pandas.factorize pandas.Index.factorize pandas.Series.factorize

Comment From: albuzenet

For future Windows contributors. If you get a weird flake8 PermissionError when running scripts/validate_docstrings.py you can fix it by manually adding delete=False in the tempfile context manager (validate_docstrings.py, line 210). Note that you will need to manually delete the temporary file after this change. Also, do not push this change ! Related issue: stackoverflow

Comment From: MarcoGorelli

thanks @albuzenet - if that's the case, it suggests that the current validate_docstrings.py code should probably be improved. Do you want to make a PR to rewrite it using namedtemporaryfile?

Comment From: albuzenet

Sure @MarcoGorelli. Should I open a new issue ?

Comment From: MarcoGorelli

sure (or feel free to just submit a PR directly, thanks for having spotted this)

Comment From: DeaMariaLeon

Working on: pandas.api.types.is_bool_dtype pandas.api.types.is_categorical_dtype pandas.api.types.is_complex_dtype

Comment From: Ramyahkay

Hello, I am currently working on: pandas.api.types.is_integer_dtype pandas.api.types.is_string_dtype

Comment From: natmokval

Hi, I will work on: pandas.api.types.is_float_dtype pandas.api.types.is_int64_dtype

Comment From: natmokval

I am working on: pandas.api.types.is_object_dtype pandas.api.types.is_numeric_dtype pandas.api.types.is_datetime64_dtype

Comment From: natmokval

I am working on: pandas.Period.strftime \ pandas.Series.floordiv \ pandas.Series.rfloordiv \

Comment From: clewarne14

Hi, I am currently working on:

pandas.api.types.is_interval_dtype pandas.api.types.is_period_dtype pandas.api.types.is_signed_integer_dtype

Comment From: natmokval

I am working on: pandas.core.groupby.DataFrameGroupBy.take \ pandas.Timestamp.fromtimestamp \

Comment From: jaideepmurkute

Hi, I will take up the following set:

pandas.io.formats.style.Styler.concat
pandas.io.formats.style.Styler.export
pandas.io.formats.style.Styler.set_td_classes 
pandas.io.formats.style.Styler.use

Comment From: phershbe

I am working on: pandas.plotting.andrews_curves \ pandas.plotting.autocorrelation_plot \ pandas.plotting.lag_plot \

Comment From: natmokval

I am working on: pandas.Series.sparse.density pandas.Series.sparse.npoints pandas.Series.sparse.sp_values

Comment From: kindai321

Hi, I am working on: pandas.api.types.is_datetime64_any_dtype pandas.api.types.is_datetime64_ns_dtype
pandas.api.types.is_datetime64tz_dtype This is going to be my first open source contribution and I might need some help :)

Comment From: natmokval

I am working on: pandas.core.groupby.SeriesGroupBy.take pandas.merge_ordered pandas.option_context

Comment From: natmokval

I will work on: pandas.io.json.build_table_schema pandas.api.types.is_timedelta64_dtype pandas.api.types.is_timedelta64_ns_dtype

Comment From: jaideepmurkute

Hi, I won't be able to complete the following set that I had taken up earlier due to bandwidth issues:

pandas.io.formats.style.Styler.concat
pandas.io.formats.style.Styler.export  
pandas.io.formats.style.Styler.set_td_classes
pandas.io.formats.style.Styler.use

Others can pick it up. Apologies for blocking the set.

Comment From: natmokval

Hi. I'll take functions pandas.io.formats.style.Styler.concat pandas.io.formats.style.Styler.export
pandas.io.formats.style.Styler.set_td_classes pandas.io.formats.style.Styler.use

Comment From: clewarne14

Hello, I won't be able to complete the following set that I had taken up earlier due to issues with my computer:

pandas.api.types.is_interval_dtype pandas.api.types.is_period_dtype pandas.api.types.is_signed_integer_dtype

Others can pick it up. Apologies for blocking the set. I will close my incomplete pull request for this issue.

Comment From: phershbe

The pull request above corrects the docstrings for: pandas.api.types.is_interval_dtype pandas.api.types.is_period_dtype pandas.api.types.is_signed_integer_dtype

Sorry for not mentioning that I would take them in advance, they were dropped by somebody else a few hours ago and I did them to gain some confidence since I'm working on a few for plotting that are more difficult and wanted to use these for experience.

Comment From: natmokval

I am working on: pandas.api.types.infer_dtype pandas.api.types.is_sparse pandas.api.types.is_unsigned_integer_dtype

Comment From: lia2710

Hi, I am working on: pandas.plotting.radviz pandas.tseries.frequencies.to_offset

Comment From: liang3zy22

Hi, I am already working on:

 pandas.api.types.is_integer_dtype
 pandas.api.types.is_string_dtype

PR is as above. UPDATE: Just saw @Ramyahkay already took them. Should I delete my PR and wait for @Ramyahkay 's?

Comment From: MarcoGorelli

Hi, I am already working on:

pandas.api.types.is_integer_dtype pandas.api.types.is_string_dtype

PR is as above. UPDATE: Just saw @Ramyahkay already took them. Should I delete my PR and wait for @Ramyahkay 's?

Thanks - what you've done is fine, if someone leaves a comment and then doesn't submit anything for 1-2 weeks it's perfectly fine to take over

Comment From: zgdjcls

Hi I'm going to work on: pandas.plotting.parallel_coordinates and pandas.DataFrame.plot.line

Comment From: Ramyahkay

Hello everyone, I am going to work on the following: pandas.Series.sparse.density pandas.Series.sparse.npoints pandas.Series.sparse.sp_values This is my first time contributing to open source and I'm looking forward to learning and contributing to the community. I'll do my best to keep the issue up-to-date with my progress and communicate any questions I have.

Comment From: MarcoGorelli

those are already done

there's only 6 left, we're close to closing this one off

Comment From: zgdjcls

Sorry, due to some reason, I won't be able to fix pandas.plotting.parallel_coordinates pandas.DataFrame.plot.line anymore, so if anyone else wants to do this you can work on it.

Comment From: phershbe

I'll take the methods mentioned directly above: pandas.plotting.parallel_coordinates pandas.DataFrame.plot.line

Comment From: MarcoGorelli

cool, thanks

or feel free to take all the remaining ones, remove the partial EX02 check, and add EX02 to

https://github.com/pandas-dev/pandas/blob/ced983358b06576af1a73c3e936171cc6dc98a6d/ci/code_checks.sh#L82-L83

Comment From: phershbe

Great, I'm working on them now!

Comment From: MarcoGorelli

We did, thanks everyone!