Preparing for NBConvert 6.0

Hello Jupyter Folks,

We’re right around the corner from having a full major nbconvert version release with 6.0.0! What we’d like from the community is to A) know that the 6.0.0b7 beta-release on PyPI is eminently going to become 6.0.0 and B) that there are still a handful of long standing minor bug fixes that could use more developer attention. If you have time and benefit from nbconvert please consider spending a little time helping with getting some of those resolved. The list of pending change can be found in the 6.0 milestone. The active maintainers should be able to give guidance on these issues, but we’re not able to commit enough time to get them all knocked out before the 6.0 release schedule.

As for the release, there’s a LOT of fixes and improvements that have been put in over the past year+. We’ve completed all the major intended changes for nbconvert including (but not limited to):

  • Move execute preprocessor code into separate thin project nbclient
  • Conversion to Python 3 only (3.6+, with 3.6 on limited support and to be removed in 6.1 release)
  • Directory based template loading, following viola and other jupyter project patterns (with backwards compatibility to older template patterns)
  • Most (not all) known conversion issues resolved around exports to various formats so that it’s more reliably executable

As we get to the actual release in a week or two we’ll list out the full breadth of changes and improvements.


Most code from 5.6.1 should work in 6.0.0 as is, with a potential deprecation warning being raised if you used custom templates.

Patterns around preparing LaTeX and PDF conversions were reworked some to be more forwards compatible and do less hacky changes. If you’re having LaTeX dependency issues with your installation that part hasn’t changed in how it operates and is usually an external installation issue. But inkscape 1.0 is supported now, and Windows filesystem issues were fixed.

.tpl files now expect to be in template directories with the index.<format>.j2 file extension. This makes the format more flexible to template specific config independent in the future of the handlebars output itself. But if you run into templating issues let us know – we worked hard to make it continue working with old and new patterns.

The new default style for HTML output has switched to the lab template to mirror Jupyter Lab’s look-n-feel. The old look-n-feel is improved from 5.6.1 and captured with the classic template as a non-default output type.