Skip to main content

Prototype of LSST DocHub as a static website generator

Project description

Python Package Index Travis CI build status

Prototype of LSST DocHub ( as a static website generator.


#/usr/bin/env python
from dochubproto import DocHubProto

p = DocHubProto()
idx = p.render_index()


DocHubProto uses the following environment variables:

  • KEEPER_URL (default
  • LOGLEVEL (default WARNING).
  • TEMPLATE_DIR: directory containing Jinja2 templates (default templates).
  • UL_TEMPLATE_NAME: relative path to template for individual document items (default doclist.jinja2).
  • IDX_TEMPLATE_NAME: relative path to the index.html template (default index.jinja2).
  • MAX_DOCUMENT_DATA_AGE: maximum cache age in seconds of a document (default 3600).

DocHubProto API overview

  • check_state() returns one of:

    • STATE_EMPTY ('empty')
    • STATE_READY ('ready')
    • STATE_REFRESHING ('refreshing')
    • STATE_STALE ('stale')

    A document is ‘stale’ if it is older than MAX_DOCUMENT_DATA_AGE.

  • get_document_data() and get_fresh_document_data() return a dict whose keys are document sections (e.g. DMTN) and within each section, a list ordered by document handle (e.g. dmtn-038).

  • render() returns an HTML unordered list entity created from the document data, encoded as UTF-8.

  • render_index() returns an HTML document created from the document data, encoded as UTF-8.

  • debug(), info(), warning(), error(), and critical() each log a message at the specified level; it uses a structlog logger to log JSON output via apikit.

Project details

Supported by

Pingdom Pingdom Monitoring Google Google Object Storage and Download Analytics Sentry Sentry Error logging AWS AWS Cloud computing DataDog DataDog Monitoring Fastly Fastly CDN DigiCert DigiCert EV certificate StatusPage StatusPage Status page