1717import sphinx
1818import six
1919from glob import glob
20- from sphinx_gallery .sorting import ExplicitOrder
2120
2221# If your extensions are in another directory, add it here. If the directory
2322# is relative to the documentation root, use os.path.abspath to make it
2928
3029# Add any Sphinx extension module names here, as strings. They can be extensions
3130# coming with Sphinx (named 'sphinx.ext.*') or your custom ones.
32- extensions = ['matplotlib.sphinxext.mathmpl' , 'sphinxext.math_symbol_table' ,
33- 'sphinx.ext.autodoc' , 'matplotlib.sphinxext.only_directives' ,
34- 'sphinx.ext.doctest' , 'sphinx.ext.autosummary' ,
35- 'sphinx.ext.inheritance_diagram' , 'sphinx.ext.intersphinx' ,
36- 'sphinx_gallery.gen_gallery' ,
37- 'matplotlib.sphinxext.plot_directive' ,
38- 'sphinxext.github' , 'sphinxext.custom_roles' ,
39- 'numpydoc' ]
31+ extensions = [
32+ 'sphinx.ext.autodoc' ,
33+ 'sphinx.ext.autosummary' ,
34+ 'sphinx.ext.doctest' ,
35+ 'sphinx.ext.inheritance_diagram' ,
36+ 'sphinx.ext.intersphinx' ,
37+ 'IPython.sphinxext.ipython_console_highlighting' ,
38+ 'IPython.sphinxext.ipython_directive' ,
39+ 'numpydoc' , # Needs to be loaded *after* autodoc.
40+ 'sphinx_gallery.gen_gallery' ,
41+ 'matplotlib.sphinxext.mathmpl' ,
42+ 'matplotlib.sphinxext.only_directives' ,
43+ 'matplotlib.sphinxext.plot_directive' ,
44+ 'sphinxext.custom_roles' ,
45+ 'sphinxext.github' ,
46+ 'sphinxext.math_symbol_table' ,
47+ 'sphinxext.mock_gui_toolkits' ,
48+ 'sphinxext.skip_deprecated' ,
49+ ]
4050
4151exclude_patterns = ['api/api_changes/*' , 'users/whats_new/*' ]
4252
@@ -61,18 +71,10 @@ def _check_deps():
6171 "The following dependencies are missing to build the "
6272 "documentation: {}" .format (", " .join (missing )))
6373
64-
6574_check_deps ()
6675
67- try :
68- from unittest .mock import MagicMock
69- except ImportError :
70- from mock import MagicMock
71-
72-
73- # Use IPython's console highlighting by default
74- extensions .extend (['IPython.sphinxext.ipython_console_highlighting' ,
75- 'IPython.sphinxext.ipython_directive' ])
76+ # Import only after checking for dependencies.
77+ from sphinx_gallery .sorting import ExplicitOrder
7678
7779if six .PY2 :
7880 from distutils .spawn import find_executable
@@ -85,7 +87,6 @@ def _check_deps():
8587 "No binary named dot - you need to install the Graph Visualization "
8688 "software (usually packaged as 'graphviz') to build the documentation" )
8789
88-
8990autosummary_generate = True
9091
9192autodoc_docstring_signature = True
@@ -334,146 +335,6 @@ def _check_deps():
334335 1 ),
335336]
336337
337-
338- class MyCairo (MagicMock ):
339- version_info = (1 , 4 , 0 )
340-
341-
342- class MyPyQt4 (MagicMock ):
343- class QtGui (object ):
344- # PyQt4.QtGui public classes.
345- # Generated with
346- # textwrap.fill([name for name in dir(PyQt4.QtGui)
347- # if isinstance(getattr(PyQt4.QtGui, name), type)])
348- _QtGui_public_classes = """\
349- Display QAbstractButton QAbstractGraphicsShapeItem
350- QAbstractItemDelegate QAbstractItemView QAbstractPrintDialog
351- QAbstractProxyModel QAbstractScrollArea QAbstractSlider
352- QAbstractSpinBox QAbstractTextDocumentLayout QAction QActionEvent
353- QActionGroup QApplication QBitmap QBoxLayout QBrush QButtonGroup
354- QCalendarWidget QCheckBox QClipboard QCloseEvent QColor QColorDialog
355- QColumnView QComboBox QCommandLinkButton QCommonStyle QCompleter
356- QConicalGradient QContextMenuEvent QCursor QDataWidgetMapper QDateEdit
357- QDateTimeEdit QDesktopServices QDesktopWidget QDial QDialog
358- QDialogButtonBox QDirModel QDockWidget QDoubleSpinBox QDoubleValidator
359- QDrag QDragEnterEvent QDragLeaveEvent QDragMoveEvent QDropEvent
360- QErrorMessage QFileDialog QFileIconProvider QFileOpenEvent
361- QFileSystemModel QFocusEvent QFocusFrame QFont QFontComboBox
362- QFontDatabase QFontDialog QFontInfo QFontMetrics QFontMetricsF
363- QFormLayout QFrame QGesture QGestureEvent QGestureRecognizer QGlyphRun
364- QGradient QGraphicsAnchor QGraphicsAnchorLayout QGraphicsBlurEffect
365- QGraphicsColorizeEffect QGraphicsDropShadowEffect QGraphicsEffect
366- QGraphicsEllipseItem QGraphicsGridLayout QGraphicsItem
367- QGraphicsItemAnimation QGraphicsItemGroup QGraphicsLayout
368- QGraphicsLayoutItem QGraphicsLineItem QGraphicsLinearLayout
369- QGraphicsObject QGraphicsOpacityEffect QGraphicsPathItem
370- QGraphicsPixmapItem QGraphicsPolygonItem QGraphicsProxyWidget
371- QGraphicsRectItem QGraphicsRotation QGraphicsScale QGraphicsScene
372- QGraphicsSceneContextMenuEvent QGraphicsSceneDragDropEvent
373- QGraphicsSceneEvent QGraphicsSceneHelpEvent QGraphicsSceneHoverEvent
374- QGraphicsSceneMouseEvent QGraphicsSceneMoveEvent
375- QGraphicsSceneResizeEvent QGraphicsSceneWheelEvent
376- QGraphicsSimpleTextItem QGraphicsTextItem QGraphicsTransform
377- QGraphicsView QGraphicsWidget QGridLayout QGroupBox QHBoxLayout
378- QHeaderView QHelpEvent QHideEvent QHoverEvent QIcon QIconDragEvent
379- QIconEngine QIconEngineV2 QIdentityProxyModel QImage QImageIOHandler
380- QImageReader QImageWriter QInputContext QInputContextFactory
381- QInputDialog QInputEvent QInputMethodEvent QIntValidator QItemDelegate
382- QItemEditorCreatorBase QItemEditorFactory QItemSelection
383- QItemSelectionModel QItemSelectionRange QKeyEvent QKeyEventTransition
384- QKeySequence QLCDNumber QLabel QLayout QLayoutItem QLineEdit
385- QLinearGradient QListView QListWidget QListWidgetItem QMainWindow
386- QMatrix QMatrix2x2 QMatrix2x3 QMatrix2x4 QMatrix3x2 QMatrix3x3
387- QMatrix3x4 QMatrix4x2 QMatrix4x3 QMatrix4x4 QMdiArea QMdiSubWindow
388- QMenu QMenuBar QMessageBox QMimeSource QMouseEvent
389- QMouseEventTransition QMoveEvent QMovie QPageSetupDialog QPaintDevice
390- QPaintEngine QPaintEngineState QPaintEvent QPainter QPainterPath
391- QPainterPathStroker QPalette QPanGesture QPen QPicture QPictureIO
392- QPinchGesture QPixmap QPixmapCache QPlainTextDocumentLayout
393- QPlainTextEdit QPolygon QPolygonF QPrintDialog QPrintEngine
394- QPrintPreviewDialog QPrintPreviewWidget QPrinter QPrinterInfo
395- QProgressBar QProgressDialog QProxyModel QPushButton QPyTextObject
396- QQuaternion QRadialGradient QRadioButton QRawFont QRegExpValidator
397- QRegion QResizeEvent QRubberBand QScrollArea QScrollBar
398- QSessionManager QShortcut QShortcutEvent QShowEvent QSizeGrip
399- QSizePolicy QSlider QSortFilterProxyModel QSound QSpacerItem QSpinBox
400- QSplashScreen QSplitter QSplitterHandle QStackedLayout QStackedWidget
401- QStandardItem QStandardItemModel QStaticText QStatusBar
402- QStatusTipEvent QStringListModel QStyle QStyleFactory QStyleHintReturn
403- QStyleHintReturnMask QStyleHintReturnVariant QStyleOption
404- QStyleOptionButton QStyleOptionComboBox QStyleOptionComplex
405- QStyleOptionDockWidget QStyleOptionDockWidgetV2 QStyleOptionFocusRect
406- QStyleOptionFrame QStyleOptionFrameV2 QStyleOptionFrameV3
407- QStyleOptionGraphicsItem QStyleOptionGroupBox QStyleOptionHeader
408- QStyleOptionMenuItem QStyleOptionProgressBar QStyleOptionProgressBarV2
409- QStyleOptionRubberBand QStyleOptionSizeGrip QStyleOptionSlider
410- QStyleOptionSpinBox QStyleOptionTab QStyleOptionTabBarBase
411- QStyleOptionTabBarBaseV2 QStyleOptionTabV2 QStyleOptionTabV3
412- QStyleOptionTabWidgetFrame QStyleOptionTabWidgetFrameV2
413- QStyleOptionTitleBar QStyleOptionToolBar QStyleOptionToolBox
414- QStyleOptionToolBoxV2 QStyleOptionToolButton QStyleOptionViewItem
415- QStyleOptionViewItemV2 QStyleOptionViewItemV3 QStyleOptionViewItemV4
416- QStylePainter QStyledItemDelegate QSwipeGesture QSyntaxHighlighter
417- QSystemTrayIcon QTabBar QTabWidget QTableView QTableWidget
418- QTableWidgetItem QTableWidgetSelectionRange QTabletEvent
419- QTapAndHoldGesture QTapGesture QTextBlock QTextBlockFormat
420- QTextBlockGroup QTextBlockUserData QTextBrowser QTextCharFormat
421- QTextCursor QTextDocument QTextDocumentFragment QTextDocumentWriter
422- QTextEdit QTextFormat QTextFragment QTextFrame QTextFrameFormat
423- QTextImageFormat QTextInlineObject QTextItem QTextLayout QTextLength
424- QTextLine QTextList QTextListFormat QTextObject QTextObjectInterface
425- QTextOption QTextTable QTextTableCell QTextTableCellFormat
426- QTextTableFormat QTimeEdit QToolBar QToolBox QToolButton QToolTip
427- QTouchEvent QTransform QTreeView QTreeWidget QTreeWidgetItem
428- QTreeWidgetItemIterator QUndoCommand QUndoGroup QUndoStack QUndoView
429- QVBoxLayout QValidator QVector2D QVector3D QVector4D QWhatsThis
430- QWhatsThisClickedEvent QWheelEvent QWidget QWidgetAction QWidgetItem
431- QWindowStateChangeEvent QWizard QWizardPage QWorkspace
432- QX11EmbedContainer QX11EmbedWidget QX11Info
433- """
434- for _name in _QtGui_public_classes .split ():
435- locals ()[_name ] = type (_name , (), {})
436- del _name
437-
438-
439- class MySip (MagicMock ):
440- def getapi (* args ):
441- return 1
442-
443-
444- class MyWX (MagicMock ):
445- class Panel (object ):
446- pass
447-
448- class ToolBar (object ):
449- pass
450-
451- class Frame (object ):
452- pass
453-
454- VERSION_STRING = '2.9'
455-
456-
457- sys .modules ['cairo' ] = MyCairo ()
458- sys .modules ['cairo' ].__name__ = 'cairocffi'
459- sys .modules ['PyQt4' ] = MyPyQt4 ()
460- sys .modules ['sip' ] = MySip ()
461- sys .modules ['wx' ] = MyWX ()
462- sys .modules ['wxversion' ] = MagicMock ()
463-
464338# numpydoc config
465339
466340numpydoc_show_class_members = False
467-
468- # Skip deprecated members
469-
470- def skip_deprecated (app , what , name , obj , skip , options ):
471- if skip :
472- return skip
473- skipped = {"matplotlib.colors" : ["ColorConverter" , "hex2color" , "rgb2hex" ]}
474- skip_list = skipped .get (getattr (obj , "__module__" , None ))
475- if skip_list is not None :
476- return getattr (obj , "__name__" , None ) in skip_list
477-
478- def setup (app ):
479- app .connect ('autodoc-skip-member' , skip_deprecated )
0 commit comments