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
importsyntax
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
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file markmodule-0.3.0.tar.gz.
File metadata
- Download URL: markmodule-0.3.0.tar.gz
- Upload date:
- Size: 6.4 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/4.0.1 CPython/3.11.4
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
d561cf2dc9ccd013ae85ba9a0dcec9bcd83a8e76b20e8edddafbc55bd3f7c191
|
|
| MD5 |
e693d8ca0e20f109c44c1957e4a05209
|
|
| BLAKE2b-256 |
4579eb2b7e81820f62d4b67832570f6ea0ca8cfa59c82b8682ec355cd964703d
|
File details
Details for the file markmodule-0.3.0-py2.py3-none-any.whl.
File metadata
- Download URL: markmodule-0.3.0-py2.py3-none-any.whl
- Upload date:
- Size: 7.3 kB
- Tags: Python 2, Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/4.0.1 CPython/3.11.4
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
ffcbf37e86b39530842a341eda14e9fecce99ec4afd19cf0d10a66bf04e7ad15
|
|
| MD5 |
d257a906c87399c71e74c43fbf6c4665
|
|
| BLAKE2b-256 |
c6ef227d75d674a999550cfcf7b502567d88095f906aee8f8668c63b742d0459
|