Skip to main content

Converts course material to API

Project description


Helper for converting course material in YAML/Markdown/Jupyter to JSON API.


There are two public entrypoints: one for getting general course information; the other for a subset of lessons.

(This separation means the content doesn't need to be rendered to get course info.)

naucse_render.get_course(course_slug, *, path='.', version=None)

naucse_render.get_lessons(lesson_slugs, vars=None, path='.')

The path specifies the local filesystem path to the root of the repository (i.e. parent directory of courses, runs and lessons).

Installation & Usage

You can run naucse_render from the command line:

python -m naucse_render get-course courses/mi-pyt

python -m naucse_render get-lessons beginners/install beginners/venv-setup

By default, data is retreived from the current working directory. Use the --path option to point naucse_render elsewhere.


To tests, install pipenv, and install dependencies:

$ pipenv install --dev

then run the tests:

$ pipenv run test


The code is licensed under the terms of the MIT license, see LICENSE.MIT file for full text. By contributing code to this repository, you agree to have it licensed under the same license.


naucse_render 1.2

  • API version 0.1
  • Serial "numbers" are now generated for sessions.
    • Serials are strings (or None). Usually they are numeric (like '1'), and in the source YAML they may be specified as int. But, for example, an appendix could use Roman numerals: i, ii, iii.
    • When a serial is not given in the source YAML explicitly, it is auto-generated as the previous serial plus 1 (or from 1 at the start). Serials specified as str (or None) prevent this auto-generation.
    • For courses with only one session, the serial is not auto-generated.

naucse_render 1.1

  • Make it possible to use data from a YAML file in lesson content
  • Make output the same on Windows as on "Unixy" systems

naucse_render 1.0

  • Source files are always reported as relative paths
  • YAML files are reloaded when they change
  • Added integration tests

naucse_render 0.x

0.x should successfully render courses hosted on prior to 2019.

The format of the source files grew organically, so there is no attempt here to document it.

Project details

Download files

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

Files for naucse-render, version 1.2
Filename, size File type Python version Upload date Hashes
Filename, size naucse_render-1.2-py3-none-any.whl (16.0 kB) File type Wheel Python version py3 Upload date Hashes View hashes

Supported by

Elastic Elastic Search Pingdom Pingdom Monitoring Google Google BigQuery Sentry Sentry Error logging AWS AWS Cloud computing DataDog DataDog Monitoring Fastly Fastly CDN SignalFx SignalFx Supporter DigiCert DigiCert EV certificate StatusPage StatusPage Status page