Repository: pandas-dev/pandas

Issue:
DOC: Make errors and warnings of the doc build more visible
For my understanding, there are two main things that make problems in the doc build difficult to see:
- The warnings in the documentation build do not fail the build
- The documentation build does not make the CI fail and turn red

I think what we should do is the next:

- [ ] Fix remaining warnings during the doc build
- [ ] Activate the `--warnings-are-errors` option
- [ ] Make the ipython directive fail the build if there are errors or warnings, but continue the build
- [ ] Move the doc build out of the allowed failures build

Does this make sense?

xref: #22743, #24650
cc: @jorisvandenbossche @TomAugspurger @jreback 

Current warnings:
<details>
```
>>>-------------------------------------------------------------------------
Warning in /home/mgarcia/src/pandas/doc/source/indexing.rst at block ending on line 894
Specify :okwarning: as an option in the ipython:: block to suppress this message
----------------------------------------------------------------------------
/home/mgarcia/miniconda3/envs/pandas-dev/bin/sphinx-build:1: FutureWarning: Addition/subtraction of integers and integer-arrays to Timestamp is deprecated, will be removed in a future version.  Instead of adding/subtracting `n`, use `n * self.freq`
  #!/home/mgarcia/miniconda3/envs/pandas-dev/bin/python
<<<-------------------------------------------------------------------------
/home/mgarcia/miniconda3/envs/pandas-dev/lib/python3.7/site-packages/IPython/sphinxext/ipython_directive.py:1020: UserWarning: Code input with no code at /home/mgarcia/src/pandas/doc/source/advanced.rst, line 724
  warnings.warn(message)


>>>-------------------------------------------------------------------------
Warning in /home/mgarcia/src/pandas/doc/source/io.rst at block ending on line 4736
Specify :okwarning: as an option in the ipython:: block to suppress this message
----------------------------------------------------------------------------
/home/mgarcia/miniconda3/envs/pandas-dev/lib/python3.7/site-packages/pyarrow/pandas_compat.py:114: FutureWarning: A future version of pandas will default to `skipna=True`. To silence this warning, pass `skipna=True|False` explicitly.
  result = infer_dtype(pandas_collection)
<<<-------------------------------------------------------------------------


>>>-------------------------------------------------------------------------
Exception in /home/mgarcia/src/pandas/doc/source/io.rst at block ending on line 4736
Specify :okexcept: as an option in the ipython:: block to suppress this message
---------------------------------------------------------------------------
RuntimeError                              Traceback (most recent call last)
<ipython-input-527-8ba55b61d48c> in <module>
----> 1 df.to_parquet('example_fp.parquet', engine='fastparquet')

~/src/pandas/pandas/core/frame.py in to_parquet(self, fname, engine, compression, index, partition_cols, **kwargs)
   2190         to_parquet(self, fname, engine,
   2191                    compression=compression, index=index,
-> 2192                    partition_cols=partition_cols, **kwargs)
   2193 
   2194     @Substitution(header='Whether to print column labels, default True')

~/src/pandas/pandas/io/parquet.py in to_parquet(df, path, engine, compression, index, partition_cols, **kwargs)
    250     impl = get_engine(engine)
    251     return impl.write(df, path, compression=compression, index=index,
--> 252                       partition_cols=partition_cols, **kwargs)
    253 
    254 

~/src/pandas/pandas/io/parquet.py in write(self, df, path, compression, index, partition_cols, **kwargs)
    193             self.api.write(path, df, compression=compression,
    194                            write_index=index, partition_on=partition_cols,
--> 195                            **kwargs)
    196 
    197     def read(self, path, columns=None, **kwargs):

~/miniconda3/envs/pandas-dev/lib/python3.7/site-packages/fastparquet/writer.py in write(filename, data, row_group_offsets, compression, file_scheme, open_with, mkdirs, has_nulls, write_index, partition_on, fixed_text, append, object_encoding, times)
    851     if file_scheme == 'simple':
    852         write_simple(filename, data, fmd, row_group_offsets,
--> 853                      compression, open_with, has_nulls, append)
    854     elif file_scheme in ['hive', 'drill']:
    855         if append:

~/miniconda3/envs/pandas-dev/lib/python3.7/site-packages/fastparquet/writer.py in write_simple(fn, data, fmd, row_group_offsets, compression, open_with, has_nulls, append)
    720                    else None)
    721             rg = make_row_group(f, data[start:end], fmd.schema,
--> 722                                 compression=compression)
    723             if rg is not None:
    724                 fmd.row_groups.append(rg)

~/miniconda3/envs/pandas-dev/lib/python3.7/site-packages/fastparquet/writer.py in make_row_group(f, data, schema, compression)
    617                 comp = compression
    618             chunk = write_column(f, data[column.name], column,
--> 619                                  compression=comp)
    620             rg.columns.append(chunk)
    621     rg.total_byte_size = sum([c.meta_data.total_uncompressed_size for c in

~/miniconda3/envs/pandas-dev/lib/python3.7/site-packages/fastparquet/writer.py in write_column(f, data, selement, compression)
    534 
    535     if compression:
--> 536         bdata = compress_data(bdata, compression)
    537         l1 = len(bdata)
    538     else:

~/miniconda3/envs/pandas-dev/lib/python3.7/site-packages/fastparquet/compression.py in compress_data(data, compression)
    129     if algorithm.upper() not in compressions:
    130         raise RuntimeError("Compression '%s' not available.  Options: %s" %
--> 131                 (algorithm, sorted(compressions)))
    132     if args is None:
    133         return compressions[algorithm.upper()](data)

RuntimeError: Compression 'snappy' not available.  Options: ['GZIP', 'UNCOMPRESSED']
<<<-------------------------------------------------------------------------



>>>-------------------------------------------------------------------------
Exception in /home/mgarcia/src/pandas/doc/source/io.rst at block ending on line None
Specify :okexcept: as an option in the ipython:: block to suppress this message
---------------------------------------------------------------------------
NotADirectoryError                        Traceback (most recent call last)
~/miniconda3/envs/pandas-dev/lib/python3.7/site-packages/fastparquet/api.py in __init__(self, fn, verify, open_with, root, sep)
    109                 self.fn = fn2
--> 110                 with open_with(fn2, 'rb') as f:
    111                     self._parse_header(f, verify)

~/miniconda3/envs/pandas-dev/lib/python3.7/site-packages/fastparquet/util.py in default_open(f, mode)
     37 def default_open(f, mode='rb'):
---> 38     return open(f, mode)
     39 

NotADirectoryError: [Errno 20] Not a directory: 'example_fp.parquet/_metadata'

During handling of the above exception, another exception occurred:

OSError                                   Traceback (most recent call last)
<ipython-input-528-d4bce7d5df53> in <module>
----> 1 result = pd.read_parquet('example_fp.parquet', engine='fastparquet')

~/src/pandas/pandas/io/parquet.py in read_parquet(path, engine, columns, **kwargs)
    280 
    281     impl = get_engine(engine)
--> 282     return impl.read(path, columns=columns, **kwargs)

~/src/pandas/pandas/io/parquet.py in read(self, path, columns, **kwargs)
    207         else:
    208             path, _, _, _ = get_filepath_or_buffer(path)
--> 209             parquet_file = self.api.ParquetFile(path)
    210 
    211         return parquet_file.to_pandas(columns=columns, **kwargs)

~/miniconda3/envs/pandas-dev/lib/python3.7/site-packages/fastparquet/api.py in __init__(self, fn, verify, open_with, root, sep)
    114                 self.fn = join_path(fn)
    115                 with open_with(fn, 'rb') as f:
--> 116                     self._parse_header(f, verify)
    117         self.open = open_with
    118         self.sep = sep

~/miniconda3/envs/pandas-dev/lib/python3.7/site-packages/fastparquet/api.py in _parse_header(self, f, verify)
    123             if verify:
    124                 assert f.read(4) == b'PAR1'
--> 125             f.seek(-8, 2)
    126             head_size = struct.unpack('<i', f.read(4))[0]
    127             if verify:

OSError: [Errno 22] Invalid argument
<<<-------------------------------------------------------------------------



>>>-------------------------------------------------------------------------
Exception in /home/mgarcia/src/pandas/doc/source/io.rst at block ending on line 4756
Specify :okexcept: as an option in the ipython:: block to suppress this message
---------------------------------------------------------------------------
NotADirectoryError                        Traceback (most recent call last)
~/miniconda3/envs/pandas-dev/lib/python3.7/site-packages/fastparquet/api.py in __init__(self, fn, verify, open_with, root, sep)
    109                 self.fn = fn2
--> 110                 with open_with(fn2, 'rb') as f:
    111                     self._parse_header(f, verify)

~/miniconda3/envs/pandas-dev/lib/python3.7/site-packages/fastparquet/util.py in default_open(f, mode)
     37 def default_open(f, mode='rb'):
---> 38     return open(f, mode)
     39 

NotADirectoryError: [Errno 20] Not a directory: 'example_fp.parquet/_metadata'

During handling of the above exception, another exception occurred:

OSError                                   Traceback (most recent call last)
<ipython-input-531-e4f7add80b89> in <module>
      1 result = pd.read_parquet('example_fp.parquet',
----> 2                          engine='fastparquet', columns=['a', 'b'])

~/src/pandas/pandas/io/parquet.py in read_parquet(path, engine, columns, **kwargs)
    280 
    281     impl = get_engine(engine)
--> 282     return impl.read(path, columns=columns, **kwargs)

~/src/pandas/pandas/io/parquet.py in read(self, path, columns, **kwargs)
    207         else:
    208             path, _, _, _ = get_filepath_or_buffer(path)
--> 209             parquet_file = self.api.ParquetFile(path)
    210 
    211         return parquet_file.to_pandas(columns=columns, **kwargs)

~/miniconda3/envs/pandas-dev/lib/python3.7/site-packages/fastparquet/api.py in __init__(self, fn, verify, open_with, root, sep)
    114                 self.fn = join_path(fn)
    115                 with open_with(fn, 'rb') as f:
--> 116                     self._parse_header(f, verify)
    117         self.open = open_with
    118         self.sep = sep

~/miniconda3/envs/pandas-dev/lib/python3.7/site-packages/fastparquet/api.py in _parse_header(self, f, verify)
    123             if verify:
    124                 assert f.read(4) == b'PAR1'
--> 125             f.seek(-8, 2)
    126             head_size = struct.unpack('<i', f.read(4))[0]
    127             if verify:

OSError: [Errno 22] Invalid argument
<<<-------------------------------------------------------------------------



>>>-------------------------------------------------------------------------
Warning in /home/mgarcia/src/pandas/doc/source/io.rst at block ending on line 4774
Specify :okwarning: as an option in the ipython:: block to suppress this message
----------------------------------------------------------------------------
/home/mgarcia/miniconda3/envs/pandas-dev/lib/python3.7/site-packages/pyarrow/pandas_compat.py:114: FutureWarning: A future version of pandas will default to `skipna=True`. To silence this warning, pass `skipna=True|False` explicitly.
  result = infer_dtype(pandas_collection)
<<<-------------------------------------------------------------------------
/home/mgarcia/miniconda3/envs/pandas-dev/lib/python3.7/site-packages/IPython/sphinxext/ipython_directive.py:1020: UserWarning: Code input with no code at /home/mgarcia/src/pandas/doc/source/cookbook.rst, line 1324
  warnings.warn(message)
/home/mgarcia/miniconda3/envs/pandas-dev/lib/python3.7/site-packages/IPython/sphinxext/ipython_directive.py:1020: UserWarning: Code input with no code at /home/mgarcia/src/pandas/doc/source/whatsnew/v0.17.0.rst, line None
  warnings.warn(message)


>>>-------------------------------------------------------------------------
Exception in /home/mgarcia/src/pandas/doc/source/whatsnew/v0.17.0.rst at block ending on line 1006
Specify :okexcept: as an option in the ipython:: block to suppress this message
---------------------------------------------------------------------------
NameError                                 Traceback (most recent call last)
<ipython-input-91-feee93089366> in <module>
----> 1 df = DataFrame(np.random.randn(5, 2),
      2                columns=list('AB'),
      3                index=date_range('20130101', periods=5))

NameError: name 'DataFrame' is not defined
<<<-------------------------------------------------------------------------



>>>-------------------------------------------------------------------------
Exception in /home/mgarcia/src/pandas/doc/source/whatsnew/v0.17.0.rst at block ending on line 1029
Specify :okexcept: as an option in the ipython:: block to suppress this message
---------------------------------------------------------------------------
AttributeError                            Traceback (most recent call last)
<ipython-input-93-d7d99ab4a8cb> in <module>
----> 1 df.add(df.A, axis='index')

~/src/pandas/pandas/core/generic.py in __getattr__(self, name)
   5055             if self._info_axis._can_hold_identifiers_and_holds_name(name):
   5056                 return self[name]
-> 5057             return object.__getattribute__(self, name)
   5058 
   5059     def __setattr__(self, name, value):

AttributeError: 'DataFrame' object has no attribute 'A'
<<<-------------------------------------------------------------------------

/home/mgarcia/miniconda3/envs/pandas-dev/lib/python3.7/site-packages/IPython/sphinxext/ipython_directive.py:1020: UserWarning: Code input with no code at /home/mgarcia/src/pandas/doc/source/whatsnew/v0.17.1.rst, line None
  warnings.warn(message)
/home/mgarcia/src/pandas/pandas/core/accessor.py:docstring of pandas.DatetimeIndex.ceil:29: WARNING: Block quote ends without a blank line; unexpected unindent.
/home/mgarcia/src/pandas/pandas/core/accessor.py:docstring of pandas.DatetimeIndex.floor:29: WARNING: Block quote ends without a blank line; unexpected unindent.
/home/mgarcia/src/pandas/pandas/core/accessor.py:docstring of pandas.DatetimeIndex.round:29: WARNING: Block quote ends without a blank line; unexpected unindent.
/home/mgarcia/src/pandas/pandas/core/accessor.py:docstring of pandas.DatetimeIndex.tz_localize:36: WARNING: Block quote ends without a blank line; unexpected unindent.
/home/mgarcia/src/pandas/pandas/core/dtypes/dtypes.py:docstring of pandas.DatetimeTZDtype:36: WARNING: toctree references unknown document 'api/generated/pandas.DatetimeTZDtype.type'
/home/mgarcia/src/pandas/pandas/core/window.py:docstring of pandas.core.window.Expanding.apply:26: WARNING: Unexpected section title.

Returns
-------
/home/mgarcia/src/pandas/pandas/core/window.py:docstring of pandas.core.window.Rolling.apply:26: WARNING: Unexpected section title.

Returns
-------
/home/mgarcia/src/pandas/pandas/core/arrays/datetimelike.py:docstring of pandas.arrays.TimedeltaArray.ceil:29: WARNING: Block quote ends without a blank line; unexpected unindent.
/home/mgarcia/src/pandas/pandas/core/arrays/datetimelike.py:docstring of pandas.arrays.TimedeltaArray.floor:29: WARNING: Block quote ends without a blank line; unexpected unindent.
/home/mgarcia/src/pandas/pandas/core/arrays/datetimelike.py:docstring of pandas.arrays.TimedeltaArray.round:29: WARNING: Block quote ends without a blank line; unexpected unindent.
/home/mgarcia/src/pandas/pandas/core/arrays/datetimes.py:docstring of pandas.arrays.DatetimeArray.tz_localize:36: WARNING: Block quote ends without a blank line; unexpected unindent.
/home/mgarcia/src/pandas/pandas/io/parsers.py:docstring of pandas.read_table:5: WARNING: Explicit markup ends without a blank line; unexpected unindent.
/home/mgarcia/src/pandas/pandas/core/arrays/datetimelike.py:docstring of pandas.arrays.DatetimeArray.ceil:29: WARNING: Block quote ends without a blank line; unexpected unindent.
/home/mgarcia/src/pandas/pandas/core/arrays/datetimelike.py:docstring of pandas.arrays.DatetimeArray.floor:29: WARNING: Block quote ends without a blank line; unexpected unindent.
/home/mgarcia/src/pandas/pandas/core/arrays/datetimelike.py:docstring of pandas.arrays.DatetimeArray.round:29: WARNING: Block quote ends without a blank line; unexpected unindent.
/home/mgarcia/src/pandas/pandas/core/arrays/integer.py:docstring of pandas.UInt32Dtype:34: WARNING: toctree references unknown document 'api/generated/pandas.UInt32Dtype.type'
/home/mgarcia/src/pandas/pandas/core/arrays/integer.py:docstring of pandas.UInt64Dtype:34: WARNING: toctree references unknown document 'api/generated/pandas.UInt64Dtype.type'
/home/mgarcia/src/pandas/pandas/core/arrays/integer.py:docstring of pandas.UInt8Dtype:34: WARNING: toctree references unknown document 'api/generated/pandas.UInt8Dtype.type'
docstring of pandas.Timestamp.round:20: WARNING: Block quote ends without a blank line; unexpected unindent.
docstring of pandas.Timestamp.tz_localize:27: WARNING: Block quote ends without a blank line; unexpected unindent.
/home/mgarcia/src/pandas/pandas/core/arrays/integer.py:docstring of pandas.UInt16Dtype:34: WARNING: toctree references unknown document 'api/generated/pandas.UInt16Dtype.type'
/home/mgarcia/src/pandas/pandas/core/arrays/datetimelike.py:docstring of pandas.TimedeltaIndex.ceil:29: WARNING: Block quote ends without a blank line; unexpected unindent.
/home/mgarcia/src/pandas/pandas/core/arrays/datetimelike.py:docstring of pandas.TimedeltaIndex.floor:29: WARNING: Block quote ends without a blank line; unexpected unindent.
/home/mgarcia/src/pandas/pandas/core/arrays/datetimelike.py:docstring of pandas.TimedeltaIndex.round:29: WARNING: Block quote ends without a blank line; unexpected unindent.
docstring of pandas.Timestamp.ceil:20: WARNING: Block quote ends without a blank line; unexpected unindent.
docstring of pandas.Timestamp.floor:20: WARNING: Block quote ends without a blank line; unexpected unindent.
/home/mgarcia/src/pandas/pandas/core/accessor.py:docstring of pandas.Series.dt.ceil:29: WARNING: Block quote ends without a blank line; unexpected unindent.
/home/mgarcia/src/pandas/pandas/core/accessor.py:docstring of pandas.Series.dt.floor:29: WARNING: Block quote ends without a blank line; unexpected unindent.
/home/mgarcia/src/pandas/pandas/core/accessor.py:docstring of pandas.Series.dt.round:29: WARNING: Block quote ends without a blank line; unexpected unindent.
/home/mgarcia/src/pandas/pandas/core/accessor.py:docstring of pandas.Series.dt.tz_localize:36: WARNING: Block quote ends without a blank line; unexpected unindent.
/home/mgarcia/src/pandas/pandas/core/dtypes/dtypes.py:docstring of pandas.PeriodDtype:33: WARNING: toctree references unknown document 'api/generated/pandas.PeriodDtype.type'
/home/mgarcia/src/pandas/pandas/core/series.py:docstring of pandas.Series:96: WARNING: toctree references unknown document 'api/generated/pandas.Series.sparse'
/home/mgarcia/src/pandas/pandas/core/arrays/integer.py:docstring of pandas.Int16Dtype:34: WARNING: toctree references unknown document 'api/generated/pandas.Int16Dtype.type'
/home/mgarcia/src/pandas/pandas/core/arrays/integer.py:docstring of pandas.Int32Dtype:34: WARNING: toctree references unknown document 'api/generated/pandas.Int32Dtype.type'
/home/mgarcia/src/pandas/pandas/core/arrays/integer.py:docstring of pandas.Int64Dtype:34: WARNING: toctree references unknown document 'api/generated/pandas.Int64Dtype.type'
/home/mgarcia/src/pandas/pandas/core/arrays/integer.py:docstring of pandas.Int8Dtype:34: WARNING: toctree references unknown document 'api/generated/pandas.Int8Dtype.type'
/home/mgarcia/src/pandas/pandas/core/indexes/interval.py:docstring of pandas.IntervalIndex:103: WARNING: toctree references unknown document 'api/generated/pandas.IntervalIndex.to_tuples'
/home/mgarcia/src/pandas/pandas/core/generic.py:docstring of pandas.DataFrame.to_sql:1: WARNING: duplicate object description of pandas.DataFrame.to_sql, other instance in /home/mgarcia/src/pandas/doc/source/api/generated/pandas.DataFrame.to_sql.rst, use :noindex: for one of them
/home/mgarcia/src/pandas/pandas/core/generic.py:docstring of pandas.DataFrame.to_sql:85: WARNING: duplicate citation R689dfd12abe5-1, other instance in /home/mgarcia/src/pandas/doc/source/api/generated/pandas.DataFrame.to_sql.rst
/home/mgarcia/src/pandas/pandas/core/generic.py:docstring of pandas.DataFrame.to_sql:86: WARNING: duplicate citation R689dfd12abe5-2, other instance in /home/mgarcia/src/pandas/doc/source/api/generated/pandas.DataFrame.to_sql.rst
/home/mgarcia/src/pandas/doc/source/missing_data.rst:483: WARNING: Title level inconsistent:

Interpolation Limits
^^^^^^^^^^^^^^^^^^^^
/home/mgarcia/src/pandas/pandas/io/sql.py:docstring of pandas.read_sql_table:1: WARNING: duplicate object description of pandas.read_sql_table, other instance in /home/mgarcia/src/pandas/doc/source/generated/pandas.read_sql_table.rst, use :noindex: for one of them
looking for now-outdated files... none found
pickling environment... done
checking consistency... /home/mgarcia/src/pandas/doc/source/api/generated/pandas.DataFrame.timetuple.rst: WARNING: document isn't included in any toctree
/home/mgarcia/src/pandas/doc/source/api/generated/pandas.DatetimeTZDtype.base.rst: WARNING: document isn't included in any toctree
/home/mgarcia/src/pandas/doc/source/api/generated/pandas.DatetimeTZDtype.isbuiltin.rst: WARNING: document isn't included in any toctree
/home/mgarcia/src/pandas/doc/source/api/generated/pandas.DatetimeTZDtype.isnative.rst: WARNING: document isn't included in any toctree
/home/mgarcia/src/pandas/doc/source/api/generated/pandas.DatetimeTZDtype.itemsize.rst: WARNING: document isn't included in any toctree
/home/mgarcia/src/pandas/doc/source/api/generated/pandas.DatetimeTZDtype.kind.rst: WARNING: document isn't included in any toctree
/home/mgarcia/src/pandas/doc/source/api/generated/pandas.DatetimeTZDtype.na_value.rst: WARNING: document isn't included in any toctree
/home/mgarcia/src/pandas/doc/source/api/generated/pandas.DatetimeTZDtype.num.rst: WARNING: document isn't included in any toctree
/home/mgarcia/src/pandas/doc/source/api/generated/pandas.DatetimeTZDtype.shape.rst: WARNING: document isn't included in any toctree
/home/mgarcia/src/pandas/doc/source/api/generated/pandas.DatetimeTZDtype.str.rst: WARNING: document isn't included in any toctree
/home/mgarcia/src/pandas/doc/source/api/generated/pandas.DatetimeTZDtype.subdtype.rst: WARNING: document isn't included in any toctree
/home/mgarcia/src/pandas/doc/source/api/generated/pandas.Int16Dtype.base.rst: WARNING: document isn't included in any toctree
/home/mgarcia/src/pandas/doc/source/api/generated/pandas.Int16Dtype.is_signed_integer.rst: WARNING: document isn't included in any toctree
/home/mgarcia/src/pandas/doc/source/api/generated/pandas.Int16Dtype.is_unsigned_integer.rst: WARNING: document isn't included in any toctree
/home/mgarcia/src/pandas/doc/source/api/generated/pandas.Int16Dtype.kind.rst: WARNING: document isn't included in any toctree
/home/mgarcia/src/pandas/doc/source/api/generated/pandas.Int16Dtype.na_value.rst: WARNING: document isn't included in any toctree
/home/mgarcia/src/pandas/doc/source/api/generated/pandas.Int16Dtype.name.rst: WARNING: document isn't included in any toctree
/home/mgarcia/src/pandas/doc/source/api/generated/pandas.Int32Dtype.base.rst: WARNING: document isn't included in any toctree
/home/mgarcia/src/pandas/doc/source/api/generated/pandas.Int32Dtype.is_signed_integer.rst: WARNING: document isn't included in any toctree
/home/mgarcia/src/pandas/doc/source/api/generated/pandas.Int32Dtype.is_unsigned_integer.rst: WARNING: document isn't included in any toctree
/home/mgarcia/src/pandas/doc/source/api/generated/pandas.Int32Dtype.kind.rst: WARNING: document isn't included in any toctree
/home/mgarcia/src/pandas/doc/source/api/generated/pandas.Int32Dtype.na_value.rst: WARNING: document isn't included in any toctree
/home/mgarcia/src/pandas/doc/source/api/generated/pandas.Int32Dtype.name.rst: WARNING: document isn't included in any toctree
/home/mgarcia/src/pandas/doc/source/api/generated/pandas.Int64Dtype.base.rst: WARNING: document isn't included in any toctree
/home/mgarcia/src/pandas/doc/source/api/generated/pandas.Int64Dtype.is_signed_integer.rst: WARNING: document isn't included in any toctree
/home/mgarcia/src/pandas/doc/source/api/generated/pandas.Int64Dtype.is_unsigned_integer.rst: WARNING: document isn't included in any toctree
/home/mgarcia/src/pandas/doc/source/api/generated/pandas.Int64Dtype.kind.rst: WARNING: document isn't included in any toctree
/home/mgarcia/src/pandas/doc/source/api/generated/pandas.Int64Dtype.na_value.rst: WARNING: document isn't included in any toctree
/home/mgarcia/src/pandas/doc/source/api/generated/pandas.Int64Dtype.name.rst: WARNING: document isn't included in any toctree
/home/mgarcia/src/pandas/doc/source/api/generated/pandas.Int8Dtype.base.rst: WARNING: document isn't included in any toctree
/home/mgarcia/src/pandas/doc/source/api/generated/pandas.Int8Dtype.is_signed_integer.rst: WARNING: document isn't included in any toctree
/home/mgarcia/src/pandas/doc/source/api/generated/pandas.Int8Dtype.is_unsigned_integer.rst: WARNING: document isn't included in any toctree
/home/mgarcia/src/pandas/doc/source/api/generated/pandas.Int8Dtype.kind.rst: WARNING: document isn't included in any toctree
/home/mgarcia/src/pandas/doc/source/api/generated/pandas.Int8Dtype.na_value.rst: WARNING: document isn't included in any toctree
/home/mgarcia/src/pandas/doc/source/api/generated/pandas.Int8Dtype.name.rst: WARNING: document isn't included in any toctree
/home/mgarcia/src/pandas/doc/source/api/generated/pandas.IntervalArray.argsort.rst: WARNING: document isn't included in any toctree
/home/mgarcia/src/pandas/doc/source/api/generated/pandas.IntervalArray.astype.rst: WARNING: document isn't included in any toctree
/home/mgarcia/src/pandas/doc/source/api/generated/pandas.IntervalArray.can_hold_na.rst: WARNING: document isn't included in any toctree
/home/mgarcia/src/pandas/doc/source/api/generated/pandas.IntervalArray.closed_left.rst: WARNING: document isn't included in any toctree
/home/mgarcia/src/pandas/doc/source/api/generated/pandas.IntervalArray.closed_right.rst: WARNING: document isn't included in any toctree
/home/mgarcia/src/pandas/doc/source/api/generated/pandas.IntervalArray.copy.rst: WARNING: document isn't included in any toctree
/home/mgarcia/src/pandas/doc/source/api/generated/pandas.IntervalArray.dropna.rst: WARNING: document isn't included in any toctree
/home/mgarcia/src/pandas/doc/source/api/generated/pandas.IntervalArray.dtype.rst: WARNING: document isn't included in any toctree
/home/mgarcia/src/pandas/doc/source/api/generated/pandas.IntervalArray.factorize.rst: WARNING: document isn't included in any toctree
/home/mgarcia/src/pandas/doc/source/api/generated/pandas.IntervalArray.fillna.rst: WARNING: document isn't included in any toctree
/home/mgarcia/src/pandas/doc/source/api/generated/pandas.IntervalArray.isna.rst: WARNING: document isn't included in any toctree
/home/mgarcia/src/pandas/doc/source/api/generated/pandas.IntervalArray.nbytes.rst: WARNING: document isn't included in any toctree
/home/mgarcia/src/pandas/doc/source/api/generated/pandas.IntervalArray.ndim.rst: WARNING: document isn't included in any toctree
/home/mgarcia/src/pandas/doc/source/api/generated/pandas.IntervalArray.open_left.rst: WARNING: document isn't included in any toctree
/home/mgarcia/src/pandas/doc/source/api/generated/pandas.IntervalArray.open_right.rst: WARNING: document isn't included in any toctree
/home/mgarcia/src/pandas/doc/source/api/generated/pandas.IntervalArray.repeat.rst: WARNING: document isn't included in any toctree
/home/mgarcia/src/pandas/doc/source/api/generated/pandas.IntervalArray.searchsorted.rst: WARNING: document isn't included in any toctree
/home/mgarcia/src/pandas/doc/source/api/generated/pandas.IntervalArray.shape.rst: WARNING: document isn't included in any toctree
/home/mgarcia/src/pandas/doc/source/api/generated/pandas.IntervalArray.shift.rst: WARNING: document isn't included in any toctree
/home/mgarcia/src/pandas/doc/source/api/generated/pandas.IntervalArray.size.rst: WARNING: document isn't included in any toctree
/home/mgarcia/src/pandas/doc/source/api/generated/pandas.IntervalArray.take.rst: WARNING: document isn't included in any toctree
/home/mgarcia/src/pandas/doc/source/api/generated/pandas.IntervalArray.unique.rst: WARNING: document isn't included in any toctree
/home/mgarcia/src/pandas/doc/source/api/generated/pandas.IntervalArray.value_counts.rst: WARNING: document isn't included in any toctree
/home/mgarcia/src/pandas/doc/source/api/generated/pandas.IntervalDtype.base.rst: WARNING: document isn't included in any toctree
/home/mgarcia/src/pandas/doc/source/api/generated/pandas.IntervalDtype.isbuiltin.rst: WARNING: document isn't included in any toctree
/home/mgarcia/src/pandas/doc/source/api/generated/pandas.IntervalDtype.isnative.rst: WARNING: document isn't included in any toctree
/home/mgarcia/src/pandas/doc/source/api/generated/pandas.IntervalDtype.itemsize.rst: WARNING: document isn't included in any toctree
/home/mgarcia/src/pandas/doc/source/api/generated/pandas.IntervalDtype.kind.rst: WARNING: document isn't included in any toctree
/home/mgarcia/src/pandas/doc/source/api/generated/pandas.IntervalDtype.na_value.rst: WARNING: document isn't included in any toctree
/home/mgarcia/src/pandas/doc/source/api/generated/pandas.IntervalDtype.name.rst: WARNING: document isn't included in any toctree
/home/mgarcia/src/pandas/doc/source/api/generated/pandas.IntervalDtype.num.rst: WARNING: document isn't included in any toctree
/home/mgarcia/src/pandas/doc/source/api/generated/pandas.IntervalDtype.shape.rst: WARNING: document isn't included in any toctree
/home/mgarcia/src/pandas/doc/source/api/generated/pandas.IntervalDtype.str.rst: WARNING: document isn't included in any toctree
/home/mgarcia/src/pandas/doc/source/api/generated/pandas.IntervalDtype.subdtype.rst: WARNING: document isn't included in any toctree
/home/mgarcia/src/pandas/doc/source/api/generated/pandas.Panel.timetuple.rst: WARNING: document isn't included in any toctree
/home/mgarcia/src/pandas/doc/source/api/generated/pandas.PeriodDtype.base.rst: WARNING: document isn't included in any toctree
/home/mgarcia/src/pandas/doc/source/api/generated/pandas.PeriodDtype.isbuiltin.rst: WARNING: document isn't included in any toctree
/home/mgarcia/src/pandas/doc/source/api/generated/pandas.PeriodDtype.isnative.rst: WARNING: document isn't included in any toctree
/home/mgarcia/src/pandas/doc/source/api/generated/pandas.PeriodDtype.itemsize.rst: WARNING: document isn't included in any toctree
/home/mgarcia/src/pandas/doc/source/api/generated/pandas.PeriodDtype.kind.rst: WARNING: document isn't included in any toctree
/home/mgarcia/src/pandas/doc/source/api/generated/pandas.PeriodDtype.num.rst: WARNING: document isn't included in any toctree
/home/mgarcia/src/pandas/doc/source/api/generated/pandas.PeriodDtype.shape.rst: WARNING: document isn't included in any toctree
/home/mgarcia/src/pandas/doc/source/api/generated/pandas.PeriodDtype.str.rst: WARNING: document isn't included in any toctree
/home/mgarcia/src/pandas/doc/source/api/generated/pandas.PeriodDtype.subdtype.rst: WARNING: document isn't included in any toctree
/home/mgarcia/src/pandas/doc/source/api/generated/pandas.Series.timetuple.rst: WARNING: document isn't included in any toctree
/home/mgarcia/src/pandas/doc/source/api/generated/pandas.SparseArray.nonzero.rst: WARNING: document isn't included in any toctree
/home/mgarcia/src/pandas/doc/source/api/generated/pandas.SparseDtype.na_value.rst: WARNING: document isn't included in any toctree
/home/mgarcia/src/pandas/doc/source/api/generated/pandas.SparseDtype.subtype.rst: WARNING: document isn't included in any toctree
/home/mgarcia/src/pandas/doc/source/api/generated/pandas.UInt16Dtype.base.rst: WARNING: document isn't included in any toctree
/home/mgarcia/src/pandas/doc/source/api/generated/pandas.UInt16Dtype.is_signed_integer.rst: WARNING: document isn't included in any toctree
/home/mgarcia/src/pandas/doc/source/api/generated/pandas.UInt16Dtype.is_unsigned_integer.rst: WARNING: document isn't included in any toctree
/home/mgarcia/src/pandas/doc/source/api/generated/pandas.UInt16Dtype.kind.rst: WARNING: document isn't included in any toctree
/home/mgarcia/src/pandas/doc/source/api/generated/pandas.UInt16Dtype.na_value.rst: WARNING: document isn't included in any toctree
/home/mgarcia/src/pandas/doc/source/api/generated/pandas.UInt16Dtype.name.rst: WARNING: document isn't included in any toctree
/home/mgarcia/src/pandas/doc/source/api/generated/pandas.UInt32Dtype.base.rst: WARNING: document isn't included in any toctree
/home/mgarcia/src/pandas/doc/source/api/generated/pandas.UInt32Dtype.is_signed_integer.rst: WARNING: document isn't included in any toctree
/home/mgarcia/src/pandas/doc/source/api/generated/pandas.UInt32Dtype.is_unsigned_integer.rst: WARNING: document isn't included in any toctree
/home/mgarcia/src/pandas/doc/source/api/generated/pandas.UInt32Dtype.kind.rst: WARNING: document isn't included in any toctree
/home/mgarcia/src/pandas/doc/source/api/generated/pandas.UInt32Dtype.na_value.rst: WARNING: document isn't included in any toctree
/home/mgarcia/src/pandas/doc/source/api/generated/pandas.UInt32Dtype.name.rst: WARNING: document isn't included in any toctree
/home/mgarcia/src/pandas/doc/source/api/generated/pandas.UInt64Dtype.base.rst: WARNING: document isn't included in any toctree
/home/mgarcia/src/pandas/doc/source/api/generated/pandas.UInt64Dtype.is_signed_integer.rst: WARNING: document isn't included in any toctree
/home/mgarcia/src/pandas/doc/source/api/generated/pandas.UInt64Dtype.is_unsigned_integer.rst: WARNING: document isn't included in any toctree
/home/mgarcia/src/pandas/doc/source/api/generated/pandas.UInt64Dtype.kind.rst: WARNING: document isn't included in any toctree
/home/mgarcia/src/pandas/doc/source/api/generated/pandas.UInt64Dtype.na_value.rst: WARNING: document isn't included in any toctree
/home/mgarcia/src/pandas/doc/source/api/generated/pandas.UInt64Dtype.name.rst: WARNING: document isn't included in any toctree
/home/mgarcia/src/pandas/doc/source/api/generated/pandas.UInt8Dtype.base.rst: WARNING: document isn't included in any toctree
/home/mgarcia/src/pandas/doc/source/api/generated/pandas.UInt8Dtype.is_signed_integer.rst: WARNING: document isn't included in any toctree
/home/mgarcia/src/pandas/doc/source/api/generated/pandas.UInt8Dtype.is_unsigned_integer.rst: WARNING: document isn't included in any toctree
/home/mgarcia/src/pandas/doc/source/api/generated/pandas.UInt8Dtype.kind.rst: WARNING: document isn't included in any toctree
/home/mgarcia/src/pandas/doc/source/api/generated/pandas.UInt8Dtype.na_value.rst: WARNING: document isn't included in any toctree
/home/mgarcia/src/pandas/doc/source/api/generated/pandas.UInt8Dtype.name.rst: WARNING: document isn't included in any toctree
/home/mgarcia/src/pandas/doc/source/api/generated/pandas.arrays.DatetimeArray.map.rst: WARNING: document isn't included in any toctree
/home/mgarcia/src/pandas/doc/source/api/generated/pandas.arrays.DatetimeArray.ndim.rst: WARNING: document isn't included in any toctree
/home/mgarcia/src/pandas/doc/source/api/generated/pandas.arrays.DatetimeArray.timetuple.rst: WARNING: document isn't included in any toctree
/home/mgarcia/src/pandas/doc/source/api/generated/pandas.arrays.IntegerArray.dtype.rst: WARNING: document isn't included in any toctree
/home/mgarcia/src/pandas/doc/source/api/generated/pandas.arrays.PandasArray.all.rst: WARNING: document isn't included in any toctree
/home/mgarcia/src/pandas/doc/source/api/generated/pandas.arrays.PandasArray.any.rst: WARNING: document isn't included in any toctree
/home/mgarcia/src/pandas/doc/source/api/generated/pandas.arrays.PandasArray.kurt.rst: WARNING: document isn't included in any toctree
/home/mgarcia/src/pandas/doc/source/api/generated/pandas.arrays.PandasArray.max.rst: WARNING: document isn't included in any toctree
/home/mgarcia/src/pandas/doc/source/api/generated/pandas.arrays.PandasArray.mean.rst: WARNING: document isn't included in any toctree
/home/mgarcia/src/pandas/doc/source/api/generated/pandas.arrays.PandasArray.median.rst: WARNING: document isn't included in any toctree
/home/mgarcia/src/pandas/doc/source/api/generated/pandas.arrays.PandasArray.min.rst: WARNING: document isn't included in any toctree
/home/mgarcia/src/pandas/doc/source/api/generated/pandas.arrays.PandasArray.prod.rst: WARNING: document isn't included in any toctree
/home/mgarcia/src/pandas/doc/source/api/generated/pandas.arrays.PandasArray.sem.rst: WARNING: document isn't included in any toctree
/home/mgarcia/src/pandas/doc/source/api/generated/pandas.arrays.PandasArray.skew.rst: WARNING: document isn't included in any toctree
/home/mgarcia/src/pandas/doc/source/api/generated/pandas.arrays.PandasArray.std.rst: WARNING: document isn't included in any toctree
/home/mgarcia/src/pandas/doc/source/api/generated/pandas.arrays.PandasArray.sum.rst: WARNING: document isn't included in any toctree
/home/mgarcia/src/pandas/doc/source/api/generated/pandas.arrays.PandasArray.var.rst: WARNING: document isn't included in any toctree
/home/mgarcia/src/pandas/doc/source/api/generated/pandas.arrays.TimedeltaArray.map.rst: WARNING: document isn't included in any toctree
/home/mgarcia/src/pandas/doc/source/api/generated/pandas.arrays.TimedeltaArray.ndim.rst: WARNING: document isn't included in any toctree
/home/mgarcia/src/pandas/doc/source/api/scalars.rst: WARNING: document isn't included in any toctree
/home/mgarcia/src/pandas/doc/source/generated/pandas.read_excel.rst: WARNING: document isn't included in any toctree
/home/mgarcia/src/pandas/doc/source/user_guide/generated/pandas.DataFrame.to_sql.rst: WARNING: document isn't included in any toctree
/home/mgarcia/src/pandas/doc/source/user_guide/generated/pandas.read_sql.rst: WARNING: document isn't included in any toctree
/home/mgarcia/src/pandas/doc/source/user_guide/generated/pandas.read_sql_query.rst: WARNING: document isn't included in any toctree
/home/mgarcia/src/pandas/doc/source/user_guide/generated/pandas.read_sql_table.rst: WARNING: document isn't included in any toctree
done
preparing documents... done
WARNING: toctree contains reference to nonexisting document 'api/generated/pandas.DatetimeTZDtype.type'                                                                                                                                       
WARNING: toctree contains reference to nonexisting document 'api/generated/pandas.PeriodDtype.type'
WARNING: toctree contains reference to nonexisting document 'api/generated/pandas.Int8Dtype.type'
WARNING: toctree contains reference to nonexisting document 'api/generated/pandas.Int16Dtype.type'
WARNING: toctree contains reference to nonexisting document 'api/generated/pandas.Int32Dtype.type'
WARNING: toctree contains reference to nonexisting document 'api/generated/pandas.Int64Dtype.type'
WARNING: toctree contains reference to nonexisting document 'api/generated/pandas.UInt8Dtype.type'
WARNING: toctree contains reference to nonexisting document 'api/generated/pandas.UInt16Dtype.type'
WARNING: toctree contains reference to nonexisting document 'api/generated/pandas.UInt32Dtype.type'
WARNING: toctree contains reference to nonexisting document 'api/generated/pandas.UInt64Dtype.type'
/home/mgarcia/src/pandas/pandas/core/dtypes/dtypes.py:docstring of pandas.DatetimeTZDtype:44:<autosummary>:: WARNING: toctree contains reference to nonexisting document 'api/generated/pandas.DatetimeTZDtype.type'                          
/home/mgarcia/src/pandas/pandas/core/arrays/integer.py:docstring of pandas.Int16Dtype:41:<autosummary>:: WARNING: toctree contains reference to nonexisting document 'api/generated/pandas.Int16Dtype.type'                                   
/home/mgarcia/src/pandas/pandas/core/arrays/integer.py:docstring of pandas.Int32Dtype:41:<autosummary>:: WARNING: toctree contains reference to nonexisting document 'api/generated/pandas.Int32Dtype.type'
/home/mgarcia/src/pandas/pandas/core/arrays/integer.py:docstring of pandas.Int64Dtype:41:<autosummary>:: WARNING: toctree contains reference to nonexisting document 'api/generated/pandas.Int64Dtype.type'
/home/mgarcia/src/pandas/pandas/core/arrays/integer.py:docstring of pandas.Int8Dtype:41:<autosummary>:: WARNING: toctree contains reference to nonexisting document 'api/generated/pandas.Int8Dtype.type'                                     
/home/mgarcia/src/pandas/pandas/core/indexes/interval.py:docstring of pandas.IntervalIndex:113:<autosummary>:: WARNING: toctree contains reference to nonexisting document 'api/generated/pandas.IntervalIndex.to_tuples'                     
/home/mgarcia/src/pandas/pandas/core/dtypes/dtypes.py:docstring of pandas.PeriodDtype:41:<autosummary>:: WARNING: toctree contains reference to nonexisting document 'api/generated/pandas.PeriodDtype.type'                                  
/home/mgarcia/src/pandas/pandas/core/series.py:docstring of pandas.Series:303:<autosummary>:: WARNING: toctree contains reference to nonexisting document 'api/generated/pandas.Series.sparse'
/home/mgarcia/src/pandas/pandas/core/arrays/integer.py:docstring of pandas.UInt16Dtype:41:<autosummary>:: WARNING: toctree contains reference to nonexisting document 'api/generated/pandas.UInt16Dtype.type'                                 
/home/mgarcia/src/pandas/pandas/core/arrays/integer.py:docstring of pandas.UInt32Dtype:41:<autosummary>:: WARNING: toctree contains reference to nonexisting document 'api/generated/pandas.UInt32Dtype.type'
/home/mgarcia/src/pandas/pandas/core/arrays/integer.py:docstring of pandas.UInt64Dtype:41:<autosummary>:: WARNING: toctree contains reference to nonexisting document 'api/generated/pandas.UInt64Dtype.type'
/home/mgarcia/src/pandas/pandas/core/arrays/integer.py:docstring of pandas.UInt8Dtype:41:<autosummary>:: WARNING: toctree contains reference to nonexisting document 'api/generated/pandas.UInt8Dtype.type'                                   
b'<partial node>':: WARNING: toctree contains reference to nonexisting document 'api/generated/pandas.DatetimeTZDtype.type'_counts                                                                                                            
b'<partial node>':: WARNING: toctree contains reference to nonexisting document 'api/generated/pandas.DatetimeTZDtype.type'
b'<partial node>':: WARNING: toctree contains reference to nonexisting document 'api/generated/pandas.DatetimeTZDtype.type'
b'<partial node>':: WARNING: toctree contains reference to nonexisting document 'api/generated/pandas.DatetimeTZDtype.type'
b'<partial node>':: WARNING: toctree contains reference to nonexisting document 'api/generated/pandas.DatetimeTZDtype.type'
b'<partial node>':: WARNING: toctree contains reference to nonexisting document 'api/generated/pandas.DatetimeTZDtype.type'
b'<partial node>':: WARNING: toctree contains reference to nonexisting document 'api/generated/pandas.DatetimeTZDtype.type'
b'<partial node>':: WARNING: toctree contains reference to nonexisting document 'api/generated/pandas.DatetimeTZDtype.type'
b'<partial node>':: WARNING: toctree contains reference to nonexisting document 'api/generated/pandas.DatetimeTZDtype.type'
WARNING: toctree contains reference to nonexisting document 'api/generated/pandas.Series.sparse'andas.read_sql                                                                                                                                
WARNING: toctree contains reference to nonexisting document 'api/generated/pandas.DatetimeTZDtype.type'
WARNING: toctree contains reference to nonexisting document 'api/generated/pandas.PeriodDtype.type'
WARNING: toctree contains reference to nonexisting document 'api/generated/pandas.Int8Dtype.type'
WARNING: toctree contains reference to nonexisting document 'api/generated/pandas.Int16Dtype.type'
WARNING: toctree contains reference to nonexisting document 'api/generated/pandas.Int32Dtype.type'
WARNING: toctree contains reference to nonexisting document 'api/generated/pandas.Int64Dtype.type'
WARNING: toctree contains reference to nonexisting document 'api/generated/pandas.UInt8Dtype.type'
WARNING: toctree contains reference to nonexisting document 'api/generated/pandas.UInt16Dtype.type'
WARNING: toctree contains reference to nonexisting document 'api/generated/pandas.UInt32Dtype.type'
WARNING: toctree contains reference to nonexisting document 'api/generated/pandas.UInt64Dtype.type'
WARNING: toctree contains reference to nonexisting document 'api/generated/pandas.IntervalIndex.to_tuples'
WARNING: toctree contains reference to nonexisting document 'api/generated/pandas.IntervalIndex.to_tuples'
WARNING: toctree contains reference to nonexisting document 'api/generated/pandas.Series.sparse'
b'<partial node>':: WARNING: toctree contains reference to nonexisting document 'api/generated/pandas.UInt64Dtype.type'
b'<partial node>':: WARNING: toctree contains reference to nonexisting document 'api/generated/pandas.UInt64Dtype.type'
b'<partial node>':: WARNING: toctree contains reference to nonexisting document 'api/generated/pandas.UInt8Dtype.type'
b'<partial node>':: WARNING: toctree contains reference to nonexisting document 'api/generated/pandas.UInt8Dtype.type'
b'<partial node>':: WARNING: toctree contains reference to nonexisting document 'api/generated/pandas.UInt8Dtype.type'
b'<partial node>':: WARNING: toctree contains reference to nonexisting document 'api/generated/pandas.UInt8Dtype.type'
b'<partial node>':: WARNING: toctree contains reference to nonexisting document 'api/generated/pandas.UInt8Dtype.type'
b'<partial node>':: WARNING: toctree contains reference to nonexisting document 'api/generated/pandas.UInt8Dtype.type'
b'<partial node>':: WARNING: toctree contains reference to nonexisting document 'api/generated/pandas.UInt8Dtype.type'
WARNING: toctree contains reference to nonexisting document 'api/generated/pandas.Series.sparse'                                                                                                                                              
WARNING: toctree contains reference to nonexisting document 'api/generated/pandas.DatetimeTZDtype.type'
WARNING: toctree contains reference to nonexisting document 'api/generated/pandas.PeriodDtype.type'
WARNING: toctree contains reference to nonexisting document 'api/generated/pandas.Int8Dtype.type'
WARNING: toctree contains reference to nonexisting document 'api/generated/pandas.Int16Dtype.type'
WARNING: toctree contains reference to nonexisting document 'api/generated/pandas.Int32Dtype.type'
WARNING: toctree contains reference to nonexisting document 'api/generated/pandas.Int64Dtype.type'
WARNING: toctree contains reference to nonexisting document 'api/generated/pandas.UInt8Dtype.type'
WARNING: toctree contains reference to nonexisting document 'api/generated/pandas.UInt16Dtype.type'
WARNING: toctree contains reference to nonexisting document 'api/generated/pandas.UInt32Dtype.type'
WARNING: toctree contains reference to nonexisting document 'api/generated/pandas.UInt64Dtype.type'
WARNING: toctree contains reference to nonexisting document 'api/generated/pandas.IntervalIndex.to_tuples'
/home/mgarcia/src/pandas/doc/source/reshaping.rst:719: WARNING: undefined label: api.categorical (if the link has no caption the label must precede a section header)
/home/mgarcia/src/pandas/doc/source/whatsnew/v0.20.0.rst:416: WARNING: undefined label: indexing.intervallindex (if the link has no caption the label must precede a section header)
writing output... [100%] whatsnew/v0.5.0 .. whatsnew/v0.9.1                                                                                                                                                                                   
waiting for workers...
b'<partial node>':: WARNING: toctree contains reference to nonexisting document 'api/generated/pandas.UInt16Dtype.type'
b'<partial node>':: WARNING: toctree contains reference to nonexisting document 'api/generated/pandas.UInt16Dtype.type'
b'<partial node>':: WARNING: toctree contains reference to nonexisting document 'api/generated/pandas.UInt16Dtype.type'
b'<partial node>':: WARNING: toctree contains reference to nonexisting document 'api/generated/pandas.UInt16Dtype.type'
b'<partial node>':: WARNING: toctree contains reference to nonexisting document 'api/generated/pandas.UInt16Dtype.type'
b'<partial node>':: WARNING: toctree contains reference to nonexisting document 'api/generated/pandas.UInt16Dtype.type'
b'<partial node>':: WARNING: toctree contains reference to nonexisting document 'api/generated/pandas.UInt16Dtype.type'
b'<partial node>':: WARNING: toctree contains reference to nonexisting document 'api/generated/pandas.UInt32Dtype.type'
b'<partial node>':: WARNING: toctree contains reference to nonexisting document 'api/generated/pandas.UInt32Dtype.type'
b'<partial node>':: WARNING: toctree contains reference to nonexisting document 'api/generated/pandas.UInt32Dtype.type'
b'<partial node>':: WARNING: toctree contains reference to nonexisting document 'api/generated/pandas.UInt32Dtype.type'
b'<partial node>':: WARNING: toctree contains reference to nonexisting document 'api/generated/pandas.UInt32Dtype.type'
b'<partial node>':: WARNING: toctree contains reference to nonexisting document 'api/generated/pandas.UInt32Dtype.type'
b'<partial node>':: WARNING: toctree contains reference to nonexisting document 'api/generated/pandas.UInt32Dtype.type'
b'<partial node>':: WARNING: toctree contains reference to nonexisting document 'api/generated/pandas.UInt64Dtype.type'
b'<partial node>':: WARNING: toctree contains reference to nonexisting document 'api/generated/pandas.UInt64Dtype.type'
b'<partial node>':: WARNING: toctree contains reference to nonexisting document 'api/generated/pandas.UInt64Dtype.type'
b'<partial node>':: WARNING: toctree contains reference to nonexisting document 'api/generated/pandas.UInt64Dtype.type'
b'<partial node>':: WARNING: toctree contains reference to nonexisting document 'api/generated/pandas.UInt64Dtype.type'
b'<partial node>':: WARNING: toctree contains reference to nonexisting document 'api/generated/pandas.Series.sparse'
b'<partial node>':: WARNING: toctree contains reference to nonexisting document 'api/generated/pandas.Series.sparse'
b'<partial node>':: WARNING: toctree contains reference to nonexisting document 'api/generated/pandas.Series.sparse'
b'<partial node>':: WARNING: toctree contains reference to nonexisting document 'api/generated/pandas.Series.sparse'
b'<partial node>':: WARNING: toctree contains reference to nonexisting document 'api/generated/pandas.Series.sparse'
b'<partial node>':: WARNING: toctree contains reference to nonexisting document 'api/generated/pandas.Series.sparse'
b'<partial node>':: WARNING: toctree contains reference to nonexisting document 'api/generated/pandas.Series.sparse'
b'<partial node>':: WARNING: toctree contains reference to nonexisting document 'api/generated/pandas.Series.sparse'
b'<partial node>':: WARNING: toctree contains reference to nonexisting document 'api/generated/pandas.Series.sparse'
b'<partial node>':: WARNING: toctree contains reference to nonexisting document 'api/generated/pandas.Series.sparse'
b'<partial node>':: WARNING: toctree contains reference to nonexisting document 'api/generated/pandas.Series.sparse'
b'<partial node>':: WARNING: toctree contains reference to nonexisting document 'api/generated/pandas.Series.sparse'
b'<partial node>':: WARNING: toctree contains reference to nonexisting document 'api/generated/pandas.Series.sparse'
b'<partial node>':: WARNING: toctree contains reference to nonexisting document 'api/generated/pandas.Series.sparse'
b'<partial node>':: WARNING: toctree contains reference to nonexisting document 'api/generated/pandas.Series.sparse'
b'<partial node>':: WARNING: toctree contains reference to nonexisting document 'api/generated/pandas.Series.sparse'
b'<partial node>':: WARNING: toctree contains reference to nonexisting document 'api/generated/pandas.Series.sparse'
b'<partial node>':: WARNING: toctree contains reference to nonexisting document 'api/generated/pandas.Series.sparse'
b'<partial node>':: WARNING: toctree contains reference to nonexisting document 'api/generated/pandas.Series.sparse'
b'<partial node>':: WARNING: toctree contains reference to nonexisting document 'api/generated/pandas.Series.sparse'
b'<partial node>':: WARNING: toctree contains reference to nonexisting document 'api/generated/pandas.Series.sparse'
b'<partial node>':: WARNING: toctree contains reference to nonexisting document 'api/generated/pandas.PeriodDtype.type'
b'<partial node>':: WARNING: toctree contains reference to nonexisting document 'api/generated/pandas.PeriodDtype.type'
b'<partial node>':: WARNING: toctree contains reference to nonexisting document 'api/generated/pandas.PeriodDtype.type'
b'<partial node>':: WARNING: toctree contains reference to nonexisting document 'api/generated/pandas.PeriodDtype.type'
b'<partial node>':: WARNING: toctree contains reference to nonexisting document 'api/generated/pandas.PeriodDtype.type'
b'<partial node>':: WARNING: toctree contains reference to nonexisting document 'api/generated/pandas.PeriodDtype.type'
b'<partial node>':: WARNING: toctree contains reference to nonexisting document 'api/generated/pandas.PeriodDtype.type'
b'<partial node>':: WARNING: toctree contains reference to nonexisting document 'api/generated/pandas.PeriodDtype.type'
b'<partial node>':: WARNING: toctree contains reference to nonexisting document 'api/generated/pandas.Series.sparse'
b'<partial node>':: WARNING: toctree contains reference to nonexisting document 'api/generated/pandas.Series.sparse'
b'<partial node>':: WARNING: toctree contains reference to nonexisting document 'api/generated/pandas.Series.sparse'
b'<partial node>':: WARNING: toctree contains reference to nonexisting document 'api/generated/pandas.Series.sparse'
b'<partial node>':: WARNING: toctree contains reference to nonexisting document 'api/generated/pandas.Series.sparse'
b'<partial node>':: WARNING: toctree contains reference to nonexisting document 'api/generated/pandas.Series.sparse'
b'<partial node>':: WARNING: toctree contains reference to nonexisting document 'api/generated/pandas.Series.sparse'
b'<partial node>':: WARNING: toctree contains reference to nonexisting document 'api/generated/pandas.Series.sparse'
b'<partial node>':: WARNING: toctree contains reference to nonexisting document 'api/generated/pandas.IntervalIndex.to_tuples'
b'<partial node>':: WARNING: toctree contains reference to nonexisting document 'api/generated/pandas.Int64Dtype.type'
b'<partial node>':: WARNING: toctree contains reference to nonexisting document 'api/generated/pandas.Int64Dtype.type'
b'<partial node>':: WARNING: toctree contains reference to nonexisting document 'api/generated/pandas.Int64Dtype.type'
b'<partial node>':: WARNING: toctree contains reference to nonexisting document 'api/generated/pandas.Int8Dtype.type'
b'<partial node>':: WARNING: toctree contains reference to nonexisting document 'api/generated/pandas.Int8Dtype.type'
b'<partial node>':: WARNING: toctree contains reference to nonexisting document 'api/generated/pandas.Int8Dtype.type'
b'<partial node>':: WARNING: toctree contains reference to nonexisting document 'api/generated/pandas.Int8Dtype.type'
b'<partial node>':: WARNING: toctree contains reference to nonexisting document 'api/generated/pandas.Int8Dtype.type'
b'<partial node>':: WARNING: toctree contains reference to nonexisting document 'api/generated/pandas.Int8Dtype.type'
b'<partial node>':: WARNING: toctree contains reference to nonexisting document 'api/generated/pandas.Int8Dtype.type'
b'<partial node>':: WARNING: toctree contains reference to nonexisting document 'api/generated/pandas.Int16Dtype.type'
b'<partial node>':: WARNING: toctree contains reference to nonexisting document 'api/generated/pandas.Int16Dtype.type'
b'<partial node>':: WARNING: toctree contains reference to nonexisting document 'api/generated/pandas.Int16Dtype.type'
b'<partial node>':: WARNING: toctree contains reference to nonexisting document 'api/generated/pandas.Int16Dtype.type'
b'<partial node>':: WARNING: toctree contains reference to nonexisting document 'api/generated/pandas.Int16Dtype.type'
b'<partial node>':: WARNING: toctree contains reference to nonexisting document 'api/generated/pandas.Int16Dtype.type'
b'<partial node>':: WARNING: toctree contains reference to nonexisting document 'api/generated/pandas.Int16Dtype.type'
b'<partial node>':: WARNING: toctree contains reference to nonexisting document 'api/generated/pandas.Int32Dtype.type'
b'<partial node>':: WARNING: toctree contains reference to nonexisting document 'api/generated/pandas.Int32Dtype.type'
b'<partial node>':: WARNING: toctree contains reference to nonexisting document 'api/generated/pandas.Int32Dtype.type'
b'<partial node>':: WARNING: toctree contains reference to nonexisting document 'api/generated/pandas.Int32Dtype.type'
b'<partial node>':: WARNING: toctree contains reference to nonexisting document 'api/generated/pandas.Int32Dtype.type'
b'<partial node>':: WARNING: toctree contains reference to nonexisting document 'api/generated/pandas.Int32Dtype.type'
b'<partial node>':: WARNING: toctree contains reference to nonexisting document 'api/generated/pandas.Int32Dtype.type'
b'<partial node>':: WARNING: toctree contains reference to nonexisting document 'api/generated/pandas.Int64Dtype.type'
b'<partial node>':: WARNING: toctree contains reference to nonexisting document 'api/generated/pandas.Int64Dtype.type'
b'<partial node>':: WARNING: toctree contains reference to nonexisting document 'api/generated/pandas.Int64Dtype.type'
b'<partial node>':: WARNING: toctree contains reference to nonexisting document 'api/generated/pandas.Int64Dtype.type'
```
</details>


Discussion:
Yes, that summary of to do's seems fully correct to me.

Some warnings might sometimes be difficult to solve, though. A more custom regex checking as @TomAugspurger started in https://github.com/pandas-dev/pandas/pull/22743 might in that sense be more flexible if we want to be able to ignore certain warnings at some point.
https://github.com/ipython/ipython/issues/11547 for the IPython issue.
Thanks to the warning hunt of the last days, we are close to a warning-free doc build.

How will we enforce that? I think @datapythonista's plan is to activate our `--warnings-are-errors` option (sphinx's `-X --keep-going`).

However, that has the following "problems", I think:

- no way to customize if we want to allow a few exceptions (eg the warning from our contributor directive that needs the full git directive), or in the future something we cannot solve directly but don't want to hold up a PR over it.

- does not take into account the IPython directive errors, currently (that is something that needs to be fixed upstream if we want this to integrate with `--warnings-are-errors`)

@TomAugspurger started a script in #22743 to have a more custom approach (but also with a higher maintenance cost, obviously).
> eg the warning from our contributor directive that needs the full git directive

Of course, since that is an extension of our own, we can let that not emit any warning .. ;) (we only need to make sure on release time to then not forget to check it worked)
Was just going to comment that option one seems better, especially if the contributor directive we have ourselves is the only known caveat
We regularly break examples in the code blocks, so it would be nice to have a check for that as well (of course, that does not prevent that we already start with the `--warnings-are-errors`).

I think a script to only check the build log output on IPython errors is rather simple (they are nicely delineated with ">>>---------------- ..."), I am only not sure how easy it is to capture the log build in azure and to use that in a next step.

One advantage of a custom script is that it could make it easier to see the errors (as they could be summarized in a separate azure step, instead of spread accross a few thousand lines of build log)
What's the exact contributor directive problem? I thought it was just that we use `0.24.x` because we don't know which will be the last `0.24` release, and we'll just have to keep there the last one.

If that's the case, and we don't want to keep changing the minor release, I think it's as easy as check the version range `v0.24.x..HEAD`, and if it finishes with `x..HEAD` we just don't render anything and don't show the exception.

I think a hack for the ipython problem is as easy as saving the sphinx log in a file and having a grep that fails if it finds the pattern you mention. Surely not perfect, but since it's anyway a temporary hack, I wouldn't implement anything more complex.

Resolving patch:
diff --git a/doc/sphinxext/contributors.py b/doc/sphinxext/contributors.py
--- a/doc/sphinxext/contributors.py
+++ b/doc/sphinxext/contributors.py
@@ -21,12 +21,15 @@ class ContributorsDirective(Directive):
 
     def run(self):
         range_ = self.arguments[0]
+        if range_.endswith('x..HEAD'):
+            return [nodes.paragraph(), nodes.bullet_list()]
         try:
             components = build_components(range_)
-        except git.GitCommandError:
+        except git.GitCommandError as exc:
             return [
                 self.state.document.reporter.warning(
-                    "Cannot find contributors for range '{}'".format(range_),
+                    "Cannot find contributors for range '{}': {}".format(
+                        range_, exc),
                     line=self.lineno)
             ]
         else:
diff --git a/pandas/core/dtypes/base.py b/pandas/core/dtypes/base.py
--- a/pandas/core/dtypes/base.py
+++ b/pandas/core/dtypes/base.py
@@ -68,11 +68,6 @@ class property**.
     ``pandas.errors.AbstractMethodError`` and no ``register`` method is
     provided for registering virtual subclasses.
     """
-    # na_value is the default NA value to use for this type. This is used in
-    # e.g. ExtensionArray.take. This should be the user-facing "boxed" version
-    # of the NA value, not the physical NA value for storage.
-    # e.g. for JSONArray, this is an empty dictionary.
-    na_value = np.nan
     _metadata = ()  # type: Tuple[str, ...]
 
     def __str__(self):
@@ -114,6 +109,17 @@ def __hash__(self):
     def __ne__(self, other):
         return not self.__eq__(other)
 
+    @property
+    def na_value(self):
+        """
+        Default NA value to use for this type.
+
+        This is used in e.g. ExtensionArray.take. This should be the
+        user-facing "boxed" version of the NA value, not the physical NA value
+        for storage.  e.g. for JSONArray, this is an empty dictionary.
+        """
+        return np.nan
+
     @property
     def type(self) -> Type:
         """
diff --git a/pandas/core/indexes/base.py b/pandas/core/indexes/base.py
--- a/pandas/core/indexes/base.py
+++ b/pandas/core/indexes/base.py
@@ -229,7 +229,6 @@ def _outer_indexer(self, left, right):
     _data = None
     _id = None
     name = None
-    asi8 = None
     _comparables = ['name']
     _attributes = ['name']
     _is_numeric_dtype = False
@@ -501,6 +500,18 @@ def __new__(cls, data=None, dtype=None, copy=False, name=None,
     See each method's docstring.
     """
 
+    @property
+    def asi8(self):
+        """
+        Integer representation of the values.
+
+        Returns
+        -------
+        ndarray
+            An ndarray with int64 dtype.
+        """
+        return None
+
     @classmethod
     def _simple_new(cls, values, name=None, dtype=None, **kwargs):
         """


Test patch: