Automation to publish materials for teaching, notebook rendering, sphinx extensions, Jenkins helpers...
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
.circleci update python version on CI Dec 31, 2018
_doc documentation Jan 13, 2019
_unittests add missing module Jan 12, 2019
bin Fixes #220, GUI for command line Dec 31, 2018
src pep8 Jan 12, 2019
.gitattributes first version, doc, unit test, setup Dec 28, 2013
.gitignore Many fixes for #191, #190 Sep 14, 2018
.landscape.yml add landscape Dec 12, 2015
.local.jenkins.lin.yml Add more testing on notebooks Jan 10, 2019
.local.jenkins.win.yml
.travis.yml update python version on CI Dec 31, 2018
HISTORY.rst Fixes #227, exposes command line ls Jan 8, 2019
LICENSE.txt
README.rst More logging, documentation, azure-pipelines Nov 21, 2018
appveyor.yml Fix #229, remove specific code for python2 Jan 12, 2019
azure-pipelines.yml fix issues on macosx Jan 12, 2019
build_script.bat update build_script.bat Jul 22, 2018
requirements.txt Fix #229, remove specific code for python2 Jan 12, 2019
setup.py Update setup.py due to issue 216 Jan 8, 2019

README.rst

README

Build status Build Status Windows https://circleci.com/gh/sdpython/pyquickhelper/tree/master.svg?style=svg https://dev.azure.com/xavierdupre3/pyquickhelper/_apis/build/status/sdpython.pyquickhelper 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))