Automation to publish materials for teaching, notebook rendering, sphinx extensions, Jenkins helpers...
Switch branches/tags
Nothing to show
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
.circleci
_doc
_unittests
bin
src
.gitattributes
.gitignore
.landscape.yml
.local.jenkins.lin.yml
.local.jenkins.win.yml
.travis.yml
HISTORY.rst
LICENSE.txt
README.rst
appveyor.yml
build_script.bat
requirements.txt
setup.py

README.rst

README

Build status Build Status Windows https://circleci.com/gh/sdpython/pyquickhelper/tree/master.svg?style=svg MIT License Requirements Status https://codecov.io/github/sdpython/pyquickhelper/coverage.svg?branch=master GitHub Issues Waffle Codacy Badge Notebook Coverage

Links:

Functionalities

  • simple forms in notebooks
  • help generation including notebook conversion
  • folder synchronization
  • logging
  • help running unit tests
  • simple server to server sphinx documentation
  • file compression, zip, gzip, 7z
  • helpers for ipython notebooks (upgrade, offline run)
  • parser to quickly add a magic command in a notebook
  • Sphinx directives to integrate a blogpost in the documentation
  • mechanism to add forms in notebooks

Design

This project contains the following folders:

  • a source folder: src
  • a unit test folder: _unittests, go to this folder and run run_unittests.py
  • a folder: _doc, it will contain the documentation, a subfolder _doc/sphinxdox/source/blog contains blog post to communicate on the module
  • a file setup.py to build and to install the module, if the source were retrieve from GitHub, the script can also be called with the following extra options (python setup.py <option>): * clean_space: remove extra spaces in the code * build_sphinx: builds the documentation * unittests: run the unit tests, compute the code coverage
  • a script build_script.bat which produces many script on Windows to easily run the setup, generate the documentation, run the unit tests.

Examples

Convert a notebook into slides:

from pyquickhelper.helpgen import nb2slides
nb2slides("nb.ipynb", "convert.slides.html")

Merge two notebooks:

from pyquickhelper.ipythonhelper import read_nb
nb1 = read_nb("<file1>", kernel=False)
nb2 = read_nb("<file2>", kernel=False)
nb1.merge_notebook(nb2)
nb1.to_json(outfile)

Run a notebook:

from pyquickhelper.ipythonhelper import run_notebook
run_notebook("source.ipynb", working_dir="temp",
            outfilename="modified.ipynb",
            additional_path = [ "c:/temp/mymodule/src" ] )

Run a command line program:

from pyquickhelper.loghelper import run_cmd
out,err = run_cmd("python setup.py install", wait=True)

A sphinx extension to generate python documentation from a script:

.. runpython::
    :showcode:

    import sys
    print("sys.version_info=", str(sys.version_info))