Figures

[1]:
    from graphviz import Source
    Ø = __name__ == '__main__'
from graphviz import Source
Ø = __name__ == '__main__'
[12]:
<!--

    tangle_weave = Source(
digraph {rankdir=LR
subgraph cluster_pidgy {
    label="PIDGY literate programming"
    MD->MARKDOWN[label=WEAVE]
    MARKDOWN->HTML[label=PANDOC style=dashed]
    HTML->PDF[label=PRINT style=dashed]
    MD->IPY[label=TANGLE]
    IPY->PYC[label=PYTHON]
    IPYNB->IPY[label=TANGLE style=dotted]
    IPYNB->MARKDOWN[label=WEAVE]
}
subgraph cluster_knuth {
    label="WEB literate programming"
    WEB->TEX[label=WEAVE] TEX->DVI[label=TEX]
    WEB->PAS[label=TANGLE] PAS->REL[label=PASCAL]
}
}

    , filename='tange_weave.png')
    tangle_weave.save()
    if Ø: return tangle_weave

-->

    tangle_weave:\
The diagram of tangling and weaving compares the original literate programming
approach to the markdown-forward approach.  The weaving
step becomes an identity transformation.  Tangling
markdown to python is a line-by-line, to maintain proper assertions,
transformation that requires wrapping `not "code"` in quotations and indenting them properly.
IPY is a superset of python provided by IPython and includes shell, magics, and macro commands.
../_images/docs_figures.md_2_0.svg
tangle_weave:\

The diagram of tangling and weaving compares the original literate programming approach to the markdown-forward approach. The weaving step becomes an identity transformation. Tangling markdown to python is a line-by-line, to maintain proper assertions, transformation that requires wrapping not "code" in quotations and indenting them properly. IPY is a superset of python provided by IPython and includes shell, magics, and macro commands.