Support functions to Support QuantEcon.notebooks

The purpose of these utilities is to implement simple support functions to allow for automatic downloading of any support files (python modules, or data) that may be required to run demonstration notebooks.


Files on the REMOTE Github Server can be organised into folders but they will end up at the root level of when downloaded as a support File” –> ./


  1. Write Style guide for QuantEcon.notebook contributions

  2. Write an interface for Dat Server

  3. Platform Agnostic (replace wget usage)

quantecon.util.notebooks.fetch_nb_dependencies(files, repo='', raw='raw', branch='master', folder='dependencies', overwrite=False, verbose=True)[source]

Retrieve raw files from QuantEcon.notebooks or other Github repo

file_list list or dict

A list of files to specify a collection of filenames A dict of dir : list(files) to specify a directory

repo str, optional(default=REPO)
raw str, optional(default=RAW)

This is here in case github changes access to their raw files through web links

branch str, optional(default=BRANCH)
folder str, optional(default=FOLDER)
overwrite bool, optional(default=False)
verbose bool, optional(default=True)


Consider a notebook that is dependant on a csv file to execute. If this file is located in a Github repository then it can be fetched using this utility

Assuming the file is at the root level in the master branch then:

>>> from quantecon.util import fetch_nb_dependencies
>>> status = fetch_nb_dependencies(["test.csv"], repo="https://<github_address>")

More than one file may be requested in the list provided

>>> status = fetch_nb_dependencies(["test.csv", "data.csv"], repo="https://<github_address>") 

A folder location can be added using folder=

>>> status = fetch_nb_dependencies("test.csv", report="https://<github_address>", folder="data")

You can also specify a specific branch using branch= keyword argument.

This will download the requested file(s) to your local working directory. The default behaviour is not to overwrite a local file if it is present. This can be switched off by setting overwrite=True.