Import python code in markdown as module
Project description
markmodule
Import python from markdown files.
Usage
In a file named hello_module.md
define a function. I'm escaping the fence, use a real three-tick fence.
Here is a function
``(`)python
def hello() -> str:
return "Hello"
``(`)
Generate a type stub and import using the usual syntax. generate_side_by_side_pyi
will write a .pyi
file to the file system and enable IDEs type hinting to work.
import sys
import markmodule
markmodule.generate_side_by_side_pyi("hello_module")
sys.meta_path.append(markmodule.MdFinder())
import hello_module
print(hello_module.hello())
Import with path to file.
import markmodule
markmodule.import_md("hello_module.md")
import hello_module
print(hello_module.hello())
Markdown is a hammer, everything is a nail
You can use markdown:
- as a place to put module code, markmodule, this library
The do-everything-with-markdown ecosystem is surprisingly robust.
- as a Makefile alternative, mask
- as a place to put scripts, eg python's markdown-exec, or ruby's markdown_exec
- as a place to put unit tests, pytest-markdown-docs, pytest-codeblocks, and pytest-markdown
- as a string template, proof-of-concept gist
Change Log
- 0.1.0 - Basic idea.
- 0.2.0 - Updates to readme
- 0.3.0 - Generates pyi and you can use
import
syntax
Documentation
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
markmodule-0.3.0.tar.gz
(6.4 kB
view hashes)
Built Distribution
Close
Hashes for markmodule-0.3.0-py2.py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | ffcbf37e86b39530842a341eda14e9fecce99ec4afd19cf0d10a66bf04e7ad15 |
|
MD5 | d257a906c87399c71e74c43fbf6c4665 |
|
BLAKE2b-256 | c6ef227d75d674a999550cfcf7b502567d88095f906aee8f8668c63b742d0459 |