Extract code blocks from markdown
Project description
exdown is deprecated. Use pytest-codeblocks instead.
exdown
This is exdown, a tool for extracting code blocks from Markdown files and to create tests from them.
Install with
pip install exdown
and create tests for pytest with
import exdown
test_readme = exdown.pytests_from_file("README.md")
The test_readme
variable is really a decorated function that pytest will pick up and
turn into tests.
tests/test_readme.py ............. [100%]
Skipping code blocks
If you don't want all code blocks to be extracted, you can filter by syntax
exdown.pytests_from_file("README.md", syntax_filter="python")
or prefix your code block in the Markdown file with an exdown-skip
comment
Lorem ipsum
<!--exdown-skip-->
```python
foo + bar # not working
```
dolor sit amet.
Merging code blocks
Broken-up code blocks can be merged into one with the exdown-cont
prefix
Lorem ipsum
```
a = 1
```
dolor sit amet
<!--exdown-cont-->
```
# this would otherwise fail since `a` is not defined
a + 1
```
Expected output
You can also define the expected output of a code block:
This
```
print(1 + 3)
```
gives
<!--exdown-expected-output-->
```
5
```
Expected errors
Some code blocks are expected to give errors. You can verify this with
The following gives an error:
<!--exdown-expect-exception-->
```python
1 / 0
```
License
This software is published under the MIT license.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
File details
Details for the file exdown-0.9.0.zip
.
File metadata
- Download URL: exdown-0.9.0.zip
- Upload date:
- Size: 13.2 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.7.1 importlib_metadata/4.10.0 pkginfo/1.8.2 requests/2.26.0 requests-toolbelt/0.9.1 tqdm/4.60.0 CPython/3.8.10
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | f8837ed0fe12963516c45d352e7f4f81e15503ffaa18a155a0a30696e02e603c |
|
MD5 | 2e20542278ece2f846db97cbb51f07b9 |
|
BLAKE2b-256 | f5691a8383e92fd022b285096a464d3bd5af8c3f1ba249cf651313a401bd1aef |