Skip to main content

extract code from within triple-quotes (```) in markdown files

Project description

get_code_from_markdown

Extract code from within triple-quotes (```) in markdown files (code blocks).

Run the extracted code using exec() or subprocess.run.

Getting code blocks from markdown files

from get_code_from_markdown import *

blocks = get_code_from_markdown(["# get_code_from_markdown", "```python", "print('hello world')", "```"])
# or
blocks = get_code_from_markdown_filename("README.md", language="python")
# or
with open("README.md", "r") as f:
    blocks = get_code_from_markdown_file(f, language="python")

The language parameter defaults to python

Running code blocks from markdown files

You can use a subprocess or just exec the code to see if it works.

from get_code_from_markdown import *
blocks = ["print('hello world')"]

# run function uses exec() by default
run_code_from_markdown_blocks(blocks)

# you can choose to use subprocess output instead
# this will use python3 by default
run_code_from_markdown_blocks(blocks, method=RunMethods.SUBPROCESS)

# give arguments to specify a different command
run_code_from_markdown_blocks(blocks, method=RunMethods.SUBPROCESS(["python3", "-c"]))

Format of outputted code blocks

The format is a list of \n-delimited strings, each representing a block of code from the parsed markdown file. You can split the code blocks further into individual lines of code with string.split("\n")

Legal

This is a derivative work of Codeblocks which provides a simpler version with less dependencies. It is covered by the same Apache license (see LICENSE file in this git repo). Use Codeblocks for its CLI and automatic formatting features.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

get_code_from_markdown-1.0.0.tar.gz (6.5 kB view hashes)

Uploaded Source

Built Distribution

get_code_from_markdown-1.0.0-py3-none-any.whl (7.1 kB view hashes)

Uploaded Python 3

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page