IPython nbviewer is the web application behind IPython Notebook Viewer (graciously hosted by rackspace).
You can run this package locally to get most of the feature of nbviewer on your network.
If you have an heroku account, or have access to one, have a look at heroku-bootstrap.sh that does a quick setup of an heroku account and set some variables:
$ ./heroku-bootstrap.sh <an-app-name>
Creating <an-app-name>... done, stack is cedar
http://<an-app-name>.herokuapp.com/ | git@heroku.com:<an-app-name>.git
Adding memcachier:dev on <an-app-name>... done, v3 (free)
MemCachier is now up and ready to go. Happy bananas!
Use `heroku addons:docs memcachier` to view documentation.
Adding newrelic:standard on <an-app-name>... done, v4 (free)
Use `heroku addons:docs newrelic` to view documentation.
Git remote <an-app-name> added
Setting config vars and restarting <an-app-name>... done, v5
LIBRARY_PATH: /app/.heroku/vendor/lib
Setting config vars and restarting <an-app-name>... done, v6
LD_LIBRARY_PATH: /app/.heroku/vendor/lib
Setting config vars and restarting <an-app-name>... done, v7
PATH: bin:app/.heroku/venv/bin:/bin:/usr/local/bin:/usr/bin
Setting config vars and restarting <an-app-name>... done, v8
BUILDPACK_URL: https://github.com/ddollar/heroku-buildpack-multi.git
Push the repo on your new app
$ git push <an-app-name> master:master
...
...
The application will be available under yourappname.herokuapp.com
If pycurl
cannot be install, remove it from requirement.txt
it is not necessary.
You can eventually set the following github key to make authenticated requests to github. This will increase the maximum number of requests you can do to github/hour.
GITHUB_OAUTH_KEY: xxxxxxxxxxxxxxxxxxxx
GITHUB_OAUTH_SECRET: xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
you can use heroku config:set KEY1=VALUE1
to do so.
Local installation of nbviewer requires several binary packages to be installed on your system. The primary ones are libmemcached-dev libcurl4-gnutls-dev pandoc libevent-dev
. Package names may differ on your system, see salt-states for more details.
If they are installed, you can install the required Python packages via pip.
pip install -r requirements.txt
run with
$ cd <path to repo>
$ python -m nbviewer --debug --no-cache
This will automatically relaunch the server is a change is detected on a python file, and not cache any result. You can then just do the modification you like to the source code and/or the templates then refresh the pages.