Changelog#

v0.15.0#

Support for Python 3.7 dropped in this release. Requirement is now Python >=3.8. Pillow added as a dependency.

Implemented enhancements:

Fixed bugs:

  • FIX Copy JupyterLite contents early so it runs before jupyterlite_sphinx build-finished #1213 (lesteve)

  • BUG: Fix bug with orphan sg_api_usage #1207 (larsoner)

  • MAINT Fix check for mismatched “ignore” blocks #1193 (speth)

  • Avoid importing new modules in backrefs #1177 (aganders3)

Documentation

Project maintenance

v0.14.0#

Implemented enhancements:

Fixed bugs:

Documentation

Project maintenance

v0.13.0#

Implemented enhancements:

  • ENH: Create backreferences for default roles #1122 (StefRe)

  • ENH raise error in check_jupyterlite_conf with unknown key #1119 (lesteve)

  • ENH Add functionality to modify Jupyterlite notebooks based on their content #1113 (lesteve)

  • ENH: Add support for WebP #1111 (StefRe)

Fixed bugs:

API changes

Documentation

Project maintenance

v0.12.2#

Fixed bugs:

v0.12.1#

Fixed bugs:

v0.12.0#

Support for Sphinx < 4 dropped in this release. Requirement is Sphinx >= 4.

Implemented enhancements:

Fixed bugs:

Documentation

Project maintenance

v0.11.1#

Support for Sphinx < 3 dropped in this release. Requirement is Sphinx >= 3.

Fixed bugs:

Implemented enhancements:

v0.11.0#

In this version, the “Out:” prefix applied to code outputs is now created from CSS pseudo-elements instead of additional real text. For more details, see #896.

Implemented enhancements:

Nesting gallery sections (i.e. gallery subfolders) was implemented in #904. This feature can be disabled (see config option nested_sections in the documentation) if the previous behaviour is prefered (alexisthual)

Tooltips now overlay gallery items commit 36166cd. Custom CSS might need to be adapted (alexisthual).

  • Problem in section and example title level in subgalleries #935

  • Add ability to write nested index.rst #855

  • Optional usage of module instead of module_short when doing backreferencing #950 (ExtremOPS)

  • ENH: Better dark mode support #948 (larsoner)

  • Store API reference examples thumbnails in common div #946 (alexisthual)

  • Add flag to ignore code blocks in Python source parser #941 (guberti)

  • Improve Jupyter notebook converter’s handling of code blocks #940 (guberti)

  • [MRG] Changelog regarding nested sections #926 (alexisthual)

  • Possibility to exclude implicit backreferences #908 (StefRe)

  • [MRG] Handle nested structures #904 (alexisthual)

  • Use pseudo-elements for ‘Out:’ prefixing #896 (QuLogic)

  • FIX: Fix for latest pytest #894 (larsoner)

  • Config capture_repr on file-by-file basis #891 (StefRe)

Fixed bugs:

We now display gallery items using CSS grid instead of float property #906, see migration guide to adapt custom CSS for thumbnails (alexisthual)

Documentation updates

v0.10.1#

Support for Python 3.6 dropped in this release. Requirement is Python >=3.7.

Implemented enhancements:

  • Feature Request: reset_modules to be applied after each or all examples #866

  • Enable reset_modules to run either before or after examples, or both #870 (MatthewFlamm)

Fixed bugs:

  • embed_code_links throwing <exception: list indices must be integers or slices, not str> #879

  • 0.10.0 breaks sphinx_gallery.load_style #878

  • Add imagesg directive in load style #880 (lucyleeow)

  • Use bools for ‘plot_gallery’ in sphinx_gallery_conf #863 (timhoffm)

Merged pull requests:

v0.10.0#

In this version, the default Sphinx-Gallery .css files have been updated so their names are all prepended with ‘sg_’. For more details see #845.

Implemented enhancements:

  • Generalising image_scrapers facility for non-images #833

  • Add a mode that fails only for rst warnings and does not run examples #751

  • Add a “template”, to make it easy to get started #555

  • ENH Add config that generates dummy images to prevent missing image warnings #828 (lucyleeow)

  • ENH: add hidpi option to matplotlib_scraper and directive #808 (jklymak)

Fixed bugs:

Merged pull requests:

v0.9.0#

Support for Python 3.5 dropped in this release. Requirement is Python >=3.6.

Implemented enhancements:

  • Add a mode which “skips” an example if it fails #789

  • Can sphinx_gallery_thumbnail_number support negative indexes? #785

  • Configure thumbnail style #780

  • ENH: Check for invalid sphinx_gallery_conf keys #774

  • DOC Document how to hide download link note #760

  • DOC use intersphinx references in projects_list.rst #755

  • Delay output capturing to a further code block #363

  • ENH: Only add minigallery if there’s something to show #813 (NicolasHug)

  • Optional flag to defer figure scraping to the next code block #801 (ayshih)

  • ENH: PyQt5 #794 (larsoner)

  • Add a configuration to warn on error not fail #792 (Cadair)

  • Let sphinx_gallery_thumbnail_number support negative indexes #786 (seisman)

  • Make any borders introduced when rescaling images to thumbnails transparent #781 (rossbar)

  • MAINT: Move travis CI jobs to Azure #779 (lucyleeow)

  • ENH, DEP: Check for invalid keys, remove ancient key #775 (larsoner)

Fixed bugs:

  • Custom CSS for space above title target conflicts with pydata-sphinx-theme #815

  • Minigalleries are generated even for objects without examples #812

  • Python nightly failing due to Jinja2 import from collections.abc #790

  • test_rebuild and test_error_messages failing on travis #777

  • Animation not show on Read the Docs #772

  • BUG: Empty code block output #765

  • BUG: Fix CSS selector #816 (larsoner)

  • MAINT: Fix test for links #811 (larsoner)

  • Fix SVG default thumbnail support #810 (jacobolofsson)

  • Clarify clean docs for custom gallery_dirs #798 (timhoffm)

  • MAINT Specify Jinja2 version in azure Python nightly #793 (lucyleeow)

  • BUG Remove if final block empty #791 (lucyleeow)

  • Replace Travis CI badge with Azure Badge in README #783 (sdhiscocks)

  • Point to up-to-date re documentation #778 (dstansby)

Merged pull requests:

v0.8.2#

Enables HTML animations to be rendered on readthedocs.

Implemented enhancements:

  • DOC Expand on sphinx_gallery_thumbnail_path #764 (lucyleeow)

  • ENH: Add run_stale_examples config var #759 (larsoner)

  • Option to disable note in example header #757

  • Add show_signature option #756 (jschueller)

  • ENH: Style HTML output like jupyter #752 (larsoner)

  • ENH: Add reST comments, read-only #750 (larsoner)

  • Relate warnings and errors on generated rst file back to source Python file / prevent accidental writing of generated files #725

Fixed bugs:

  • Example gallery is down #753

  • DOC Amend run_stale_examples command in configuration.rst #763 (lucyleeow)

  • DOC update link in projects_list #754 (lucyleeow)

  • Enable animations HTML to be rendered on readthedocs #748 (sdhiscocks)

Merged pull requests:

v0.8.1#

Fix Binder logo image file for Windows paths.

Fixed bugs:

  • sphinx_gallery/tests/test_full.py::test_binder_logo_exists fails (path is clearly wrong) #746

  • BUG Windows relative path error with _static Binder logo #744

  • BUG Copy Binder logo to avoid Window drive rel path error #745 (lucyleeow)

Merged pull requests:

v0.8.0#

The default for configuration thumbnail_size will change from (400, 280) (2.5x maximum size specified by CSS) to (320, 224) (2x maximum size specified by CSS) in version 0.9.0.

Implemented enhancements:

  • Pass command line arguments to examples #731

  • Limited rst to md support in notebooks #219

  • Enable ffmpeg for animations for newer matplotlib #733 (dopplershift)

  • Implement option to pass command line args to example scripts #732 (mschmidt87)

  • ENH: Dont allow input #729 (larsoner)

  • Add support for image links and data URIs for notebooks #724 (sdhiscocks)

  • Support headings in reST to MD #723 (sdhiscocks)

  • ENH Support pypandoc to convert rst to md for ipynb #705 (lucyleeow)

  • ENH: Use broader def of Animation #693 (larsoner)

Fixed bugs:

  • _repr_html_ not shown on RTD #736

  • Binder icon is hardcoded, which causes a loading failure with on some browsers #735

  • How to scrape for images without executing example scripts #728

  • sphinx-gallery/0.7.0: TypeError: ‘str’ object is not callable when building its documentation #727

  • Thumbnail oversampling #717

  • Working with pre-built galleries #704

  • Calling “plt.show()” raises an ugly warning #694

  • Searching in docs v0.6.2 stable does not work #689

  • Fix logger message pypandoc #741 (lucyleeow)

  • Use local binder logo svg #738 (lucyleeow)

  • BUG: Fix handling of scraper error #737 (larsoner)

  • Improve documentation of example for custom image scraper #730 (mschmidt87)

  • Make md5 hash independent of platform line endings #722 (sdhiscocks)

  • MAINT: Deal with mayavi #720 (larsoner)

  • DOC Clarify thumbnail_size and note change in default #719 (lucyleeow)

  • BUG: Always do linking #714 (larsoner)

  • DOC: Correctly document option #711 (larsoner)

  • BUG Check ‘capture_repr’ and ‘ignore_repr_types’ #709 (lucyleeow)

  • DOC Update Sphinx url #708 (lucyleeow)

  • BUG: Use relative paths for zip downloads #706 (pmeier)

  • FIX: Build on nightly using master #703 (larsoner)

  • MAINT: Fix CircleCI #701 (larsoner)

  • Enable html to be rendered on readthedocs #700 (sdhiscocks)

  • Remove matplotlib agg warning #696 (lucyleeow)

Merged pull requests:

v0.7.0#

Developer changes#

  • Use Sphinx errors rather than built-in errors.

Implemented enhancements:

  • ENH: Use Sphinx errors #690 (larsoner)

  • ENH: Add support for FuncAnimation #687 (larsoner)

  • Sphinx directive to insert mini-galleries #685 (ayshih)

  • Provide a Sphinx directive to insert a mini-gallery #683

  • ENH Add cross ref label to template module.rst #680 (lucyleeow)

  • ENH: Add show_memory extension API #677 (larsoner)

  • Support for GPU memory logging #671

  • ENH Add alt attribute for thumbnails #668 (lucyleeow)

  • ENH More informative ‘alt’ attribute for thumbnails in index #664

  • ENH More informative ‘alt’ attribute for images #663 (lucyleeow)

  • ENH: Use optipng when requested #656 (larsoner)

  • thumbnails cause heavy gallery pages and long loading time #655

  • MAINT: Better error messages #600

  • More informative “alt” attribute for image tags #538

  • ENH: easy linking to “examples using my_function” #496

  • sub-galleries should be generated with a separate “gallery rst” file #413

  • matplotlib animations support #150

Fixed bugs:

  • Add backref label for classes in module.rst #688 (lucyleeow)

  • Fixed backreference inspection to account for tilde use #684 (ayshih)

  • Fix regex for numpy RandomState in test_full #682 (lucyleeow)

  • fix tests regex to search for numpy data in html #681

  • FIX: Fix sys.stdout patching #678 (larsoner)

  • check-manifest causing master to fail #675

  • Output of logger is not captured if the logger is created in a different cell #672

  • FIX: Remove newlines from title #669 (larsoner)

  • BUG Tinybuild autosummary links fail with Sphinx dev #659

Documentation:

Merged pull requests:

v0.6.2#

  • Patch release due to missing CSS files in v0.6.1. Manifest check added to CI.

Implemented enhancements:

  • How do I best cite sphinx-gallery? #639

  • MRG, ENH: Add Zenodo badge #641 (larsoner)

Fixed bugs:

  • BUG Wrong pandas intersphinx URL #646

  • css not included in wheels? #644

  • BUG: Fix CSS includes and add manifest check in CI #648 (larsoner)

  • Update pandas intersphinx url #647 (lucyleeow)

Merged pull requests:

v0.6.1#

Developer changes#

  • Added Zenodo integration. This release is for Zenodo to pick it up.

Implemented enhancements:

  • Allow pathlib.Path to backreferences_dir option #635

  • ENH Allow backrefences_dir to be pathlib object #638 (lucyleeow)

Fixed bugs:

  • TypeError when creating links from gallery to documentation #634

  • BUG Checks if filenames have space #636 (lucyleeow)

  • Fix missing space in error message. #632 (anntzer)

  • BUG: Spaces in example filenames break image linking #440

Merged pull requests:

v0.6.0#

Developer changes#

  • Reduced number of hard dependencies and added dev-requirements.txt.

  • AppVeyor bumped from Python 3.6 to 3.7.

  • Split CSS and create sub-extension that loads CSS.

Implemented enhancements:

Fixed bugs:

Merged pull requests:

v0.5.0#

Developer changes#

  • Separated ‘dev’ documentation, which tracks master and ‘stable’ documentation, which follows releases.

  • Added official jpeg support.

Incompatible changes#

  • Dropped support for Sphinx < 1.8.3.

  • Dropped support for Python < 3.5.

  • Added capture_repr configuration with the default setting ('_repr_html_', __repr__'). This may result the capturing of unwanted output in existing projects. Set capture_repr: () to return to behaviour prior to this release.

Implemented enhancements:

  • Explain the inputs of the image scrapers #472

  • Capture HTML output as in Jupyter #396

  • Feature request: Add an option for different cell separations #370

  • Mark sphinx extension as parallel-safe for writing #561 (astrofrog)

  • ENH: Support linking to builtin modules #558 (larsoner)

  • ENH: Add official JPG support and better tests #557 (larsoner)

  • [MRG] ENH: Capture ’repr’s of last expression #541 (lucyleeow)

  • look for both ‘README’ and ‘readme’ #535 (revesansparole)

  • ENH: Speed up builds #526 (larsoner)

  • ENH: Add live object refs and methods #525 (larsoner)

  • ENH: Show memory usage, too #523 (larsoner)

  • [MRG] EHN support #%% cell separators #518 (lucyleeow)

  • MAINT: Remove support for old Python and Sphinx #513 (larsoner)

Fixed bugs:

Merged pull requests:

v0.4.0#

Developer changes#

  • Added a private API contract for external scrapers to have string-based support, see:

  • Standard error is now caught and displayed alongside standard output.

  • Some sphinx markup is now removed from image thumbnail tooltips.

Incompatible changes#

  • v0.4.0 will be the last release to support Python <= 3.4.

  • Moving forward, we will support only the latest two stable Sphinx releases at the time of each sphinx-gallery release.

Implemented enhancements:

Fixed bugs:

v0.3.1#

Bugfix release: add missing file that prevented “pip installing” the package.

Fixed bugs:

  • Version 0.3.0 release is broken on pypi #459

v0.3.0#

Incompatible changes#

  • the output figure numbering is always 1, 2, …, number_of_figures whereas in 0.2.0 it would follow the matplotlib figure numbers. If you include explicitly some figures generated by sphinx-gallery with the .. figure directive in your .rst documentation you may need to adjust their paths if your example uses non-default matplotlib figure numbers (e.g. if you use plt.figure(0)). See #464 <https://github.com/sphinx-gallery/sphinx-gallery/issues/464> for more details.

Developer changes#

  • Dropped support for Sphinx <= 1.4.

  • Refactor for independent rst file construction. Function sphinx_gallery.gen_rst.generate_file_rst does not anymore compose the rst file while it is executing each block of the source code. Currently executing the example script execute_script is an independent function and returns structured in a list the rst representation of the output of each source block. generate_file_rst calls for execution of the script when needed, then from the rst output it composes an rst document which includes the prose, code & output of the example which is the directly saved to file including the annotations of binder badges, download buttons and timing statistics.

  • Binder link config changes. The configuration value for the BinderHub has been changed from url to binderhub_url in order to make it more explicit. The old configuration key (url) will be deprecated in version v0.4.0)

  • Support for generating JUnit XML summary files via the 'junit' configuration value, which can be useful for building on CI services such as CircleCI. See the related CircleCI doc and blog post.

Fixed bugs:

  • First gallery plot uses .matplotlibrc rather than the matplotlib defaults #316

Merged pull requests:

v0.2.0#

New features#

  • Added experimental support to auto-generate Binder links for examples via binder config. Note that this API may change in the future. #244 and #371.

  • Added ignore_pattern configurable to allow not adding some python files into the gallery. See #346 for more details.

  • Support for custom default thumbnails in ‘RGBA’ space #375

  • Allow title only -> use title as first paragraph #345

Bug Fixes#

  • Fix name string_replace trips on projects with “.py” in path. See #322 and #331 for more details.

  • Fix __future__ imports across cells. See #308 for more details.

  • Fix encoding related issues when locale is not UTF-8. See #311 for more details.

  • In verbose mode, example output is printed to the console during execution of the example, rather than only at the end. See #301 for a use case where it matters.

  • Fix SphinxDocLinkResolver error with sphinx 1.7. See #352 for more details.

  • Fix unexpected interaction between file_pattern and expected_failing_examples. See #379 and #335

  • FIX: Use unstyled pygments for output #384

  • Fix: Gallery name for paths ending with ‘/’ #372

  • Fix title detection logic. #356

  • FIX: Use docutils_namespace to avoid warning in sphinx 1.8dev #387

Incompatible Changes#

  • Removed optipng feature that was triggered when the SKLEARN_DOC_OPTIPNG variable was set. See #349 for more details.

  • Backreferences_dir is now mandatory #307

Developer changes#

  • Dropped support for Sphinx <= 1.4.

  • Add SphinxAppWrapper class in test_gen_gallery.py #386

  • Notes on how to do a release #360

  • Add codecov support #328

v0.1.13#

New features#

  • Added min_reported_time configurable. For examples that run faster than that threshold (in seconds), the execution time is not reported.

  • Add thumbnail_size option #283

  • Use intersphinx for all function reference resolution #296

  • Sphinx only directive for downloads #298

  • Allow sorting subsection files #281

  • We recommend using a string for plot_gallery rather than Python booleans, e.g. 'True' instead of True, as it avoids a warning about unicode when controlling this value via the command line switches of sphinx-build

Bug Fixes#

  • Crasher in doc_resolv, in js_index.loads #287

  • Fix gzip/BytesIO error #293

  • Deactivate virtualenv provided by Travis #294

Developer changes#

  • Push the docs from Circle CI into github #268

  • Report version to sphinx. #292

  • Minor changes to log format. #285 and #291

v0.1.12#

New features#

  • Implement a explicit order sortkey to specify the subsection’s order within a gallery. Refer to discussion in #37, #233 and #234

  • Cleanup console output during build #250

  • New configuration Test #225

Bug Fixes#

  • Reset sys.argv before running each example. See #252 for more details.

  • Correctly re-raise errors in doc resolver. See #264.

  • Allow and use https links where possible #258.

  • Escape tooltips for any HTML special characters. #249

Documentation#

  • Update link to numpy to point to latest #271

  • Added documentation dependencies. #267

v0.1.11#

Documentation#

  • Frequently Asked Questions added to Documentation. Why __file__ is not defined?

Bug Fixed#

  • Changed attribute name of Sphinx app object in #242

v0.1.10#

Bug Fixed#

  • Fix image path handling bug introduced in #218

v0.1.9#

Incompatible Changes#

  • Sphinx Gallery’s example back-references are deactivated by default. Now it is users responsibility to turn them on and set the directory where to store the files. See discussion in #126 and pull request #151.

Bug Fixed#

  • Fix download zip files path in windows builds. See #218

  • Fix embedded missing link. See #214

Developer changes#

  • Move testing to py.test

  • Include link to github repository in documentation

v0.1.8#

New features#

  • Drop styling in codelinks tooltip. Replaced for title attribute which is managed by the browser.

  • Gallery output is shorter when embedding links

  • Circle CI testing

Bug Fixes#

  • Sphinx-Gallery build even if examples have Syntax errors. See #177

  • Sphinx-Gallery can now build by directly calling sphinx-build from any path, no explicit need to run the Makefile from the sources directory. See #190 for more details.

v0.1.7#

Bug Fixes#

  • Released Sphinx 1.5 has new naming convention for auto generated files and breaks Sphinx-Gallery documentation scanner. Fixed in #178, work for linking to documentation generated with Sphinx<1.5 and for new docs post 1.5

  • Code links tooltip are now left aligned with code

New features#

  • Development support of Sphinx-Gallery on Windows #179 & #182

v0.1.6#

New features#

  • Executable script to convert Python scripts into Jupyter Notebooks #148

Bug Fixes#

  • Sphinx-Gallery now raises an exception if the matplotlib backend can not be set to 'agg'. This can happen for example if matplotlib.pyplot is imported in conf.py. See #157 for more details.

  • Fix backreferences.identify_names when module is used without attribute #173. Closes #172 and #149

  • Raise FileNotFoundError when README.txt is not present in the main directory of the examples gallery(#164). Also include extra empty lines after reading README.txt to obtain the correct rendering of the html file.(#165)

  • Ship a License file in PyPI release

v0.1.5#

New features#

  • CSS. Now a tooltip is displayed on the source code blocks to make the doc-resolv functionality more discorverable. Function calls in the source code blocks are hyperlinks to their online documentation.

  • Download buttons have a nicer look across all themes offered by Sphinx

Developer changes#

  • Support on the fly theme change for local builds of the Sphinx-Gallery docs. Passing to the make target the variable theme builds the docs with the new theme. All sphinx themes are available plus read the docs online theme under the value rtd as shown in this usage example.

    $ make html theme=rtd
    
  • Test Sphinx Gallery support on Ubuntu 14 packages, drop Ubuntu 12 support. Drop support for Python 2.6 in the conda environment

v0.1.4#

New features#

  • Enhanced CSS for download buttons

  • Download buttons at the end of the gallery to download all python scripts or Jupyter notebooks together in a zip file. New config variable download_all_examples to toggle this effect. Activated by default

  • Downloadable zip file with all examples as Python scripts and notebooks for each gallery

  • Improved conversion of rst directives to markdown for the Jupyter notebook text blocks

Bug Fixes#

  • When seaborn is imported in a example the plot style preferences are transferred to plots executed afterwards. The CI is set up such that users can follow how to get the compatible versions of mayavi-pandas-seaborn and nomkl in a conda environment to have all the features available.

  • Fix math conversion from example rst to Jupyter notebook text for inline math and multi-line equations

v0.1.3#

New features#

  • Summary of failing examples with traceback at the end of the sphinx build. By default the build exits with a 1 exit code if an example has failed. A list of examples that are expected to fail can be defined in conf.py and exit the build with 0 exit code. Alternatively it is possible to exit the build as soon as one example has failed.

  • Print aggregated and sorted list of computation times of all examples in the console during the build.

  • For examples that create multiple figures, set the thumbnail image.

  • The plot_gallery and abort_on_example_error options can now be specified in sphinx_gallery_conf. The build option (-D flag passed to sphinx-build) takes precedence over the sphinx_gallery_conf option.

Bug Fixes#

  • Failing examples are retried on every build

v0.1.2#

Bug Fixes#

  • Examples that use if __name__ == '__main__' guards are now run

  • Added vertical space between code output and code source in non notebook examples

v0.1.1#

Bug Fixes#

  • Restore the html-noplot functionality

  • Gallery CSS now implicitly enforces thumbnails width

v0.1.0#

Highlights#

Example scripts are now available for download as IPython Notebooks #75

New features#

  • Configurable filename pattern to select which example scripts are executed while building the Gallery

  • Examples script update check are now by md5sum check and not date

  • Broken Examples now display a Broken thumbnail in the gallery view, inside the rendered example traceback is printed. User can also set build process to abort as soon as an example fails.

  • Sorting examples by script size

  • Improve examples style

v0.0.11#

Highlights#

This release incorporates the Notebook styled examples for the gallery with PR #36

Incompatible Changes#

Sphinx-Gallery renames its python module name to sphinx_gallery this follows the discussion raised in #47 and resolved with #66

The gallery configuration dictionary also changes its name to sphinx_gallery_conf

From PR #36 it is decided into a new namespace convention for images, thumbnails and references. See comment

v0.0.10#

Highlights#

This release allows to use the Back references. This features incorporates fine grained examples galleries listing examples using a particular function. #26

New features#

  • Shell script to place a local copy of Sphinx-Gallery in your project

  • Support Mayavi plots in the gallery