Extract and process code blocks from markdown files.
Project description
codeblock
Extract and process code blocks from markdown files.
Examples
Extract Python code blocks:
codeblock --python README.md
Check formatting of Python code blocks with black:
codeblock --python README.md | black --check -
Reformat Python code blocks with black, in place:
codeblock --python README.md -- black -
Type check Python code blocks with mypy:
mypy somemodule anothermodule <(codeblock --python README.md)
Full type checking example
def plus(x: int, y: int) -> int:
return x + y
plus(1, '2')
$ mypy --pretty --strict <(codeblock --python README.md)
/dev/fd/63:5: error: Argument 2 to "plus" has incompatible type "str"; expected "int"
plus(1, '2')
^
Found 1 error in 1 file (checked 1 source file)
TODO
- protect against empty (and weird?) in-place modifications
- use same regex for both modes
- example for pytest
- automatically add
async
for functions withawait
in them - support other languages
- use proper markdown parser
- support multiple files
Related
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
codeblocks-0.1.1.tar.gz
(6.6 kB
view hashes)
Built Distribution
Close
Hashes for codeblocks-0.1.1-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | ac7a4eb1ed8aa0369e6329780e950eeab725526b4aaa9181a9ed46bff43328f9 |
|
MD5 | 795933051ab3b0d4da9eb990ea035c68 |
|
BLAKE2b-256 | 7f0ac02739604fca00e6412059309f9803357086c792cfd5d1d9fbc108bf86c9 |