/python-obj-system

Tutorials on advanced python topics, and literate programming framework to write them (see README.md)

Primary LanguagePythonMIT LicenseMIT

Advanced course on Python3

This course covers several topics

Each lesson is a python program, the output of that program is the rendered markdown text that makes up the lesson. This approach gives me some confidence about the quality of the material.

mdpyformat literate programming library

I am using a kind of literate programming tool developed for this course. The tool is right here in this repository, in the mdpyformat package

The main function of the mdpyformat package is eval_and_quote(string_arg). This function does the following steps:

  1. Renders the argument string as a code snippet
  2. Evaluates the string argument as a python script, with the global variable context of the calling module
  3. Renders the result of evaluating the code (both standard output and standard error)

There is also print_md(*args) - this shows the outut as a markdown regular text section

header_md(line, nesting=1) - this renders the line as a header

print_quoted(*args) - shows the aguments as markdown quoted text

Installation of mdpyformat

The mdpyformat library can be installed via pip

pip3 install mdpyformat

Here is the link to pypi

table of content generation script

The mdpyformat package contains a script for the generation of table of contents in the generated markdown files.

To invoke this script run

python3 -m mdpyformat.tocgen MARKDOWN_INPUT_FILE MARKDOWN_OUTPUT_WITH_ADDED_TABLE_OF_CONTENT

The script has beend derived from this gist Thanks!