Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

DOC: Enforce Numpy Docstring Validation (Parent Issue) #58063

Open
jordan-d-murphy opened this issue Mar 29, 2024 · 7 comments
Open

DOC: Enforce Numpy Docstring Validation (Parent Issue) #58063

jordan-d-murphy opened this issue Mar 29, 2024 · 7 comments
Labels

Comments

@jordan-d-murphy
Copy link
Contributor

jordan-d-murphy commented Mar 29, 2024

Pandas has a script for validating docstrings:

pandas/ci/code_checks.sh

Lines 68 to 1266 in c468028

MSG='Validate Docstrings' ; echo $MSG
$BASE_DIR/scripts/validate_docstrings.py \
--format=actions \
-i ES01 `# For now it is ok if docstrings are missing the extended summary` \
-i "pandas.Series.dt PR01" `# Accessors are implemented as classes, but we do not document the Parameters section` \
-i "pandas.Categorical.__array__ SA01" \
-i "pandas.Categorical.codes SA01" \
-i "pandas.Categorical.dtype SA01" \
-i "pandas.Categorical.from_codes SA01" \
-i "pandas.Categorical.ordered SA01" \
-i "pandas.CategoricalDtype.categories SA01" \
-i "pandas.CategoricalDtype.ordered SA01" \
-i "pandas.CategoricalIndex.codes SA01" \
-i "pandas.CategoricalIndex.ordered SA01" \
-i "pandas.DataFrame.__dataframe__ SA01" \
-i "pandas.DataFrame.__iter__ SA01" \
-i "pandas.DataFrame.assign SA01" \
-i "pandas.DataFrame.at_time PR01" \
-i "pandas.DataFrame.axes SA01" \
-i "pandas.DataFrame.backfill PR01,SA01" \
-i "pandas.DataFrame.bfill SA01" \
-i "pandas.DataFrame.columns SA01" \
-i "pandas.DataFrame.copy SA01" \
-i "pandas.DataFrame.droplevel SA01" \
-i "pandas.DataFrame.dtypes SA01" \
-i "pandas.DataFrame.ffill SA01" \
-i "pandas.DataFrame.first_valid_index SA01" \
-i "pandas.DataFrame.get SA01" \
-i "pandas.DataFrame.hist RT03" \
-i "pandas.DataFrame.infer_objects RT03" \
-i "pandas.DataFrame.keys SA01" \
-i "pandas.DataFrame.kurt RT03,SA01" \
-i "pandas.DataFrame.kurtosis RT03,SA01" \
-i "pandas.DataFrame.last_valid_index SA01" \
-i "pandas.DataFrame.mask RT03" \
-i "pandas.DataFrame.max RT03" \
-i "pandas.DataFrame.mean RT03,SA01" \
-i "pandas.DataFrame.median RT03,SA01" \
-i "pandas.DataFrame.min RT03" \
-i "pandas.DataFrame.pad PR01,SA01" \
-i "pandas.DataFrame.plot PR02,SA01" \
-i "pandas.DataFrame.pop SA01" \
-i "pandas.DataFrame.prod RT03" \
-i "pandas.DataFrame.product RT03" \
-i "pandas.DataFrame.reorder_levels SA01" \
-i "pandas.DataFrame.sem PR01,RT03,SA01" \
-i "pandas.DataFrame.skew RT03,SA01" \
-i "pandas.DataFrame.sparse PR01,SA01" \
-i "pandas.DataFrame.sparse.density SA01" \
-i "pandas.DataFrame.sparse.from_spmatrix SA01" \
-i "pandas.DataFrame.sparse.to_coo SA01" \
-i "pandas.DataFrame.sparse.to_dense SA01" \
-i "pandas.DataFrame.std PR01,RT03,SA01" \
-i "pandas.DataFrame.sum RT03" \
-i "pandas.DataFrame.swapaxes PR01,SA01" \
-i "pandas.DataFrame.swaplevel SA01" \
-i "pandas.DataFrame.to_feather SA01" \
-i "pandas.DataFrame.to_markdown SA01" \
-i "pandas.DataFrame.to_parquet RT03" \
-i "pandas.DataFrame.to_period SA01" \
-i "pandas.DataFrame.to_timestamp SA01" \
-i "pandas.DataFrame.tz_convert SA01" \
-i "pandas.DataFrame.tz_localize SA01" \
-i "pandas.DataFrame.unstack RT03" \
-i "pandas.DataFrame.value_counts RT03" \
-i "pandas.DataFrame.var PR01,RT03,SA01" \
-i "pandas.DataFrame.where RT03" \
-i "pandas.DatetimeIndex.ceil SA01" \
-i "pandas.DatetimeIndex.date SA01" \
-i "pandas.DatetimeIndex.day SA01" \
-i "pandas.DatetimeIndex.day_name SA01" \
-i "pandas.DatetimeIndex.day_of_year SA01" \
-i "pandas.DatetimeIndex.dayofyear SA01" \
-i "pandas.DatetimeIndex.floor SA01" \
-i "pandas.DatetimeIndex.freqstr SA01" \
-i "pandas.DatetimeIndex.hour SA01" \
-i "pandas.DatetimeIndex.indexer_at_time PR01,RT03" \
-i "pandas.DatetimeIndex.indexer_between_time RT03" \
-i "pandas.DatetimeIndex.inferred_freq SA01" \
-i "pandas.DatetimeIndex.is_leap_year SA01" \
-i "pandas.DatetimeIndex.microsecond SA01" \
-i "pandas.DatetimeIndex.minute SA01" \
-i "pandas.DatetimeIndex.month SA01" \
-i "pandas.DatetimeIndex.month_name SA01" \
-i "pandas.DatetimeIndex.nanosecond SA01" \
-i "pandas.DatetimeIndex.quarter SA01" \
-i "pandas.DatetimeIndex.round SA01" \
-i "pandas.DatetimeIndex.second SA01" \
-i "pandas.DatetimeIndex.snap PR01,RT03,SA01" \
-i "pandas.DatetimeIndex.std PR01,RT03" \
-i "pandas.DatetimeIndex.time SA01" \
-i "pandas.DatetimeIndex.timetz SA01" \
-i "pandas.DatetimeIndex.to_period RT03" \
-i "pandas.DatetimeIndex.to_pydatetime RT03,SA01" \
-i "pandas.DatetimeIndex.tz SA01" \
-i "pandas.DatetimeIndex.tz_convert RT03" \
-i "pandas.DatetimeIndex.year SA01" \
-i "pandas.DatetimeTZDtype SA01" \
-i "pandas.DatetimeTZDtype.tz SA01" \
-i "pandas.DatetimeTZDtype.unit SA01" \
-i "pandas.ExcelFile PR01,SA01" \
-i "pandas.ExcelFile.parse PR01,SA01" \
-i "pandas.ExcelWriter SA01" \
-i "pandas.Float32Dtype SA01" \
-i "pandas.Float64Dtype SA01" \
-i "pandas.Grouper PR02,SA01" \
-i "pandas.HDFStore.append PR01,SA01" \
-i "pandas.HDFStore.get SA01" \
-i "pandas.HDFStore.groups SA01" \
-i "pandas.HDFStore.info RT03,SA01" \
-i "pandas.HDFStore.keys SA01" \
-i "pandas.HDFStore.put PR01,SA01" \
-i "pandas.HDFStore.select SA01" \
-i "pandas.HDFStore.walk SA01" \
-i "pandas.Index PR07" \
-i "pandas.Index.T SA01" \
-i "pandas.Index.append PR07,RT03,SA01" \
-i "pandas.Index.astype SA01" \
-i "pandas.Index.copy PR07,SA01" \
-i "pandas.Index.difference PR07,RT03,SA01" \
-i "pandas.Index.drop PR07,SA01" \
-i "pandas.Index.drop_duplicates RT03" \
-i "pandas.Index.droplevel RT03,SA01" \
-i "pandas.Index.dropna RT03,SA01" \
-i "pandas.Index.dtype SA01" \
-i "pandas.Index.duplicated RT03" \
-i "pandas.Index.empty GL08" \
-i "pandas.Index.equals SA01" \
-i "pandas.Index.fillna RT03" \
-i "pandas.Index.get_indexer PR07,SA01" \
-i "pandas.Index.get_indexer_for PR01,SA01" \
-i "pandas.Index.get_indexer_non_unique PR07,SA01" \
-i "pandas.Index.get_loc PR07,RT03,SA01" \
-i "pandas.Index.get_slice_bound PR07" \
-i "pandas.Index.hasnans SA01" \
-i "pandas.Index.identical PR01,SA01" \
-i "pandas.Index.inferred_type SA01" \
-i "pandas.Index.insert PR07,RT03,SA01" \
-i "pandas.Index.intersection PR07,RT03,SA01" \
-i "pandas.Index.item SA01" \
-i "pandas.Index.join PR07,RT03,SA01" \
-i "pandas.Index.map SA01" \
-i "pandas.Index.memory_usage RT03" \
-i "pandas.Index.name SA01" \
-i "pandas.Index.names GL08" \
-i "pandas.Index.nbytes SA01" \
-i "pandas.Index.ndim SA01" \
-i "pandas.Index.nunique RT03" \
-i "pandas.Index.putmask PR01,RT03" \
-i "pandas.Index.ravel PR01,RT03" \
-i "pandas.Index.reindex PR07" \
-i "pandas.Index.shape SA01" \
-i "pandas.Index.size SA01" \
-i "pandas.Index.slice_indexer PR07,RT03,SA01" \
-i "pandas.Index.slice_locs RT03" \
-i "pandas.Index.str PR01,SA01" \
-i "pandas.Index.symmetric_difference PR07,RT03,SA01" \
-i "pandas.Index.take PR01,PR07" \
-i "pandas.Index.to_list RT03" \
-i "pandas.Index.union PR07,RT03,SA01" \
-i "pandas.Index.unique RT03" \
-i "pandas.Index.value_counts RT03" \
-i "pandas.Index.view GL08" \
-i "pandas.Int16Dtype SA01" \
-i "pandas.Int32Dtype SA01" \
-i "pandas.Int64Dtype SA01" \
-i "pandas.Int8Dtype SA01" \
-i "pandas.Interval PR02" \
-i "pandas.Interval.closed SA01" \
-i "pandas.Interval.left SA01" \
-i "pandas.Interval.mid SA01" \
-i "pandas.Interval.right SA01" \
-i "pandas.IntervalDtype PR01,SA01" \
-i "pandas.IntervalDtype.subtype SA01" \
-i "pandas.IntervalIndex.closed SA01" \
-i "pandas.IntervalIndex.contains RT03" \
-i "pandas.IntervalIndex.get_indexer PR07,SA01" \
-i "pandas.IntervalIndex.get_loc PR07,RT03,SA01" \
-i "pandas.IntervalIndex.is_non_overlapping_monotonic SA01" \
-i "pandas.IntervalIndex.left GL08" \
-i "pandas.IntervalIndex.length GL08" \
-i "pandas.IntervalIndex.mid GL08" \
-i "pandas.IntervalIndex.right GL08" \
-i "pandas.IntervalIndex.set_closed RT03,SA01" \
-i "pandas.IntervalIndex.to_tuples RT03,SA01" \
-i "pandas.MultiIndex PR01" \
-i "pandas.MultiIndex.append PR07,SA01" \
-i "pandas.MultiIndex.copy PR07,RT03,SA01" \
-i "pandas.MultiIndex.drop PR07,RT03,SA01" \
-i "pandas.MultiIndex.droplevel RT03,SA01" \
-i "pandas.MultiIndex.dtypes SA01" \
-i "pandas.MultiIndex.get_indexer PR07,SA01" \
-i "pandas.MultiIndex.get_level_values SA01" \
-i "pandas.MultiIndex.get_loc PR07" \
-i "pandas.MultiIndex.get_loc_level PR07" \
-i "pandas.MultiIndex.levels SA01" \
-i "pandas.MultiIndex.levshape SA01" \
-i "pandas.MultiIndex.names SA01" \
-i "pandas.MultiIndex.nlevels SA01" \
-i "pandas.MultiIndex.remove_unused_levels RT03,SA01" \
-i "pandas.MultiIndex.reorder_levels RT03,SA01" \
-i "pandas.MultiIndex.set_codes SA01" \
-i "pandas.MultiIndex.set_levels RT03,SA01" \
-i "pandas.MultiIndex.sortlevel PR07,SA01" \
-i "pandas.MultiIndex.to_frame RT03" \
-i "pandas.MultiIndex.truncate SA01" \
-i "pandas.NA SA01" \
-i "pandas.NaT SA01" \
-i "pandas.NamedAgg SA01" \
-i "pandas.Period SA01" \
-i "pandas.Period.asfreq SA01" \
-i "pandas.Period.freq GL08" \
-i "pandas.Period.freqstr SA01" \
-i "pandas.Period.is_leap_year SA01" \
-i "pandas.Period.month SA01" \
-i "pandas.Period.now SA01" \
-i "pandas.Period.ordinal GL08" \
-i "pandas.Period.quarter SA01" \
-i "pandas.Period.strftime PR01,SA01" \
-i "pandas.Period.to_timestamp SA01" \
-i "pandas.Period.year SA01" \
-i "pandas.PeriodDtype SA01" \
-i "pandas.PeriodDtype.freq SA01" \
-i "pandas.PeriodIndex.day SA01" \
-i "pandas.PeriodIndex.day_of_week SA01" \
-i "pandas.PeriodIndex.day_of_year SA01" \
-i "pandas.PeriodIndex.dayofweek SA01" \
-i "pandas.PeriodIndex.dayofyear SA01" \
-i "pandas.PeriodIndex.days_in_month SA01" \
-i "pandas.PeriodIndex.daysinmonth SA01" \
-i "pandas.PeriodIndex.freqstr SA01" \
-i "pandas.PeriodIndex.from_fields PR07,SA01" \
-i "pandas.PeriodIndex.from_ordinals SA01" \
-i "pandas.PeriodIndex.hour SA01" \
-i "pandas.PeriodIndex.is_leap_year SA01" \
-i "pandas.PeriodIndex.minute SA01" \
-i "pandas.PeriodIndex.month SA01" \
-i "pandas.PeriodIndex.quarter SA01" \
-i "pandas.PeriodIndex.qyear GL08" \
-i "pandas.PeriodIndex.second SA01" \
-i "pandas.PeriodIndex.to_timestamp RT03,SA01" \
-i "pandas.PeriodIndex.week SA01" \
-i "pandas.PeriodIndex.weekday SA01" \
-i "pandas.PeriodIndex.weekofyear SA01" \
-i "pandas.PeriodIndex.year SA01" \
-i "pandas.RangeIndex PR07" \
-i "pandas.RangeIndex.from_range PR01,SA01" \
-i "pandas.RangeIndex.start SA01" \
-i "pandas.RangeIndex.step SA01" \
-i "pandas.RangeIndex.stop SA01" \
-i "pandas.Series SA01" \
-i "pandas.Series.T SA01" \
-i "pandas.Series.__iter__ RT03,SA01" \
-i "pandas.Series.add PR07" \
-i "pandas.Series.at_time PR01" \
-i "pandas.Series.backfill PR01,SA01" \
-i "pandas.Series.bfill SA01" \
-i "pandas.Series.case_when RT03" \
-i "pandas.Series.cat PR07,SA01" \
-i "pandas.Series.cat.add_categories PR01,PR02" \
-i "pandas.Series.cat.as_ordered PR01" \
-i "pandas.Series.cat.as_unordered PR01" \
-i "pandas.Series.cat.codes SA01" \
-i "pandas.Series.cat.ordered SA01" \
-i "pandas.Series.cat.remove_categories PR01,PR02" \
-i "pandas.Series.cat.remove_unused_categories PR01" \
-i "pandas.Series.cat.rename_categories PR01,PR02" \
-i "pandas.Series.cat.reorder_categories PR01,PR02" \
-i "pandas.Series.cat.set_categories PR01,PR02" \
-i "pandas.Series.copy SA01" \
-i "pandas.Series.div PR07" \
-i "pandas.Series.droplevel SA01" \
-i "pandas.Series.dt.as_unit PR01,PR02" \
-i "pandas.Series.dt.ceil PR01,PR02,SA01" \
-i "pandas.Series.dt.components SA01" \
-i "pandas.Series.dt.date SA01" \
-i "pandas.Series.dt.day SA01" \
-i "pandas.Series.dt.day_name PR01,PR02,SA01" \
-i "pandas.Series.dt.day_of_year SA01" \
-i "pandas.Series.dt.dayofyear SA01" \
-i "pandas.Series.dt.days SA01" \
-i "pandas.Series.dt.days_in_month SA01" \
-i "pandas.Series.dt.daysinmonth SA01" \
-i "pandas.Series.dt.floor PR01,PR02,SA01" \
-i "pandas.Series.dt.freq GL08" \
-i "pandas.Series.dt.hour SA01" \
-i "pandas.Series.dt.is_leap_year SA01" \
-i "pandas.Series.dt.microsecond SA01" \
-i "pandas.Series.dt.microseconds SA01" \
-i "pandas.Series.dt.minute SA01" \
-i "pandas.Series.dt.month SA01" \
-i "pandas.Series.dt.month_name PR01,PR02,SA01" \
-i "pandas.Series.dt.nanosecond SA01" \
-i "pandas.Series.dt.nanoseconds SA01" \
-i "pandas.Series.dt.normalize PR01" \
-i "pandas.Series.dt.quarter SA01" \
-i "pandas.Series.dt.qyear GL08" \
-i "pandas.Series.dt.round PR01,PR02,SA01" \
-i "pandas.Series.dt.second SA01" \
-i "pandas.Series.dt.seconds SA01" \
-i "pandas.Series.dt.strftime PR01,PR02" \
-i "pandas.Series.dt.time SA01" \
-i "pandas.Series.dt.timetz SA01" \
-i "pandas.Series.dt.to_period PR01,PR02,RT03" \
-i "pandas.Series.dt.total_seconds PR01" \
-i "pandas.Series.dt.tz SA01" \
-i "pandas.Series.dt.tz_convert PR01,PR02,RT03" \
-i "pandas.Series.dt.tz_localize PR01,PR02" \
-i "pandas.Series.dt.unit GL08" \
-i "pandas.Series.dt.year SA01" \
-i "pandas.Series.dtype SA01" \
-i "pandas.Series.dtypes SA01" \
-i "pandas.Series.empty GL08" \
-i "pandas.Series.eq PR07,SA01" \
-i "pandas.Series.ffill SA01" \
-i "pandas.Series.first_valid_index SA01" \
-i "pandas.Series.floordiv PR07" \
-i "pandas.Series.ge PR07,SA01" \
-i "pandas.Series.get SA01" \
-i "pandas.Series.gt PR07,SA01" \
-i "pandas.Series.hasnans SA01" \
-i "pandas.Series.infer_objects RT03" \
-i "pandas.Series.is_monotonic_decreasing SA01" \
-i "pandas.Series.is_monotonic_increasing SA01" \
-i "pandas.Series.is_unique SA01" \
-i "pandas.Series.item SA01" \
-i "pandas.Series.keys SA01" \
-i "pandas.Series.kurt RT03,SA01" \
-i "pandas.Series.kurtosis RT03,SA01" \
-i "pandas.Series.last_valid_index SA01" \
-i "pandas.Series.le PR07,SA01" \
-i "pandas.Series.list.__getitem__ SA01" \
-i "pandas.Series.list.flatten SA01" \
-i "pandas.Series.list.len SA01" \
-i "pandas.Series.lt PR07,SA01" \
-i "pandas.Series.mask RT03" \
-i "pandas.Series.max RT03" \
-i "pandas.Series.mean RT03,SA01" \
-i "pandas.Series.median RT03,SA01" \
-i "pandas.Series.min RT03" \
-i "pandas.Series.mod PR07" \
-i "pandas.Series.mode SA01" \
-i "pandas.Series.mul PR07" \
-i "pandas.Series.nbytes SA01" \
-i "pandas.Series.ndim SA01" \
-i "pandas.Series.ne PR07,SA01" \
-i "pandas.Series.nunique RT03" \
-i "pandas.Series.pad PR01,SA01" \
-i "pandas.Series.plot PR02,SA01" \
-i "pandas.Series.pop RT03,SA01" \
-i "pandas.Series.pow PR07" \
-i "pandas.Series.prod RT03" \
-i "pandas.Series.product RT03" \
-i "pandas.Series.radd PR07" \
-i "pandas.Series.rdiv PR07" \
-i "pandas.Series.reorder_levels RT03,SA01" \
-i "pandas.Series.rfloordiv PR07" \
-i "pandas.Series.rmod PR07" \
-i "pandas.Series.rmul PR07" \
-i "pandas.Series.rpow PR07" \
-i "pandas.Series.rsub PR07" \
-i "pandas.Series.rtruediv PR07" \
-i "pandas.Series.sem PR01,RT03,SA01" \
-i "pandas.Series.shape SA01" \
-i "pandas.Series.size SA01" \
-i "pandas.Series.skew RT03,SA01" \
-i "pandas.Series.sparse PR01,SA01" \
-i "pandas.Series.sparse.density SA01" \
-i "pandas.Series.sparse.fill_value SA01" \
-i "pandas.Series.sparse.from_coo PR07,SA01" \
-i "pandas.Series.sparse.npoints SA01" \
-i "pandas.Series.sparse.sp_values SA01" \
-i "pandas.Series.sparse.to_coo PR07,RT03,SA01" \
-i "pandas.Series.std PR01,RT03,SA01" \
-i "pandas.Series.str PR01,SA01" \
-i "pandas.Series.str.capitalize RT03" \
-i "pandas.Series.str.casefold RT03" \
-i "pandas.Series.str.center RT03,SA01" \
-i "pandas.Series.str.decode PR07,RT03,SA01" \
-i "pandas.Series.str.encode PR07,RT03,SA01" \
-i "pandas.Series.str.find RT03" \
-i "pandas.Series.str.fullmatch RT03" \
-i "pandas.Series.str.get RT03,SA01" \
-i "pandas.Series.str.index RT03" \
-i "pandas.Series.str.ljust RT03,SA01" \
-i "pandas.Series.str.lower RT03" \
-i "pandas.Series.str.lstrip RT03" \
-i "pandas.Series.str.match RT03" \
-i "pandas.Series.str.normalize RT03,SA01" \
-i "pandas.Series.str.partition RT03" \
-i "pandas.Series.str.repeat SA01" \
-i "pandas.Series.str.replace SA01" \
-i "pandas.Series.str.rfind RT03" \
-i "pandas.Series.str.rindex RT03" \
-i "pandas.Series.str.rjust RT03,SA01" \
-i "pandas.Series.str.rpartition RT03" \
-i "pandas.Series.str.rstrip RT03" \
-i "pandas.Series.str.strip RT03" \
-i "pandas.Series.str.swapcase RT03" \
-i "pandas.Series.str.title RT03" \
-i "pandas.Series.str.translate RT03,SA01" \
-i "pandas.Series.str.upper RT03" \
-i "pandas.Series.str.wrap RT03,SA01" \
-i "pandas.Series.str.zfill RT03" \
-i "pandas.Series.struct.dtypes SA01" \
-i "pandas.Series.sub PR07" \
-i "pandas.Series.sum RT03" \
-i "pandas.Series.swaplevel SA01" \
-i "pandas.Series.to_dict SA01" \
-i "pandas.Series.to_frame SA01" \
-i "pandas.Series.to_list RT03" \
-i "pandas.Series.to_markdown SA01" \
-i "pandas.Series.to_period SA01" \
-i "pandas.Series.to_string SA01" \
-i "pandas.Series.to_timestamp RT03,SA01" \
-i "pandas.Series.truediv PR07" \
-i "pandas.Series.tz_convert SA01" \
-i "pandas.Series.tz_localize SA01" \
-i "pandas.Series.unstack SA01" \
-i "pandas.Series.update PR07,SA01" \
-i "pandas.Series.value_counts RT03" \
-i "pandas.Series.var PR01,RT03,SA01" \
-i "pandas.Series.where RT03" \
-i "pandas.SparseDtype SA01" \
-i "pandas.Timedelta PR07,SA01" \
-i "pandas.Timedelta.as_unit SA01" \
-i "pandas.Timedelta.asm8 SA01" \
-i "pandas.Timedelta.ceil SA01" \
-i "pandas.Timedelta.components SA01" \
-i "pandas.Timedelta.days SA01" \
-i "pandas.Timedelta.floor SA01" \
-i "pandas.Timedelta.max PR02,PR07,SA01" \
-i "pandas.Timedelta.min PR02,PR07,SA01" \
-i "pandas.Timedelta.resolution PR02,PR07,SA01" \
-i "pandas.Timedelta.round SA01" \
-i "pandas.Timedelta.to_numpy PR01" \
-i "pandas.Timedelta.to_timedelta64 SA01" \
-i "pandas.Timedelta.total_seconds SA01" \
-i "pandas.Timedelta.view SA01" \
-i "pandas.TimedeltaIndex.as_unit RT03,SA01" \
-i "pandas.TimedeltaIndex.ceil SA01" \
-i "pandas.TimedeltaIndex.components SA01" \
-i "pandas.TimedeltaIndex.days SA01" \
-i "pandas.TimedeltaIndex.floor SA01" \
-i "pandas.TimedeltaIndex.inferred_freq SA01" \
-i "pandas.TimedeltaIndex.microseconds SA01" \
-i "pandas.TimedeltaIndex.nanoseconds SA01" \
-i "pandas.TimedeltaIndex.round SA01" \
-i "pandas.TimedeltaIndex.seconds SA01" \
-i "pandas.TimedeltaIndex.to_pytimedelta RT03,SA01" \
-i "pandas.Timestamp PR07,SA01" \
-i "pandas.Timestamp.as_unit SA01" \
-i "pandas.Timestamp.asm8 SA01" \
-i "pandas.Timestamp.astimezone SA01" \
-i "pandas.Timestamp.ceil SA01" \
-i "pandas.Timestamp.combine PR01,SA01" \
-i "pandas.Timestamp.ctime SA01" \
-i "pandas.Timestamp.date SA01" \
-i "pandas.Timestamp.day GL08" \
-i "pandas.Timestamp.day_name SA01" \
-i "pandas.Timestamp.day_of_week SA01" \
-i "pandas.Timestamp.day_of_year SA01" \
-i "pandas.Timestamp.dayofweek SA01" \
-i "pandas.Timestamp.dayofyear SA01" \
-i "pandas.Timestamp.days_in_month SA01" \
-i "pandas.Timestamp.daysinmonth SA01" \
-i "pandas.Timestamp.dst SA01" \
-i "pandas.Timestamp.floor SA01" \
-i "pandas.Timestamp.fold GL08" \
-i "pandas.Timestamp.fromordinal SA01" \
-i "pandas.Timestamp.fromtimestamp PR01,SA01" \
-i "pandas.Timestamp.hour GL08" \
-i "pandas.Timestamp.is_leap_year SA01" \
-i "pandas.Timestamp.isocalendar SA01" \
-i "pandas.Timestamp.isoformat SA01" \
-i "pandas.Timestamp.isoweekday SA01" \
-i "pandas.Timestamp.max PR02,PR07,SA01" \
-i "pandas.Timestamp.microsecond GL08" \
-i "pandas.Timestamp.min PR02,PR07,SA01" \
-i "pandas.Timestamp.minute GL08" \
-i "pandas.Timestamp.month GL08" \
-i "pandas.Timestamp.month_name SA01" \
-i "pandas.Timestamp.nanosecond GL08" \
-i "pandas.Timestamp.normalize SA01" \
-i "pandas.Timestamp.now SA01" \
-i "pandas.Timestamp.quarter SA01" \
-i "pandas.Timestamp.replace PR07,SA01" \
-i "pandas.Timestamp.resolution PR02,PR07,SA01" \
-i "pandas.Timestamp.round SA01" \
-i "pandas.Timestamp.second GL08" \
-i "pandas.Timestamp.strftime SA01" \
-i "pandas.Timestamp.strptime PR01,SA01" \
-i "pandas.Timestamp.time SA01" \
-i "pandas.Timestamp.timestamp SA01" \
-i "pandas.Timestamp.timetuple SA01" \
-i "pandas.Timestamp.timetz SA01" \
-i "pandas.Timestamp.to_datetime64 SA01" \
-i "pandas.Timestamp.to_julian_date SA01" \
-i "pandas.Timestamp.to_numpy PR01" \
-i "pandas.Timestamp.to_period PR01,SA01" \
-i "pandas.Timestamp.to_pydatetime PR01,SA01" \
-i "pandas.Timestamp.today SA01" \
-i "pandas.Timestamp.toordinal SA01" \
-i "pandas.Timestamp.tz SA01" \
-i "pandas.Timestamp.tz_convert SA01" \
-i "pandas.Timestamp.tz_localize SA01" \
-i "pandas.Timestamp.tzinfo GL08" \
-i "pandas.Timestamp.tzname SA01" \
-i "pandas.Timestamp.unit SA01" \
-i "pandas.Timestamp.utcfromtimestamp PR01,SA01" \
-i "pandas.Timestamp.utcnow SA01" \
-i "pandas.Timestamp.utcoffset SA01" \
-i "pandas.Timestamp.utctimetuple SA01" \
-i "pandas.Timestamp.value GL08" \
-i "pandas.Timestamp.week SA01" \
-i "pandas.Timestamp.weekday SA01" \
-i "pandas.Timestamp.weekofyear SA01" \
-i "pandas.Timestamp.year GL08" \
-i "pandas.UInt16Dtype SA01" \
-i "pandas.UInt32Dtype SA01" \
-i "pandas.UInt64Dtype SA01" \
-i "pandas.UInt8Dtype SA01" \
-i "pandas.api.extensions.ExtensionArray SA01" \
-i "pandas.api.extensions.ExtensionArray._accumulate RT03,SA01" \
-i "pandas.api.extensions.ExtensionArray._concat_same_type PR07,SA01" \
-i "pandas.api.extensions.ExtensionArray._formatter SA01" \
-i "pandas.api.extensions.ExtensionArray._from_sequence SA01" \
-i "pandas.api.extensions.ExtensionArray._from_sequence_of_strings SA01" \
-i "pandas.api.extensions.ExtensionArray._hash_pandas_object RT03,SA01" \
-i "pandas.api.extensions.ExtensionArray._pad_or_backfill PR01,RT03,SA01" \
-i "pandas.api.extensions.ExtensionArray._reduce RT03,SA01" \
-i "pandas.api.extensions.ExtensionArray._values_for_factorize SA01" \
-i "pandas.api.extensions.ExtensionArray.astype SA01" \
-i "pandas.api.extensions.ExtensionArray.copy RT03,SA01" \
-i "pandas.api.extensions.ExtensionArray.dropna RT03,SA01" \
-i "pandas.api.extensions.ExtensionArray.dtype SA01" \
-i "pandas.api.extensions.ExtensionArray.duplicated RT03,SA01" \
-i "pandas.api.extensions.ExtensionArray.equals SA01" \
-i "pandas.api.extensions.ExtensionArray.fillna SA01" \
-i "pandas.api.extensions.ExtensionArray.insert PR07,RT03,SA01" \
-i "pandas.api.extensions.ExtensionArray.interpolate PR01,SA01" \
-i "pandas.api.extensions.ExtensionArray.isin PR07,RT03,SA01" \
-i "pandas.api.extensions.ExtensionArray.isna SA01" \
-i "pandas.api.extensions.ExtensionArray.nbytes SA01" \
-i "pandas.api.extensions.ExtensionArray.ndim SA01" \
-i "pandas.api.extensions.ExtensionArray.ravel RT03,SA01" \
-i "pandas.api.extensions.ExtensionArray.shape SA01" \
-i "pandas.api.extensions.ExtensionArray.shift SA01" \
-i "pandas.api.extensions.ExtensionArray.take RT03" \
-i "pandas.api.extensions.ExtensionArray.tolist RT03,SA01" \
-i "pandas.api.extensions.ExtensionArray.unique RT03,SA01" \
-i "pandas.api.extensions.ExtensionArray.view SA01" \
-i "pandas.api.extensions.register_extension_dtype SA01" \
-i "pandas.api.indexers.BaseIndexer PR01,SA01" \
-i "pandas.api.indexers.FixedForwardWindowIndexer PR01,SA01" \
-i "pandas.api.indexers.VariableOffsetWindowIndexer PR01,SA01" \
-i "pandas.api.interchange.from_dataframe RT03,SA01" \
-i "pandas.api.types.infer_dtype PR07,SA01" \
-i "pandas.api.types.is_any_real_numeric_dtype SA01" \
-i "pandas.api.types.is_bool PR01,SA01" \
-i "pandas.api.types.is_bool_dtype SA01" \
-i "pandas.api.types.is_categorical_dtype SA01" \
-i "pandas.api.types.is_complex PR01,SA01" \
-i "pandas.api.types.is_complex_dtype SA01" \
-i "pandas.api.types.is_datetime64_any_dtype SA01" \
-i "pandas.api.types.is_datetime64_dtype SA01" \
-i "pandas.api.types.is_datetime64_ns_dtype SA01" \
-i "pandas.api.types.is_datetime64tz_dtype SA01" \
-i "pandas.api.types.is_dict_like PR07,SA01" \
-i "pandas.api.types.is_extension_array_dtype SA01" \
-i "pandas.api.types.is_file_like PR07,SA01" \
-i "pandas.api.types.is_float PR01,SA01" \
-i "pandas.api.types.is_float_dtype SA01" \
-i "pandas.api.types.is_hashable PR01,RT03,SA01" \
-i "pandas.api.types.is_int64_dtype SA01" \
-i "pandas.api.types.is_integer PR01,SA01" \
-i "pandas.api.types.is_integer_dtype SA01" \
-i "pandas.api.types.is_interval_dtype SA01" \
-i "pandas.api.types.is_iterator PR07,SA01" \
-i "pandas.api.types.is_list_like SA01" \
-i "pandas.api.types.is_named_tuple PR07,SA01" \
-i "pandas.api.types.is_numeric_dtype SA01" \
-i "pandas.api.types.is_object_dtype SA01" \
-i "pandas.api.types.is_period_dtype SA01" \
-i "pandas.api.types.is_re PR07,SA01" \
-i "pandas.api.types.is_re_compilable PR07,SA01" \
-i "pandas.api.types.is_scalar SA01" \
-i "pandas.api.types.is_signed_integer_dtype SA01" \
-i "pandas.api.types.is_sparse SA01" \
-i "pandas.api.types.is_string_dtype SA01" \
-i "pandas.api.types.is_timedelta64_dtype SA01" \
-i "pandas.api.types.is_timedelta64_ns_dtype SA01" \
-i "pandas.api.types.is_unsigned_integer_dtype SA01" \
-i "pandas.api.types.pandas_dtype PR07,RT03,SA01" \
-i "pandas.api.types.union_categoricals RT03,SA01" \
-i "pandas.arrays.ArrowExtensionArray PR07,SA01" \
-i "pandas.arrays.BooleanArray SA01" \
-i "pandas.arrays.DatetimeArray SA01" \
-i "pandas.arrays.FloatingArray SA01" \
-i "pandas.arrays.IntegerArray SA01" \
-i "pandas.arrays.IntervalArray.closed SA01" \
-i "pandas.arrays.IntervalArray.contains RT03" \
-i "pandas.arrays.IntervalArray.is_non_overlapping_monotonic SA01" \
-i "pandas.arrays.IntervalArray.left SA01" \
-i "pandas.arrays.IntervalArray.length SA01" \
-i "pandas.arrays.IntervalArray.mid SA01" \
-i "pandas.arrays.IntervalArray.right SA01" \
-i "pandas.arrays.IntervalArray.set_closed RT03,SA01" \
-i "pandas.arrays.IntervalArray.to_tuples RT03,SA01" \
-i "pandas.arrays.NumpyExtensionArray SA01" \
-i "pandas.arrays.SparseArray PR07,SA01" \
-i "pandas.arrays.TimedeltaArray PR07,SA01" \
-i "pandas.bdate_range RT03,SA01" \
-i "pandas.core.groupby.DataFrameGroupBy.__iter__ RT03,SA01" \
-i "pandas.core.groupby.DataFrameGroupBy.agg RT03" \
-i "pandas.core.groupby.DataFrameGroupBy.aggregate RT03" \
-i "pandas.core.groupby.DataFrameGroupBy.apply RT03" \
-i "pandas.core.groupby.DataFrameGroupBy.boxplot PR07,RT03,SA01" \
-i "pandas.core.groupby.DataFrameGroupBy.cummax RT03" \
-i "pandas.core.groupby.DataFrameGroupBy.cummin RT03" \
-i "pandas.core.groupby.DataFrameGroupBy.cumprod RT03" \
-i "pandas.core.groupby.DataFrameGroupBy.cumsum RT03" \
-i "pandas.core.groupby.DataFrameGroupBy.filter RT03,SA01" \
-i "pandas.core.groupby.DataFrameGroupBy.get_group RT03,SA01" \
-i "pandas.core.groupby.DataFrameGroupBy.groups SA01" \
-i "pandas.core.groupby.DataFrameGroupBy.hist RT03" \
-i "pandas.core.groupby.DataFrameGroupBy.indices SA01" \
-i "pandas.core.groupby.DataFrameGroupBy.max SA01" \
-i "pandas.core.groupby.DataFrameGroupBy.mean RT03" \
-i "pandas.core.groupby.DataFrameGroupBy.median SA01" \
-i "pandas.core.groupby.DataFrameGroupBy.min SA01" \
-i "pandas.core.groupby.DataFrameGroupBy.nth PR02" \
-i "pandas.core.groupby.DataFrameGroupBy.nunique RT03,SA01" \
-i "pandas.core.groupby.DataFrameGroupBy.ohlc SA01" \
-i "pandas.core.groupby.DataFrameGroupBy.plot PR02,SA01" \
-i "pandas.core.groupby.DataFrameGroupBy.prod SA01" \
-i "pandas.core.groupby.DataFrameGroupBy.rank RT03" \
-i "pandas.core.groupby.DataFrameGroupBy.resample RT03" \
-i "pandas.core.groupby.DataFrameGroupBy.sem SA01" \
-i "pandas.core.groupby.DataFrameGroupBy.skew RT03" \
-i "pandas.core.groupby.DataFrameGroupBy.sum SA01" \
-i "pandas.core.groupby.DataFrameGroupBy.transform RT03" \
-i "pandas.core.groupby.SeriesGroupBy.__iter__ RT03,SA01" \
-i "pandas.core.groupby.SeriesGroupBy.agg RT03" \
-i "pandas.core.groupby.SeriesGroupBy.aggregate RT03" \
-i "pandas.core.groupby.SeriesGroupBy.apply RT03" \
-i "pandas.core.groupby.SeriesGroupBy.cummax RT03" \
-i "pandas.core.groupby.SeriesGroupBy.cummin RT03" \
-i "pandas.core.groupby.SeriesGroupBy.cumprod RT03" \
-i "pandas.core.groupby.SeriesGroupBy.cumsum RT03" \
-i "pandas.core.groupby.SeriesGroupBy.filter PR01,RT03,SA01" \
-i "pandas.core.groupby.SeriesGroupBy.get_group RT03,SA01" \
-i "pandas.core.groupby.SeriesGroupBy.groups SA01" \
-i "pandas.core.groupby.SeriesGroupBy.indices SA01" \
-i "pandas.core.groupby.SeriesGroupBy.is_monotonic_decreasing SA01" \
-i "pandas.core.groupby.SeriesGroupBy.is_monotonic_increasing SA01" \
-i "pandas.core.groupby.SeriesGroupBy.max SA01" \
-i "pandas.core.groupby.SeriesGroupBy.mean RT03" \
-i "pandas.core.groupby.SeriesGroupBy.median SA01" \
-i "pandas.core.groupby.SeriesGroupBy.min SA01" \
-i "pandas.core.groupby.SeriesGroupBy.nth PR02" \
-i "pandas.core.groupby.SeriesGroupBy.ohlc SA01" \
-i "pandas.core.groupby.SeriesGroupBy.plot PR02,SA01" \
-i "pandas.core.groupby.SeriesGroupBy.prod SA01" \
-i "pandas.core.groupby.SeriesGroupBy.rank RT03" \
-i "pandas.core.groupby.SeriesGroupBy.resample RT03" \
-i "pandas.core.groupby.SeriesGroupBy.sem SA01" \
-i "pandas.core.groupby.SeriesGroupBy.skew RT03" \
-i "pandas.core.groupby.SeriesGroupBy.sum SA01" \
-i "pandas.core.groupby.SeriesGroupBy.transform RT03" \
-i "pandas.core.resample.Resampler.__iter__ RT03,SA01" \
-i "pandas.core.resample.Resampler.ffill RT03" \
-i "pandas.core.resample.Resampler.get_group RT03,SA01" \
-i "pandas.core.resample.Resampler.groups SA01" \
-i "pandas.core.resample.Resampler.indices SA01" \
-i "pandas.core.resample.Resampler.max PR01,RT03,SA01" \
-i "pandas.core.resample.Resampler.mean SA01" \
-i "pandas.core.resample.Resampler.median SA01" \
-i "pandas.core.resample.Resampler.min PR01,RT03,SA01" \
-i "pandas.core.resample.Resampler.ohlc SA01" \
-i "pandas.core.resample.Resampler.prod SA01" \
-i "pandas.core.resample.Resampler.quantile PR01,PR07" \
-i "pandas.core.resample.Resampler.sem SA01" \
-i "pandas.core.resample.Resampler.std SA01" \
-i "pandas.core.resample.Resampler.sum SA01" \
-i "pandas.core.resample.Resampler.transform PR01,RT03,SA01" \
-i "pandas.core.resample.Resampler.var SA01" \
-i "pandas.core.window.expanding.Expanding.corr PR01" \
-i "pandas.core.window.expanding.Expanding.count PR01" \
-i "pandas.core.window.rolling.Rolling.max PR01" \
-i "pandas.core.window.rolling.Window.std PR01" \
-i "pandas.core.window.rolling.Window.var PR01" \
-i "pandas.date_range RT03" \
-i "pandas.describe_option SA01" \
-i "pandas.errors.AbstractMethodError PR01,SA01" \
-i "pandas.errors.AttributeConflictWarning SA01" \
-i "pandas.errors.CSSWarning SA01" \
-i "pandas.errors.CategoricalConversionWarning SA01" \
-i "pandas.errors.ChainedAssignmentError SA01" \
-i "pandas.errors.ClosedFileError SA01" \
-i "pandas.errors.DataError SA01" \
-i "pandas.errors.DuplicateLabelError SA01" \
-i "pandas.errors.EmptyDataError SA01" \
-i "pandas.errors.IntCastingNaNError SA01" \
-i "pandas.errors.InvalidIndexError SA01" \
-i "pandas.errors.InvalidVersion SA01" \
-i "pandas.errors.MergeError SA01" \
-i "pandas.errors.NullFrequencyError SA01" \
-i "pandas.errors.NumExprClobberingError SA01" \
-i "pandas.errors.NumbaUtilError SA01" \
-i "pandas.errors.OptionError SA01" \
-i "pandas.errors.OutOfBoundsDatetime SA01" \
-i "pandas.errors.OutOfBoundsTimedelta SA01" \
-i "pandas.errors.PerformanceWarning SA01" \
-i "pandas.errors.PossibleDataLossError SA01" \
-i "pandas.errors.PossiblePrecisionLoss SA01" \
-i "pandas.errors.SpecificationError SA01" \
-i "pandas.errors.UndefinedVariableError PR01,SA01" \
-i "pandas.errors.UnsortedIndexError SA01" \
-i "pandas.errors.UnsupportedFunctionCall SA01" \
-i "pandas.errors.ValueLabelTypeMismatch SA01" \
-i "pandas.get_option SA01" \
-i "pandas.infer_freq SA01" \
-i "pandas.interval_range RT03" \
-i "pandas.io.formats.style.Styler.apply RT03" \
-i "pandas.io.formats.style.Styler.apply_index RT03" \
-i "pandas.io.formats.style.Styler.background_gradient RT03" \
-i "pandas.io.formats.style.Styler.bar RT03,SA01" \
-i "pandas.io.formats.style.Styler.clear SA01" \
-i "pandas.io.formats.style.Styler.concat RT03,SA01" \
-i "pandas.io.formats.style.Styler.export RT03" \
-i "pandas.io.formats.style.Styler.from_custom_template SA01" \
-i "pandas.io.formats.style.Styler.hide RT03,SA01" \
-i "pandas.io.formats.style.Styler.highlight_between RT03" \
-i "pandas.io.formats.style.Styler.highlight_max RT03" \
-i "pandas.io.formats.style.Styler.highlight_min RT03" \
-i "pandas.io.formats.style.Styler.highlight_null RT03" \
-i "pandas.io.formats.style.Styler.highlight_quantile RT03" \
-i "pandas.io.formats.style.Styler.map RT03" \
-i "pandas.io.formats.style.Styler.map_index RT03" \
-i "pandas.io.formats.style.Styler.set_caption RT03,SA01" \
-i "pandas.io.formats.style.Styler.set_properties RT03,SA01" \
-i "pandas.io.formats.style.Styler.set_sticky RT03,SA01" \
-i "pandas.io.formats.style.Styler.set_table_attributes PR07,RT03" \
-i "pandas.io.formats.style.Styler.set_table_styles RT03" \
-i "pandas.io.formats.style.Styler.set_td_classes RT03" \
-i "pandas.io.formats.style.Styler.set_tooltips RT03,SA01" \
-i "pandas.io.formats.style.Styler.set_uuid PR07,RT03,SA01" \
-i "pandas.io.formats.style.Styler.text_gradient RT03" \
-i "pandas.io.formats.style.Styler.to_excel PR01" \
-i "pandas.io.formats.style.Styler.to_string SA01" \
-i "pandas.io.formats.style.Styler.use RT03" \
-i "pandas.io.json.build_table_schema PR07,RT03,SA01" \
-i "pandas.io.stata.StataReader.data_label SA01" \
-i "pandas.io.stata.StataReader.value_labels RT03,SA01" \
-i "pandas.io.stata.StataReader.variable_labels RT03,SA01" \
-i "pandas.io.stata.StataWriter.write_file SA01" \
-i "pandas.json_normalize RT03,SA01" \
-i "pandas.merge PR07" \
-i "pandas.merge_asof PR07,RT03" \
-i "pandas.merge_ordered PR07" \
-i "pandas.option_context SA01" \
-i "pandas.period_range RT03,SA01" \
-i "pandas.pivot PR07" \
-i "pandas.pivot_table PR07" \
-i "pandas.plotting.andrews_curves RT03,SA01" \
-i "pandas.plotting.autocorrelation_plot RT03,SA01" \
-i "pandas.plotting.lag_plot RT03,SA01" \
-i "pandas.plotting.parallel_coordinates PR07,RT03,SA01" \
-i "pandas.plotting.plot_params SA01" \
-i "pandas.plotting.scatter_matrix PR07,SA01" \
-i "pandas.plotting.table PR07,RT03,SA01" \
-i "pandas.qcut PR07,SA01" \
-i "pandas.read_feather SA01" \
-i "pandas.read_orc SA01" \
-i "pandas.read_sas SA01" \
-i "pandas.read_spss SA01" \
-i "pandas.reset_option SA01" \
-i "pandas.set_eng_float_format RT03,SA01" \
-i "pandas.set_option SA01" \
-i "pandas.show_versions SA01" \
-i "pandas.test SA01" \
-i "pandas.testing.assert_extension_array_equal SA01" \
-i "pandas.testing.assert_index_equal PR07,SA01" \
-i "pandas.testing.assert_series_equal PR07,SA01" \
-i "pandas.timedelta_range SA01" \
-i "pandas.tseries.api.guess_datetime_format SA01" \
-i "pandas.tseries.offsets.BDay PR02,SA01" \
-i "pandas.tseries.offsets.BMonthBegin PR02" \
-i "pandas.tseries.offsets.BMonthEnd PR02" \
-i "pandas.tseries.offsets.BQuarterBegin PR02" \
-i "pandas.tseries.offsets.BQuarterBegin.copy SA01" \
-i "pandas.tseries.offsets.BQuarterBegin.freqstr SA01" \
-i "pandas.tseries.offsets.BQuarterBegin.is_on_offset GL08" \
-i "pandas.tseries.offsets.BQuarterBegin.kwds SA01" \
-i "pandas.tseries.offsets.BQuarterBegin.n GL08" \
-i "pandas.tseries.offsets.BQuarterBegin.name SA01" \
-i "pandas.tseries.offsets.BQuarterBegin.nanos GL08" \
-i "pandas.tseries.offsets.BQuarterBegin.normalize GL08" \
-i "pandas.tseries.offsets.BQuarterBegin.rule_code GL08" \
-i "pandas.tseries.offsets.BQuarterBegin.startingMonth GL08" \
-i "pandas.tseries.offsets.BQuarterEnd PR02" \
-i "pandas.tseries.offsets.BQuarterEnd.copy SA01" \
-i "pandas.tseries.offsets.BQuarterEnd.freqstr SA01" \
-i "pandas.tseries.offsets.BQuarterEnd.is_on_offset GL08" \
-i "pandas.tseries.offsets.BQuarterEnd.kwds SA01" \
-i "pandas.tseries.offsets.BQuarterEnd.n GL08" \
-i "pandas.tseries.offsets.BQuarterEnd.name SA01" \
-i "pandas.tseries.offsets.BQuarterEnd.nanos GL08" \
-i "pandas.tseries.offsets.BQuarterEnd.normalize GL08" \
-i "pandas.tseries.offsets.BQuarterEnd.rule_code GL08" \
-i "pandas.tseries.offsets.BQuarterEnd.startingMonth GL08" \
-i "pandas.tseries.offsets.BYearBegin PR02" \
-i "pandas.tseries.offsets.BYearBegin.copy SA01" \
-i "pandas.tseries.offsets.BYearBegin.freqstr SA01" \
-i "pandas.tseries.offsets.BYearBegin.is_on_offset GL08" \
-i "pandas.tseries.offsets.BYearBegin.kwds SA01" \
-i "pandas.tseries.offsets.BYearBegin.month GL08" \
-i "pandas.tseries.offsets.BYearBegin.n GL08" \
-i "pandas.tseries.offsets.BYearBegin.name SA01" \
-i "pandas.tseries.offsets.BYearBegin.nanos GL08" \
-i "pandas.tseries.offsets.BYearBegin.normalize GL08" \
-i "pandas.tseries.offsets.BYearBegin.rule_code GL08" \
-i "pandas.tseries.offsets.BYearEnd PR02" \
-i "pandas.tseries.offsets.BYearEnd.copy SA01" \
-i "pandas.tseries.offsets.BYearEnd.freqstr SA01" \
-i "pandas.tseries.offsets.BYearEnd.is_on_offset GL08" \
-i "pandas.tseries.offsets.BYearEnd.kwds SA01" \
-i "pandas.tseries.offsets.BYearEnd.month GL08" \
-i "pandas.tseries.offsets.BYearEnd.n GL08" \
-i "pandas.tseries.offsets.BYearEnd.name SA01" \
-i "pandas.tseries.offsets.BYearEnd.nanos GL08" \
-i "pandas.tseries.offsets.BYearEnd.normalize GL08" \
-i "pandas.tseries.offsets.BYearEnd.rule_code GL08" \
-i "pandas.tseries.offsets.BusinessDay PR02,SA01" \
-i "pandas.tseries.offsets.BusinessDay.calendar GL08" \
-i "pandas.tseries.offsets.BusinessDay.copy SA01" \
-i "pandas.tseries.offsets.BusinessDay.freqstr SA01" \
-i "pandas.tseries.offsets.BusinessDay.holidays GL08" \
-i "pandas.tseries.offsets.BusinessDay.is_on_offset GL08" \
-i "pandas.tseries.offsets.BusinessDay.kwds SA01" \
-i "pandas.tseries.offsets.BusinessDay.n GL08" \
-i "pandas.tseries.offsets.BusinessDay.name SA01" \
-i "pandas.tseries.offsets.BusinessDay.nanos GL08" \
-i "pandas.tseries.offsets.BusinessDay.normalize GL08" \
-i "pandas.tseries.offsets.BusinessDay.rule_code GL08" \
-i "pandas.tseries.offsets.BusinessDay.weekmask GL08" \
-i "pandas.tseries.offsets.BusinessHour PR02,SA01" \
-i "pandas.tseries.offsets.BusinessHour.calendar GL08" \
-i "pandas.tseries.offsets.BusinessHour.copy SA01" \
-i "pandas.tseries.offsets.BusinessHour.end GL08" \
-i "pandas.tseries.offsets.BusinessHour.freqstr SA01" \
-i "pandas.tseries.offsets.BusinessHour.holidays GL08" \
-i "pandas.tseries.offsets.BusinessHour.is_on_offset GL08" \
-i "pandas.tseries.offsets.BusinessHour.kwds SA01" \
-i "pandas.tseries.offsets.BusinessHour.n GL08" \
-i "pandas.tseries.offsets.BusinessHour.name SA01" \
-i "pandas.tseries.offsets.BusinessHour.nanos GL08" \
-i "pandas.tseries.offsets.BusinessHour.normalize GL08" \
-i "pandas.tseries.offsets.BusinessHour.rule_code GL08" \
-i "pandas.tseries.offsets.BusinessHour.start GL08" \
-i "pandas.tseries.offsets.BusinessHour.weekmask GL08" \
-i "pandas.tseries.offsets.BusinessMonthBegin PR02" \
-i "pandas.tseries.offsets.BusinessMonthBegin.copy SA01" \
-i "pandas.tseries.offsets.BusinessMonthBegin.freqstr SA01" \
-i "pandas.tseries.offsets.BusinessMonthBegin.is_on_offset GL08" \
-i "pandas.tseries.offsets.BusinessMonthBegin.kwds SA01" \
-i "pandas.tseries.offsets.BusinessMonthBegin.n GL08" \
-i "pandas.tseries.offsets.BusinessMonthBegin.name SA01" \
-i "pandas.tseries.offsets.BusinessMonthBegin.nanos GL08" \
-i "pandas.tseries.offsets.BusinessMonthBegin.normalize GL08" \
-i "pandas.tseries.offsets.BusinessMonthBegin.rule_code GL08" \
-i "pandas.tseries.offsets.BusinessMonthEnd PR02" \
-i "pandas.tseries.offsets.BusinessMonthEnd.copy SA01" \
-i "pandas.tseries.offsets.BusinessMonthEnd.freqstr SA01" \
-i "pandas.tseries.offsets.BusinessMonthEnd.is_on_offset GL08" \
-i "pandas.tseries.offsets.BusinessMonthEnd.kwds SA01" \
-i "pandas.tseries.offsets.BusinessMonthEnd.n GL08" \
-i "pandas.tseries.offsets.BusinessMonthEnd.name SA01" \
-i "pandas.tseries.offsets.BusinessMonthEnd.nanos GL08" \
-i "pandas.tseries.offsets.BusinessMonthEnd.normalize GL08" \
-i "pandas.tseries.offsets.BusinessMonthEnd.rule_code GL08" \
-i "pandas.tseries.offsets.CBMonthBegin PR02" \
-i "pandas.tseries.offsets.CBMonthEnd PR02" \
-i "pandas.tseries.offsets.CDay PR02,SA01" \
-i "pandas.tseries.offsets.CustomBusinessDay PR02,SA01" \
-i "pandas.tseries.offsets.CustomBusinessDay.calendar GL08" \
-i "pandas.tseries.offsets.CustomBusinessDay.copy SA01" \
-i "pandas.tseries.offsets.CustomBusinessDay.freqstr SA01" \
-i "pandas.tseries.offsets.CustomBusinessDay.holidays GL08" \
-i "pandas.tseries.offsets.CustomBusinessDay.is_on_offset GL08" \
-i "pandas.tseries.offsets.CustomBusinessDay.kwds SA01" \
-i "pandas.tseries.offsets.CustomBusinessDay.n GL08" \
-i "pandas.tseries.offsets.CustomBusinessDay.name SA01" \
-i "pandas.tseries.offsets.CustomBusinessDay.nanos GL08" \
-i "pandas.tseries.offsets.CustomBusinessDay.normalize GL08" \
-i "pandas.tseries.offsets.CustomBusinessDay.rule_code GL08" \
-i "pandas.tseries.offsets.CustomBusinessDay.weekmask GL08" \
-i "pandas.tseries.offsets.CustomBusinessHour PR02,SA01" \
-i "pandas.tseries.offsets.CustomBusinessHour.calendar GL08" \
-i "pandas.tseries.offsets.CustomBusinessHour.copy SA01" \
-i "pandas.tseries.offsets.CustomBusinessHour.end GL08" \
-i "pandas.tseries.offsets.CustomBusinessHour.freqstr SA01" \
-i "pandas.tseries.offsets.CustomBusinessHour.holidays GL08" \
-i "pandas.tseries.offsets.CustomBusinessHour.is_on_offset GL08" \
-i "pandas.tseries.offsets.CustomBusinessHour.kwds SA01" \
-i "pandas.tseries.offsets.CustomBusinessHour.n GL08" \
-i "pandas.tseries.offsets.CustomBusinessHour.name SA01" \
-i "pandas.tseries.offsets.CustomBusinessHour.nanos GL08" \
-i "pandas.tseries.offsets.CustomBusinessHour.normalize GL08" \
-i "pandas.tseries.offsets.CustomBusinessHour.rule_code GL08" \
-i "pandas.tseries.offsets.CustomBusinessHour.start GL08" \
-i "pandas.tseries.offsets.CustomBusinessHour.weekmask GL08" \
-i "pandas.tseries.offsets.CustomBusinessMonthBegin PR02" \
-i "pandas.tseries.offsets.CustomBusinessMonthBegin.calendar GL08" \
-i "pandas.tseries.offsets.CustomBusinessMonthBegin.copy SA01" \
-i "pandas.tseries.offsets.CustomBusinessMonthBegin.freqstr SA01" \
-i "pandas.tseries.offsets.CustomBusinessMonthBegin.holidays GL08" \
-i "pandas.tseries.offsets.CustomBusinessMonthBegin.is_on_offset SA01" \
-i "pandas.tseries.offsets.CustomBusinessMonthBegin.kwds SA01" \
-i "pandas.tseries.offsets.CustomBusinessMonthBegin.m_offset GL08" \
-i "pandas.tseries.offsets.CustomBusinessMonthBegin.n GL08" \
-i "pandas.tseries.offsets.CustomBusinessMonthBegin.name SA01" \
-i "pandas.tseries.offsets.CustomBusinessMonthBegin.nanos GL08" \
-i "pandas.tseries.offsets.CustomBusinessMonthBegin.normalize GL08" \
-i "pandas.tseries.offsets.CustomBusinessMonthBegin.rule_code GL08" \
-i "pandas.tseries.offsets.CustomBusinessMonthBegin.weekmask GL08" \
-i "pandas.tseries.offsets.CustomBusinessMonthEnd PR02" \
-i "pandas.tseries.offsets.CustomBusinessMonthEnd.calendar GL08" \
-i "pandas.tseries.offsets.CustomBusinessMonthEnd.copy SA01" \
-i "pandas.tseries.offsets.CustomBusinessMonthEnd.freqstr SA01" \
-i "pandas.tseries.offsets.CustomBusinessMonthEnd.holidays GL08" \
-i "pandas.tseries.offsets.CustomBusinessMonthEnd.is_on_offset SA01" \
-i "pandas.tseries.offsets.CustomBusinessMonthEnd.kwds SA01" \
-i "pandas.tseries.offsets.CustomBusinessMonthEnd.m_offset GL08" \
-i "pandas.tseries.offsets.CustomBusinessMonthEnd.n GL08" \
-i "pandas.tseries.offsets.CustomBusinessMonthEnd.name SA01" \
-i "pandas.tseries.offsets.CustomBusinessMonthEnd.nanos GL08" \
-i "pandas.tseries.offsets.CustomBusinessMonthEnd.normalize GL08" \
-i "pandas.tseries.offsets.CustomBusinessMonthEnd.rule_code GL08" \
-i "pandas.tseries.offsets.CustomBusinessMonthEnd.weekmask GL08" \
-i "pandas.tseries.offsets.DateOffset PR02" \
-i "pandas.tseries.offsets.DateOffset.copy SA01" \
-i "pandas.tseries.offsets.DateOffset.freqstr SA01" \
-i "pandas.tseries.offsets.DateOffset.is_on_offset GL08" \
-i "pandas.tseries.offsets.DateOffset.kwds SA01" \
-i "pandas.tseries.offsets.DateOffset.n GL08" \
-i "pandas.tseries.offsets.DateOffset.name SA01" \
-i "pandas.tseries.offsets.DateOffset.nanos GL08" \
-i "pandas.tseries.offsets.DateOffset.normalize GL08" \
-i "pandas.tseries.offsets.DateOffset.rule_code GL08" \
-i "pandas.tseries.offsets.Day PR02" \
-i "pandas.tseries.offsets.Day.copy SA01" \
-i "pandas.tseries.offsets.Day.freqstr SA01" \
-i "pandas.tseries.offsets.Day.is_on_offset GL08" \
-i "pandas.tseries.offsets.Day.kwds SA01" \
-i "pandas.tseries.offsets.Day.n GL08" \
-i "pandas.tseries.offsets.Day.name SA01" \
-i "pandas.tseries.offsets.Day.nanos SA01" \
-i "pandas.tseries.offsets.Day.normalize GL08" \
-i "pandas.tseries.offsets.Day.rule_code GL08" \
-i "pandas.tseries.offsets.Easter PR02" \
-i "pandas.tseries.offsets.Easter.copy SA01" \
-i "pandas.tseries.offsets.Easter.freqstr SA01" \
-i "pandas.tseries.offsets.Easter.is_on_offset GL08" \
-i "pandas.tseries.offsets.Easter.kwds SA01" \
-i "pandas.tseries.offsets.Easter.n GL08" \
-i "pandas.tseries.offsets.Easter.name SA01" \
-i "pandas.tseries.offsets.Easter.nanos GL08" \
-i "pandas.tseries.offsets.Easter.normalize GL08" \
-i "pandas.tseries.offsets.Easter.rule_code GL08" \
-i "pandas.tseries.offsets.FY5253 PR02" \
-i "pandas.tseries.offsets.FY5253.copy SA01" \
-i "pandas.tseries.offsets.FY5253.freqstr SA01" \
-i "pandas.tseries.offsets.FY5253.get_rule_code_suffix GL08" \
-i "pandas.tseries.offsets.FY5253.get_year_end GL08" \
-i "pandas.tseries.offsets.FY5253.is_on_offset GL08" \
-i "pandas.tseries.offsets.FY5253.kwds SA01" \
-i "pandas.tseries.offsets.FY5253.n GL08" \
-i "pandas.tseries.offsets.FY5253.name SA01" \
-i "pandas.tseries.offsets.FY5253.nanos GL08" \
-i "pandas.tseries.offsets.FY5253.normalize GL08" \
-i "pandas.tseries.offsets.FY5253.rule_code GL08" \
-i "pandas.tseries.offsets.FY5253.startingMonth GL08" \
-i "pandas.tseries.offsets.FY5253.variation GL08" \
-i "pandas.tseries.offsets.FY5253.weekday GL08" \
-i "pandas.tseries.offsets.FY5253Quarter PR02" \
-i "pandas.tseries.offsets.FY5253Quarter.copy SA01" \
-i "pandas.tseries.offsets.FY5253Quarter.freqstr SA01" \
-i "pandas.tseries.offsets.FY5253Quarter.get_rule_code_suffix GL08" \
-i "pandas.tseries.offsets.FY5253Quarter.get_weeks GL08" \
-i "pandas.tseries.offsets.FY5253Quarter.is_on_offset GL08" \
-i "pandas.tseries.offsets.FY5253Quarter.kwds SA01" \
-i "pandas.tseries.offsets.FY5253Quarter.n GL08" \
-i "pandas.tseries.offsets.FY5253Quarter.name SA01" \
-i "pandas.tseries.offsets.FY5253Quarter.nanos GL08" \
-i "pandas.tseries.offsets.FY5253Quarter.normalize GL08" \
-i "pandas.tseries.offsets.FY5253Quarter.qtr_with_extra_week GL08" \
-i "pandas.tseries.offsets.FY5253Quarter.rule_code GL08" \
-i "pandas.tseries.offsets.FY5253Quarter.startingMonth GL08" \
-i "pandas.tseries.offsets.FY5253Quarter.variation GL08" \
-i "pandas.tseries.offsets.FY5253Quarter.weekday GL08" \
-i "pandas.tseries.offsets.FY5253Quarter.year_has_extra_week GL08" \
-i "pandas.tseries.offsets.Hour PR02" \
-i "pandas.tseries.offsets.Hour.copy SA01" \
-i "pandas.tseries.offsets.Hour.freqstr SA01" \
-i "pandas.tseries.offsets.Hour.is_on_offset GL08" \
-i "pandas.tseries.offsets.Hour.kwds SA01" \
-i "pandas.tseries.offsets.Hour.n GL08" \
-i "pandas.tseries.offsets.Hour.name SA01" \
-i "pandas.tseries.offsets.Hour.nanos SA01" \
-i "pandas.tseries.offsets.Hour.normalize GL08" \
-i "pandas.tseries.offsets.Hour.rule_code GL08" \
-i "pandas.tseries.offsets.LastWeekOfMonth PR02,SA01" \
-i "pandas.tseries.offsets.LastWeekOfMonth.copy SA01" \
-i "pandas.tseries.offsets.LastWeekOfMonth.freqstr SA01" \
-i "pandas.tseries.offsets.LastWeekOfMonth.is_on_offset GL08" \
-i "pandas.tseries.offsets.LastWeekOfMonth.kwds SA01" \
-i "pandas.tseries.offsets.LastWeekOfMonth.n GL08" \
-i "pandas.tseries.offsets.LastWeekOfMonth.name SA01" \
-i "pandas.tseries.offsets.LastWeekOfMonth.nanos GL08" \
-i "pandas.tseries.offsets.LastWeekOfMonth.normalize GL08" \
-i "pandas.tseries.offsets.LastWeekOfMonth.rule_code GL08" \
-i "pandas.tseries.offsets.LastWeekOfMonth.week GL08" \
-i "pandas.tseries.offsets.LastWeekOfMonth.weekday GL08" \
-i "pandas.tseries.offsets.Micro PR02" \
-i "pandas.tseries.offsets.Micro.copy SA01" \
-i "pandas.tseries.offsets.Micro.freqstr SA01" \
-i "pandas.tseries.offsets.Micro.is_on_offset GL08" \
-i "pandas.tseries.offsets.Micro.kwds SA01" \
-i "pandas.tseries.offsets.Micro.n GL08" \
-i "pandas.tseries.offsets.Micro.name SA01" \
-i "pandas.tseries.offsets.Micro.nanos SA01" \
-i "pandas.tseries.offsets.Micro.normalize GL08" \
-i "pandas.tseries.offsets.Micro.rule_code GL08" \
-i "pandas.tseries.offsets.Milli PR02" \
-i "pandas.tseries.offsets.Milli.copy SA01" \
-i "pandas.tseries.offsets.Milli.freqstr SA01" \
-i "pandas.tseries.offsets.Milli.is_on_offset GL08" \
-i "pandas.tseries.offsets.Milli.kwds SA01" \
-i "pandas.tseries.offsets.Milli.n GL08" \
-i "pandas.tseries.offsets.Milli.name SA01" \
-i "pandas.tseries.offsets.Milli.nanos SA01" \
-i "pandas.tseries.offsets.Milli.normalize GL08" \
-i "pandas.tseries.offsets.Milli.rule_code GL08" \
-i "pandas.tseries.offsets.Minute PR02" \
-i "pandas.tseries.offsets.Minute.copy SA01" \
-i "pandas.tseries.offsets.Minute.freqstr SA01" \
-i "pandas.tseries.offsets.Minute.is_on_offset GL08" \
-i "pandas.tseries.offsets.Minute.kwds SA01" \
-i "pandas.tseries.offsets.Minute.n GL08" \
-i "pandas.tseries.offsets.Minute.name SA01" \
-i "pandas.tseries.offsets.Minute.nanos SA01" \
-i "pandas.tseries.offsets.Minute.normalize GL08" \
-i "pandas.tseries.offsets.Minute.rule_code GL08" \
-i "pandas.tseries.offsets.MonthBegin PR02" \
-i "pandas.tseries.offsets.MonthBegin.copy SA01" \
-i "pandas.tseries.offsets.MonthBegin.freqstr SA01" \
-i "pandas.tseries.offsets.MonthBegin.is_on_offset GL08" \
-i "pandas.tseries.offsets.MonthBegin.kwds SA01" \
-i "pandas.tseries.offsets.MonthBegin.n GL08" \
-i "pandas.tseries.offsets.MonthBegin.name SA01" \
-i "pandas.tseries.offsets.MonthBegin.nanos GL08" \
-i "pandas.tseries.offsets.MonthBegin.normalize GL08" \
-i "pandas.tseries.offsets.MonthBegin.rule_code GL08" \
-i "pandas.tseries.offsets.MonthEnd PR02" \
-i "pandas.tseries.offsets.MonthEnd.copy SA01" \
-i "pandas.tseries.offsets.MonthEnd.freqstr SA01" \
-i "pandas.tseries.offsets.MonthEnd.is_on_offset GL08" \
-i "pandas.tseries.offsets.MonthEnd.kwds SA01" \
-i "pandas.tseries.offsets.MonthEnd.n GL08" \
-i "pandas.tseries.offsets.MonthEnd.name SA01" \
-i "pandas.tseries.offsets.MonthEnd.nanos GL08" \
-i "pandas.tseries.offsets.MonthEnd.normalize GL08" \
-i "pandas.tseries.offsets.MonthEnd.rule_code GL08" \
-i "pandas.tseries.offsets.Nano PR02" \
-i "pandas.tseries.offsets.Nano.copy SA01" \
-i "pandas.tseries.offsets.Nano.freqstr SA01" \
-i "pandas.tseries.offsets.Nano.is_on_offset GL08" \
-i "pandas.tseries.offsets.Nano.kwds SA01" \
-i "pandas.tseries.offsets.Nano.n GL08" \
-i "pandas.tseries.offsets.Nano.name SA01" \
-i "pandas.tseries.offsets.Nano.nanos SA01" \
-i "pandas.tseries.offsets.Nano.normalize GL08" \
-i "pandas.tseries.offsets.Nano.rule_code GL08" \
-i "pandas.tseries.offsets.QuarterBegin PR02" \
-i "pandas.tseries.offsets.QuarterBegin.copy SA01" \
-i "pandas.tseries.offsets.QuarterBegin.freqstr SA01" \
-i "pandas.tseries.offsets.QuarterBegin.is_on_offset GL08" \
-i "pandas.tseries.offsets.QuarterBegin.kwds SA01" \
-i "pandas.tseries.offsets.QuarterBegin.n GL08" \
-i "pandas.tseries.offsets.QuarterBegin.name SA01" \
-i "pandas.tseries.offsets.QuarterBegin.nanos GL08" \
-i "pandas.tseries.offsets.QuarterBegin.normalize GL08" \
-i "pandas.tseries.offsets.QuarterBegin.rule_code GL08" \
-i "pandas.tseries.offsets.QuarterBegin.startingMonth GL08" \
-i "pandas.tseries.offsets.QuarterEnd PR02" \
-i "pandas.tseries.offsets.QuarterEnd.copy SA01" \
-i "pandas.tseries.offsets.QuarterEnd.freqstr SA01" \
-i "pandas.tseries.offsets.QuarterEnd.is_on_offset GL08" \
-i "pandas.tseries.offsets.QuarterEnd.kwds SA01" \
-i "pandas.tseries.offsets.QuarterEnd.n GL08" \
-i "pandas.tseries.offsets.QuarterEnd.name SA01" \
-i "pandas.tseries.offsets.QuarterEnd.nanos GL08" \
-i "pandas.tseries.offsets.QuarterEnd.normalize GL08" \
-i "pandas.tseries.offsets.QuarterEnd.rule_code GL08" \
-i "pandas.tseries.offsets.QuarterEnd.startingMonth GL08" \
-i "pandas.tseries.offsets.Second PR02" \
-i "pandas.tseries.offsets.Second.copy SA01" \
-i "pandas.tseries.offsets.Second.freqstr SA01" \
-i "pandas.tseries.offsets.Second.is_on_offset GL08" \
-i "pandas.tseries.offsets.Second.kwds SA01" \
-i "pandas.tseries.offsets.Second.n GL08" \
-i "pandas.tseries.offsets.Second.name SA01" \
-i "pandas.tseries.offsets.Second.nanos SA01" \
-i "pandas.tseries.offsets.Second.normalize GL08" \
-i "pandas.tseries.offsets.Second.rule_code GL08" \
-i "pandas.tseries.offsets.SemiMonthBegin PR02,SA01" \
-i "pandas.tseries.offsets.SemiMonthBegin.copy SA01" \
-i "pandas.tseries.offsets.SemiMonthBegin.day_of_month GL08" \
-i "pandas.tseries.offsets.SemiMonthBegin.freqstr SA01" \
-i "pandas.tseries.offsets.SemiMonthBegin.is_on_offset GL08" \
-i "pandas.tseries.offsets.SemiMonthBegin.kwds SA01" \
-i "pandas.tseries.offsets.SemiMonthBegin.n GL08" \
-i "pandas.tseries.offsets.SemiMonthBegin.name SA01" \
-i "pandas.tseries.offsets.SemiMonthBegin.nanos GL08" \
-i "pandas.tseries.offsets.SemiMonthBegin.normalize GL08" \
-i "pandas.tseries.offsets.SemiMonthBegin.rule_code GL08" \
-i "pandas.tseries.offsets.SemiMonthEnd PR02,SA01" \
-i "pandas.tseries.offsets.SemiMonthEnd.copy SA01" \
-i "pandas.tseries.offsets.SemiMonthEnd.day_of_month GL08" \
-i "pandas.tseries.offsets.SemiMonthEnd.freqstr SA01" \
-i "pandas.tseries.offsets.SemiMonthEnd.is_on_offset GL08" \
-i "pandas.tseries.offsets.SemiMonthEnd.kwds SA01" \
-i "pandas.tseries.offsets.SemiMonthEnd.n GL08" \
-i "pandas.tseries.offsets.SemiMonthEnd.name SA01" \
-i "pandas.tseries.offsets.SemiMonthEnd.nanos GL08" \
-i "pandas.tseries.offsets.SemiMonthEnd.normalize GL08" \
-i "pandas.tseries.offsets.SemiMonthEnd.rule_code GL08" \
-i "pandas.tseries.offsets.Tick GL08" \
-i "pandas.tseries.offsets.Tick.copy SA01" \
-i "pandas.tseries.offsets.Tick.freqstr SA01" \
-i "pandas.tseries.offsets.Tick.is_on_offset GL08" \
-i "pandas.tseries.offsets.Tick.kwds SA01" \
-i "pandas.tseries.offsets.Tick.n GL08" \
-i "pandas.tseries.offsets.Tick.name SA01" \
-i "pandas.tseries.offsets.Tick.nanos SA01" \
-i "pandas.tseries.offsets.Tick.normalize GL08" \
-i "pandas.tseries.offsets.Tick.rule_code GL08" \
-i "pandas.tseries.offsets.Week PR02" \
-i "pandas.tseries.offsets.Week.copy SA01" \
-i "pandas.tseries.offsets.Week.freqstr SA01" \
-i "pandas.tseries.offsets.Week.is_on_offset GL08" \
-i "pandas.tseries.offsets.Week.kwds SA01" \
-i "pandas.tseries.offsets.Week.n GL08" \
-i "pandas.tseries.offsets.Week.name SA01" \
-i "pandas.tseries.offsets.Week.nanos GL08" \
-i "pandas.tseries.offsets.Week.normalize GL08" \
-i "pandas.tseries.offsets.Week.rule_code GL08" \
-i "pandas.tseries.offsets.Week.weekday GL08" \
-i "pandas.tseries.offsets.WeekOfMonth PR02,SA01" \
-i "pandas.tseries.offsets.WeekOfMonth.copy SA01" \
-i "pandas.tseries.offsets.WeekOfMonth.freqstr SA01" \
-i "pandas.tseries.offsets.WeekOfMonth.is_on_offset GL08" \
-i "pandas.tseries.offsets.WeekOfMonth.kwds SA01" \
-i "pandas.tseries.offsets.WeekOfMonth.n GL08" \
-i "pandas.tseries.offsets.WeekOfMonth.name SA01" \
-i "pandas.tseries.offsets.WeekOfMonth.nanos GL08" \
-i "pandas.tseries.offsets.WeekOfMonth.normalize GL08" \
-i "pandas.tseries.offsets.WeekOfMonth.rule_code GL08" \
-i "pandas.tseries.offsets.WeekOfMonth.week GL08" \
-i "pandas.tseries.offsets.WeekOfMonth.weekday GL08" \
-i "pandas.tseries.offsets.YearBegin PR02" \
-i "pandas.tseries.offsets.YearBegin.copy SA01" \
-i "pandas.tseries.offsets.YearBegin.freqstr SA01" \
-i "pandas.tseries.offsets.YearBegin.is_on_offset GL08" \
-i "pandas.tseries.offsets.YearBegin.kwds SA01" \
-i "pandas.tseries.offsets.YearBegin.month GL08" \
-i "pandas.tseries.offsets.YearBegin.n GL08" \
-i "pandas.tseries.offsets.YearBegin.name SA01" \
-i "pandas.tseries.offsets.YearBegin.nanos GL08" \
-i "pandas.tseries.offsets.YearBegin.normalize GL08" \
-i "pandas.tseries.offsets.YearBegin.rule_code GL08" \
-i "pandas.tseries.offsets.YearEnd PR02" \
-i "pandas.tseries.offsets.YearEnd.copy SA01" \
-i "pandas.tseries.offsets.YearEnd.freqstr SA01" \
-i "pandas.tseries.offsets.YearEnd.is_on_offset GL08" \
-i "pandas.tseries.offsets.YearEnd.kwds SA01" \
-i "pandas.tseries.offsets.YearEnd.month GL08" \
-i "pandas.tseries.offsets.YearEnd.n GL08" \
-i "pandas.tseries.offsets.YearEnd.name SA01" \
-i "pandas.tseries.offsets.YearEnd.nanos GL08" \
-i "pandas.tseries.offsets.YearEnd.normalize GL08" \
-i "pandas.tseries.offsets.YearEnd.rule_code GL08" \
-i "pandas.unique PR07" \
-i "pandas.util.hash_array PR07,SA01" \
-i "pandas.util.hash_pandas_object PR07,SA01" # There should be no backslash in the final line, please keep this comment in the last ignored function
RET=$(($RET + $?)) ; echo $MSG "DONE"

Currently, some methods fail some of these checks.

The work will be broken up into several tickets, to address the work in issues of a more manageable size.

Issues:
DOC: Enforce Numpy Docstring Validation | pandas.Categorical #58064
DOC: Enforce Numpy Docstring Validation | pandas.DataFrame #58065
DOC: Enforce Numpy Docstring Validation | pandas.Datetime #58066
DOC: Enforce Numpy Docstring Validation | pandas.ExcelFile through pandas.HDFStore #58067
DOC: Enforce Numpy Docstring Validation | pandas.Index #58068
* Additional Issues will be added here as they are created

For each Issue, the task is:

  1. take 1-5 methods

  2. run: scripts/validate_docstrings.py --format=actions <method-name>

example command: scripts/validate_docstrings.py --format=actions pandas.Categorical.__array__
example output:

################################################################################
################################## Validation ##################################
################################################################################

2 Errors found for `pandas.Categorical.__array__`:
	ES01	No extended summary found
	SA01	See Also section not found
  1. check if validation docstrings passes for those methods, and if it’s necessary fix the docstrings according to whatever error is reported. Note: We've chosen to ignore ES01 errors, these are not required to be fixed.

  2. remove those methods from code_checks.sh if all errors are cleared and the docstring is correct, otherwise, remove the specific error that was fixed from the list of errors for that method.

  3. commit, push, open pull request

Please don't comment take as multiple people can work on this issue. You also don't need to ask for permission to work on this, just comment on which methods are you going to work : )

If you're new contributor, please check the contributing guide

thanks @datapythonista for the inspiration for this issue!

@jordan-d-murphy
Copy link
Contributor Author

jordan-d-murphy commented Mar 29, 2024

@datapythonista can you take a look over this? We had discussed this a week or so ago after the refactoring in code_checks.sh ( #57879 & #57908 ) so I wanted to make sure it's in line with what you were thinking. if it looks good to you, I'll go ahead and create issues for the rest of the method categories. Also, I did try to add labels to the child issues, but It doesn't seem to let me for some reason.

@ThomasBur
Copy link

--error was removed as an argument of scripts/validate_docstrings.py in #57879 so the example command won't work.

People can exclude it, instead checking with:
scripts/validate_docstrings.py --format=actions <method-name>

@jordan-d-murphy
Copy link
Contributor Author

Ah gotcha thanks @ThomasBur
I'll update this in all the issues

@jordan-d-murphy
Copy link
Contributor Author

@ThomasBur I updated the example above, can you confirm it looks correct?
(I've updated the examples in the other issues with the same fix)

@Aloqeely
Copy link
Member

Aloqeely commented Mar 29, 2024

Looks good, but you'll need to start the command with python (followed by scripts/validate_docstrings.py --format=actions <method-name>), even though it might seem obvious it's better to be clear.

@jordan-d-murphy
Copy link
Contributor Author

jordan-d-murphy commented Mar 29, 2024

I think python is not required if the development virtual environment is activated, which I believe we should be encouraging.

@tuhinsharma121
Copy link
Contributor

@jordan-d-murphy Mr murphy can you please add #58498 to the body of the parent issue?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

4 participants