Skip to content


read-only notebook mode #930

wants to merge 1 commit into from

2 participants

IPython: interactive computing in Python member

As requested by @fperez

When using a password, read-only mode allows unauthenticated users read-only access to notebooks. Editing, execution, etc. are not allowed in read-only mode (the buttons, shortcuts, etc. are removed, but the requests will raise authentication errors if they manage to send the events anyway), but save/print functions are available.

No kernels are started until an authenticated user opens a notebook.

IPython: interactive computing in Python member

@minrk, I think you pushed the wrong branch for the pr :)

IPython: interactive computing in Python member
@minrk minrk closed this
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Commits on Oct 9, 2011
  1. @minrk


    minrk committed
This page is out of date. Refresh to see the latest.
Showing with 5 additions and 5 deletions.
  1. +3 −3 IPython/core/
  2. +2 −2 IPython/frontend/terminal/
6 IPython/core/
@@ -35,7 +35,7 @@
from IPython.config.application import Application
from IPython.config.configurable import Configurable
-from IPython.config.loader import Config
+from IPython.config.loader import Config, ConfigFileNotFound
from IPython.core import release, crashhandler
from IPython.core.profiledir import ProfileDir, ProfileDirError
from IPython.utils.path import get_ipython_dir, get_ipython_package_dir
@@ -186,7 +186,7 @@ def load_config_file(self, suppress_errors=True):
- except IOError:
+ except ConfigFileNotFound:
# ignore errors loading parent
self.log.debug("Config file %s not found", base_config)
@@ -201,7 +201,7 @@ def load_config_file(self, suppress_errors=True):
- except IOError:
+ except ConfigFileNotFound:
# Only warn if the default config file was NOT being used.
if self.config_file_specified:
msg = self.log.warn
4 IPython/frontend/terminal/
@@ -30,7 +30,7 @@
import sys
from IPython.config.loader import (
- Config, PyFileConfigLoader
+ Config, PyFileConfigLoader, ConfigFileNotFound
from IPython.config.application import boolean_flag
from IPython.core import release
@@ -378,7 +378,7 @@ def load_default_config(ipython_dir=None):
cl = PyFileConfigLoader(default_config_file_name, profile_dir)
config = cl.load_config()
- except IOError:
+ except ConfigFileNotFound:
# no config found
config = Config()
return config
Something went wrong with that request. Please try again.