Skip to main content

Build a small website to host Jupyter notebooks as course chapters

Project description

nbcourse: publish your course based on Jupyter notebooks

Features

nbcourse helps you building a static website to publish your course content in the form of jupyter notebooks (one notebook for one chapter).

Main features:

  • all the configuration is described by a single nbcourse.yml file
  • it is based on doit in order to build efficently the html files
  • chapters can be displayed in preview mode only so attendees can see the whole course program without being able to access content of the lessons to come
  • notebooks can be:
    • rendered as static html files,
    • rendered as static reveal slideshows,
    • packaged with all their material in a downloadable archive,
    • compiled in a single pdf book using bookbook
  • the theme can be easily customized (html files are templated using jinja)

See this python course (in French) as an example.

Installation

pip install nbcourse

Usage

Initiate an empty nbcourse project

nbcourse --init

Configure your website

  • Put your notebooks file in the notebook/ directory
  • Edit the nbcourse.yml file created by the nbcourse --init command.

Build your website

nbcourse

Resulting files are in the build/ directory.

Get help

nbcourse --help

Publish

Publishing with GitLab Pages is as simple as adding a .gitlab-ci.yml file such as:

pages:
  image: boileaum/jupyter
  script:
    - pip install nbcourse
    - nbcourse -n 5
    - mv build public
  artifacts:
    paths:
      - public

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

nbcourse-0.3.6.tar.gz (1.9 MB view hashes)

Uploaded Source

Built Distribution

nbcourse-0.3.6-py2.py3-none-any.whl (1.9 MB view hashes)

Uploaded Python 2 Python 3

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page