ChangeLog
0.4.0 (2026-04-04)
Added support for running tutorials in Vagrant.
Initial context variables are now rendered.
Alternatives now allow specific context and environment variables.
The JSON schema is now available here and can be used in IDEs such as PyCharm.
Add ability to specify required executables that are checked before running a tutorial.
Rename
tutorial_roottoroot.Alternatives can now be skipped in documentation.
Changing the working directory moved out of doc/run blocks as it is common functionality.
chdircan now beFalseto switch back to where the tutorial started.
0.3.0 (2025-12-26)
Add support for Sphinx 9.0.
Tutorials can now be configured to pass a clear environment to all processes.
Tutorials can now configure additional environment variables passed to all processes.
Single commands can now update the environment for all subsequent commands. Values are rendered as templates, so you can add (parts of) the output of a command to the environment by combining a test for the command output that uses a named pattern in a regular expression for the output.
parts.{commands}.{command}.run.{chdir}is now a template. This allows you to change the directory based on the output of a previous command.Bugfix: Individual commands marked as skipped for documentation, are now actually skipped.
0.2.0 (2025-12-23)
Documentation
Continue reworking the documentation.
Add option to render extra text before/after a part. The text is rendered as a template.
Parts can now have an ID that you can reference when rendering parts to make sure that you render what you actually think you render (useful for longer tutorials).
Add
structured_tutorials_contextoption to pass extra context variables to a tutorial.Rename the
tutorial_rootoption tostructured_tutorials_root.rename the
structured_tutorial_command_text_widthoption tostructured_tutorials_command_text_width.
Command-line
Add option
--define {key} {value}to pass extra context variables.Greatly improve error handling.
Parts can now have a name that is shown before running a tutorial part.
Add option to clear the environment for a command.
Add option to add extra environment variables for a command. Environment variables are rendered as templates.
Add ability to pass input to a process.
Command output can now also be tested for line or character count. You can specify an exact match, or a minimum and/or maximum.
0.1.0 (2025-12-22)
Initial version.