Skip to content

Commit 84b7525

Browse files
committed
update changelog, minor linting fixes
1 parent 05aab60 commit 84b7525

4 files changed

Lines changed: 10 additions & 8 deletions

File tree

docs/changelog.rst

Lines changed: 7 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -2,15 +2,19 @@
22
ChangeLog
33
#########
44

5-
***********
6-
0.4.0 (TBR)
7-
***********
5+
******************
6+
0.4.0 (2026-04-04)
7+
******************
88

9+
* Added support for running tutorials in Vagrant.
10+
* Initial context variables are now rendered.
911
* Alternatives now allow specific context and environment variables.
1012
* The JSON schema is now available `here <_static/schema.json>`_ and can be used in IDEs such as PyCharm.
1113
* Add ability to specify required executables that are checked before running a tutorial.
1214
* Rename ``tutorial_root`` to ``root``.
1315
* Alternatives can now be skipped in documentation.
16+
* Changing the working directory moved out of doc/run blocks as it is common functionality.
17+
* ``chdir`` can now be ``False`` to switch back to where the tutorial started.
1418

1519
******************
1620
0.3.0 (2025-12-26)

docs/howto/test-commands.rst

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,7 @@ Test output of the command
2323
**************************
2424

2525
You can test either the standard output or standard error stream of a command with a regular expression. You
26-
can also test line and character cound. Regular expressions with named patterns can be used to update the
26+
can also test line and character count. Regular expressions with named patterns can be used to update the
2727
context for later commands:
2828

2929
.. tab:: Configuration

structured_tutorials/runners/base.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -107,10 +107,10 @@ def __init__(
107107
k: self.render(v, ignore_errors=True) for k, v in environment.items() if v is not None
108108
}
109109

110-
def render(self, value: str, ignore_errors=False, **context: Any) -> str:
110+
def render(self, value: str, ignore_errors: bool = False, **context: Any) -> str:
111111
try:
112112
return self.env.from_string(value).render({**self.context, **context})
113-
except TemplateSyntaxError:
113+
except TemplateSyntaxError: # pragma: no cover
114114
if ignore_errors:
115115
return value
116116
raise

tests/runners/test_base.py

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6,11 +6,9 @@
66
from pathlib import Path
77

88
import pytest
9-
from pytest_subprocess import FakeProcess
109

1110
from structured_tutorials.errors import InvalidAlternativesSelectedError, RequiredExecutableNotFoundError
1211
from structured_tutorials.models import TutorialModel
13-
from structured_tutorials.runners.local import LocalTutorialRunner
1412
from tests.conftest import Runner
1513

1614

0 commit comments

Comments
 (0)