Re: [jupyter] Blocking copy/paste functionality to JupyterHub

2018-02-21 Thread Roland Weber
Hello Jeremy.

Blocking copy and paste is one of the main features that we wish to 
> achieve. Essentially, we would like to ensure that a JupyterHub notebook 
> user is able to use and modify their notebooks at will normally (via 
> typing, clicking and normal keystrokes),
>

When I write code, I normally copy longer variable names. Or 
functions I use more than once. Or import statements, where the path 
remains the same and only the name at the end changes. Disabled copy 
would make me feel thrown back into the age of typewriters. Let's hope I'm 
not representative of your user base, which will have to type out every 
occurrence of every variable and function name, fully qualified.
 

> but disallow them from inserting or removing data to and from said 
> notebooks via copy/paste. Additionally, we would like to prevent the the 
> mouse right click or equivalent keyboard event as well.
>

This is to prevent users from looking at the HTML source? Make sure to 
disable menu items that provide access to this feature, or that allow to 
save the current page as HTML. The notebook edit page is probably not 
stored in the browser cache, but you might want to double-check that.

The people that gave you these requirements are aware that users can still 
type everything they read into a second computer, or make "screenshots" 
with a mobile phone? Disabling copy doesn't stop anyone from getting 
data out of the system. It only makes that slightly more inconvenient, 
while at the same time compromising convenience for the intended use of the 
system as well. Folks who want to steal your data won't mind the extra 
hurdle very much. But folks who have to work with the system on a daily 
basis will.

cheers,
  Roland

-- 
You received this message because you are subscribed to the Google Groups 
"Project Jupyter" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to jupyter+unsubscr...@googlegroups.com.
To post to this group, send email to jupyter@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/jupyter/28178317-a75e-47f3-9627-0f42cf3ce152%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.


[jupyter] Fwd: [sage-devel] Research Software Engineer position opening at LRI Paris Sud, with a focus on Sage and Jupyter

2018-02-21 Thread Fernando Perez
Hi all,

for those of you with an interest in jobs in Europe, this may be of
interest... Please direct any follow-ups to the contact info below, not to
this list.

Cheers,

f

-- Forwarded message --
From: Nicolas M. Thiery 
Date: Wed, Feb 21, 2018 at 3:18 PM
Subject: [sage-devel] Research Software Engineer position opening at LRI
Paris Sud, with a focus on Sage and Jupyter
To: sage-de...@googlegroups.com


Dear Sage developers,

I would like to advertise a research software engineer position
opening at LRI, Paris Sud, to work for about one year on web-based
user interfaces and semantic interoperability layers for mathematical
computational systems and databases. There will be an obvious focus on
Sage and Jupyter!

http://opendreamkit.org/2018/02/21/position-paris-sud/

Feel free to forward where appropriate.

Cheers,
Nicolas
--
Nicolas M. ThiƩry "Isil" 
http://Nicolas.Thiery.name/

--
You received this message because you are subscribed to the Google Groups
"sage-devel" group.
To unsubscribe from this group and stop receiving emails from it, send an
email to sage-devel+unsubscr...@googlegroups.com.
To post to this group, send email to sage-de...@googlegroups.com.
Visit this group at https://groups.google.com/group/sage-devel.
For more options, visit https://groups.google.com/d/optout.



-- 
Fernando Perez (@fperez_org; http://fperez.org)
fperez.net-at-gmail: mailing lists only (I ignore this when swamped!)
fernando.perez-at-berkeley: contact me here for any direct mail

-- 
You received this message because you are subscribed to the Google Groups 
"Project Jupyter" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to jupyter+unsubscr...@googlegroups.com.
To post to this group, send email to jupyter@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/jupyter/CAHAreOoSPzFgoJUGUyRR6BZnADVEdLE_Jte%3DVprdmL9ttc09uA%40mail.gmail.com.
For more options, visit https://groups.google.com/d/optout.


Re: [jupyter] Re: widget updating plot; plot disappears

2018-02-21 Thread Randy Heiland
Any idea why the "continuous_update=False" doesn't work (for me)? Does it
work for others? - rf. attached .ipynb.

thanks, Randy

On Wed, Feb 21, 2018 at 4:22 PM, Jason Grout  wrote:

> You can use the interact_manual function. See http://ipywidgets.
> readthedocs.io/en/latest/examples/Using%20Interact.
> html#Disabling-continuous-updates
>
> Jason
>
>
> On Mon, Feb 19, 2018, 10:09 Randy Heiland  wrote:
>
>> I seem to have fixed my initial problem - rf. attached .ipynb.
>>
>> Next question - how do I avoid continuous update when a slider is moved?
>>
>> thanks, Randy
>>
>>
>> On Monday, February 19, 2018 at 11:13:02 AM UTC-5, Randy Heiland wrote:
>>>
>>> Hello,
>>>
>>> I was testing the following on https://try.jupyter.org/  and wondering
>>> why the plot sometimes disappears:
>>>
>>> %matplotlib notebook
>>> import numpy as np
>>> import matplotlib.pyplot as plt
>>>
>>> def f(p):
>>> plt.figure(2)
>>> nx = 10
>>> ny = 10
>>> x = np.linspace(1, nx, nx)
>>> y = np.linspace(1, ny, ny)
>>> xv, yv = np.meshgrid(x, y)
>>>
>>> rgb = np.zeros((nx*ny,3))
>>> rgb[:,0] += 1
>>> rgb[:][p-1] = [0,1,0]
>>>
>>> area=200
>>> plt.scatter(xv, yv, marker='s', s=area, c=rgb)
>>>
>>> plt.xticks([])
>>> plt.yticks([])
>>> #plt.show()
>>>
>>> from ipywidgets import interact, interactive
>>> interactive_plot = interactive(f, p=(0, 100))
>>> interactive_plot
>>>
>> --
>> You received this message because you are subscribed to the Google Groups
>> "Project Jupyter" group.
>> To unsubscribe from this group and stop receiving emails from it, send an
>> email to jupyter+unsubscr...@googlegroups.com.
>> To post to this group, send email to jupyter@googlegroups.com.
>> To view this discussion on the web visit https://groups.google.com/d/
>> msgid/jupyter/886fd352-09b5-4e50-858a-ebf7c8d3f508%40googlegroups.com
>> 
>> .
>> For more options, visit https://groups.google.com/d/optout.
>>
> --
> You received this message because you are subscribed to a topic in the
> Google Groups "Project Jupyter" group.
> To unsubscribe from this topic, visit https://groups.google.com/d/
> topic/jupyter/732c6aozcIE/unsubscribe.
> To unsubscribe from this group and all its topics, send an email to
> jupyter+unsubscr...@googlegroups.com.
> To post to this group, send email to jupyter@googlegroups.com.
> To view this discussion on the web visit https://groups.google.com/d/
> msgid/jupyter/CAPDWZHznV1xxv938KOfGnQ4xftkLMFDcrpMyQvp8Mey0BgVrDw%40mail.
> gmail.com
> 
> .
>
> For more options, visit https://groups.google.com/d/optout.
>

-- 
You received this message because you are subscribed to the Google Groups 
"Project Jupyter" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to jupyter+unsubscr...@googlegroups.com.
To post to this group, send email to jupyter@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/jupyter/CAO_spu4iFzDirh0AgK%3DSWe%2BmXNbZ7O0xO9TijYidqehPxOUnQg%40mail.gmail.com.
For more options, visit https://groups.google.com/d/optout.


[jupyter] Re: Updating Anaconda has broken Jupyter

2018-02-21 Thread gwheeler
I ended up having to reinstall Anaconda. Not sure how it got so messed up 
but it turned into a game of whack-a-mole and even creating new virtualenvs 
didn't help.


On Wednesday, February 21, 2018 at 1:39:05 PM UTC-8, gwhe...@ebay.com wrote:
>
> HI all
>
> Yesterday I did an update of all the packages in my Anaconda install, and 
> now I can no longer start kernels in Jupyter. I'm getting this when I try 
> to open a notebook:
>
> Traceback (most recent call last):
>   File "/Users/gwheeler/anaconda/lib/python3.6/runpy.py", line 193, in 
> _run_module_as_main
> "__main__", mod_spec)
>   File "/Users/gwheeler/anaconda/lib/python3.6/runpy.py", line 85, in 
> _run_code
> exec(code, run_globals)
>   File 
> "/Users/gwheeler/anaconda/lib/python3.6/site-packages/ipykernel_launcher.py", 
> line 15, in 
> from ipykernel import kernelapp as app
>   File 
> "/Users/gwheeler/anaconda/lib/python3.6/site-packages/ipykernel/__init__.py", 
> line 2, in 
> from .connect import *
>   File 
> "/Users/gwheeler/anaconda/lib/python3.6/site-packages/ipykernel/connect.py", 
> line 13, in 
> from IPython.core.profiledir import ProfileDir
>   File 
> "/Users/gwheeler/anaconda/lib/python3.6/site-packages/IPython/__init__.py", 
> line 45, in 
> from .config.loader import Config
>   File 
> "/Users/gwheeler/anaconda/lib/python3.6/site-packages/IPython/config/__init__.py",
>  
> line 6, in 
> from .application import *
>   File 
> "/Users/gwheeler/anaconda/lib/python3.6/site-packages/IPython/config/application.py",
>  
> line 19, in 
> from IPython.config.configurable import SingletonConfigurable
>   File 
> "/Users/gwheeler/anaconda/lib/python3.6/site-packages/IPython/config/configurable.py",
>  
> line 14, in 
> from IPython.utils.text import indent, wrap_paragraphs
>   File 
> "/Users/gwheeler/anaconda/lib/python3.6/site-packages/IPython/utils/text.py", 
> line 28, in 
> from IPython.external.path import path
> ImportError: cannot import name 'path'
>
> Package versions:
>
> ipython==3.2.3
> ipython-genutils==0.2.0
> jupyter-client==5.2.2
> jupyter-console==5.2.0
> jupyter-contrib-core==0.3.3
> jupyter-contrib-nbextensions==0.4.0
> jupyter-core==4.4.0
> jupyter-highlight-selected-word==0.1.0
> jupyter-latex-envs==1.4.1
> jupyter-nbextensions-configurator==0.4.0
> jupyter-pip==0.3.1
> jupyterlab==0.31.8
> jupyterlab-launcher==0.10.5
> notebook==5.4.0
>
>
> Anyone else having this issue?
>
> Thanks!
> Graham
>

-- 
You received this message because you are subscribed to the Google Groups 
"Project Jupyter" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to jupyter+unsubscr...@googlegroups.com.
To post to this group, send email to jupyter@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/jupyter/db8dd3c8-ca64-4f3d-bc30-e295e57b9e40%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.


Re: [jupyter] Blocking copy/paste functionality to JupyterHub

2018-02-21 Thread Matthias Bussonnier
Thanks Jeremy,


On 20 February 2018 at 16:41, Jeremy Ho  wrote:

> Hi Matthias,
>
> Thank you for your response. For some background context, the notebooks
> will have access to sensitive data sources that we don't want to have
> leaving the notebooks, and we also don't want to have users can inserting
> their own content into the environment.
>

> Blocking copy and paste is one of the main features that we wish to
> achieve. Essentially, we would like to ensure that a JupyterHub notebook
> user is able to use and modify their notebooks at will normally (via
> typing, clicking and normal keystrokes), but disallow them from inserting
> or removing data to and from said notebooks via copy/paste. Additionally,
> we would like to prevent the the mouse right click or equivalent keyboard
> event as well.
>

I'm wondering if asking the users not to change the dataset might not be
better handled by changing data permission either on a file system on with
Read-Only credential.


> In the meantime, I will go ahead and take a look at inserting the
> Javascript example solution you have provided into the Jupyter Notebook
> image and evaluate if it meets our requirements. I will also experiment
> with additional Javascript code in that js file intercepting other events
> (equivalent to right click) in addition to Clipboard event. If you have any
> other ideas or suggestions, please let me know.
>

One additional feature you might want to do, for example to prevent
screenshot, is to blank the window when it loses focus.
I can't guarantied that any of these features can't be worked around though.
-- 
Matthias




>
> Thanks again,
> Jeremy
>
>

-- 
You received this message because you are subscribed to the Google Groups 
"Project Jupyter" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to jupyter+unsubscr...@googlegroups.com.
To post to this group, send email to jupyter@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/jupyter/CANJQusV%3DJ60%3D5zeqNb7L%2B04-Wb62j7HT3XYGx%3D8kxPfZjE3Hbg%40mail.gmail.com.
For more options, visit https://groups.google.com/d/optout.


[jupyter] Re: Updating Anaconda has broken Jupyter

2018-02-21 Thread gwheeler
Just checked on the website and it seems that the latest IPython should be 
6.x.

If I run "conda update ipython" conda says I have 6.2.1, but if I run "pip 
freeze" then I get 3.2.3. So something has gotten really messed up somehow.

I'll figure it out.

On Wednesday, February 21, 2018 at 1:39:05 PM UTC-8, gwhe...@ebay.com wrote:
>
> HI all
>
> Yesterday I did an update of all the packages in my Anaconda install, and 
> now I can no longer start kernels in Jupyter. I'm getting this when I try 
> to open a notebook:
>
> Traceback (most recent call last):
>   File "/Users/gwheeler/anaconda/lib/python3.6/runpy.py", line 193, in 
> _run_module_as_main
> "__main__", mod_spec)
>   File "/Users/gwheeler/anaconda/lib/python3.6/runpy.py", line 85, in 
> _run_code
> exec(code, run_globals)
>   File 
> "/Users/gwheeler/anaconda/lib/python3.6/site-packages/ipykernel_launcher.py", 
> line 15, in 
> from ipykernel import kernelapp as app
>   File 
> "/Users/gwheeler/anaconda/lib/python3.6/site-packages/ipykernel/__init__.py", 
> line 2, in 
> from .connect import *
>   File 
> "/Users/gwheeler/anaconda/lib/python3.6/site-packages/ipykernel/connect.py", 
> line 13, in 
> from IPython.core.profiledir import ProfileDir
>   File 
> "/Users/gwheeler/anaconda/lib/python3.6/site-packages/IPython/__init__.py", 
> line 45, in 
> from .config.loader import Config
>   File 
> "/Users/gwheeler/anaconda/lib/python3.6/site-packages/IPython/config/__init__.py",
>  
> line 6, in 
> from .application import *
>   File 
> "/Users/gwheeler/anaconda/lib/python3.6/site-packages/IPython/config/application.py",
>  
> line 19, in 
> from IPython.config.configurable import SingletonConfigurable
>   File 
> "/Users/gwheeler/anaconda/lib/python3.6/site-packages/IPython/config/configurable.py",
>  
> line 14, in 
> from IPython.utils.text import indent, wrap_paragraphs
>   File 
> "/Users/gwheeler/anaconda/lib/python3.6/site-packages/IPython/utils/text.py", 
> line 28, in 
> from IPython.external.path import path
> ImportError: cannot import name 'path'
>
> Package versions:
>
> ipython==3.2.3
> ipython-genutils==0.2.0
> jupyter-client==5.2.2
> jupyter-console==5.2.0
> jupyter-contrib-core==0.3.3
> jupyter-contrib-nbextensions==0.4.0
> jupyter-core==4.4.0
> jupyter-highlight-selected-word==0.1.0
> jupyter-latex-envs==1.4.1
> jupyter-nbextensions-configurator==0.4.0
> jupyter-pip==0.3.1
> jupyterlab==0.31.8
> jupyterlab-launcher==0.10.5
> notebook==5.4.0
>
>
> Anyone else having this issue?
>
> Thanks!
> Graham
>

-- 
You received this message because you are subscribed to the Google Groups 
"Project Jupyter" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to jupyter+unsubscr...@googlegroups.com.
To post to this group, send email to jupyter@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/jupyter/f7734f03-e4c0-4069-82a5-b8507412a4c0%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.


[jupyter] Updating Anaconda has broken Jupyter

2018-02-21 Thread gwheeler
HI all

Yesterday I did an update of all the packages in my Anaconda install, and 
now I can no longer start kernels in Jupyter. I'm getting this when I try 
to open a notebook:

Traceback (most recent call last):
  File "/Users/gwheeler/anaconda/lib/python3.6/runpy.py", line 193, in 
_run_module_as_main
"__main__", mod_spec)
  File "/Users/gwheeler/anaconda/lib/python3.6/runpy.py", line 85, in 
_run_code
exec(code, run_globals)
  File 
"/Users/gwheeler/anaconda/lib/python3.6/site-packages/ipykernel_launcher.py", 
line 15, in 
from ipykernel import kernelapp as app
  File 
"/Users/gwheeler/anaconda/lib/python3.6/site-packages/ipykernel/__init__.py", 
line 2, in 
from .connect import *
  File 
"/Users/gwheeler/anaconda/lib/python3.6/site-packages/ipykernel/connect.py", 
line 13, in 
from IPython.core.profiledir import ProfileDir
  File 
"/Users/gwheeler/anaconda/lib/python3.6/site-packages/IPython/__init__.py", 
line 45, in 
from .config.loader import Config
  File 
"/Users/gwheeler/anaconda/lib/python3.6/site-packages/IPython/config/__init__.py",
 
line 6, in 
from .application import *
  File 
"/Users/gwheeler/anaconda/lib/python3.6/site-packages/IPython/config/application.py",
 
line 19, in 
from IPython.config.configurable import SingletonConfigurable
  File 
"/Users/gwheeler/anaconda/lib/python3.6/site-packages/IPython/config/configurable.py",
 
line 14, in 
from IPython.utils.text import indent, wrap_paragraphs
  File 
"/Users/gwheeler/anaconda/lib/python3.6/site-packages/IPython/utils/text.py", 
line 28, in 
from IPython.external.path import path
ImportError: cannot import name 'path'

Package versions:

ipython==3.2.3
ipython-genutils==0.2.0
jupyter-client==5.2.2
jupyter-console==5.2.0
jupyter-contrib-core==0.3.3
jupyter-contrib-nbextensions==0.4.0
jupyter-core==4.4.0
jupyter-highlight-selected-word==0.1.0
jupyter-latex-envs==1.4.1
jupyter-nbextensions-configurator==0.4.0
jupyter-pip==0.3.1
jupyterlab==0.31.8
jupyterlab-launcher==0.10.5
notebook==5.4.0


Anyone else having this issue?

Thanks!
Graham

-- 
You received this message because you are subscribed to the Google Groups 
"Project Jupyter" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to jupyter+unsubscr...@googlegroups.com.
To post to this group, send email to jupyter@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/jupyter/a4421ec8-eaf7-4903-844b-0b61f8003633%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.


[jupyter] Re: Register external IPython kernel with jupyter notebook?

2018-02-21 Thread Edward Banner
Hi Roland,

Thanks for the suggestion. I wound up creating a hacky kernel manager which 
seems to do the job.

https://github.com/ebanner/extipy

The only caveat is that you have to disable message authentication to get 
it to work because jupyter was complaining that the expected message 
signature didn't match.

On Friday, February 9, 2018 at 3:05:18 PM UTC-8, Edward Banner wrote:
>
> Hi,
>
> I am attempting to associate a jupyter notebook with a running IPython 
> kernel. This kernel is running outside of jupyter (accomplished by running 
> the following code in a python process):
>
> import IPython
>
> IPython.embed_kernel()
>
> which produces the following output
>
> To connect another client to this kernel, use:
>
> --existing kernel-9692.json
>
> I can attach to this kernel through jupyter console and jupyter qtconsole, 
> but not with jupyter notebook. As referenced in this issue 
>  this is not because of 
> any inherent technical limitation, but rather because it would be confusing 
> from a UI perspective.
>
> I believe the first step would be registering the running kernel with the 
> jupyer notebook server so that the kernel is returned on GET 
> localhost:/api/kernels. The hope being then that I could point an 
> existing jupyter notebook to use that kernel (I haven't figured out how to 
> do that as it doesn't appear to be documented on this page 
> ).
>
> How can I achieve this first step of registering this IPython kernel with 
> a running jupyter notebook server?
>
> Thanks in advance.
>

-- 
You received this message because you are subscribed to the Google Groups 
"Project Jupyter" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to jupyter+unsubscr...@googlegroups.com.
To post to this group, send email to jupyter@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/jupyter/12ddc882-105f-4084-aff2-2e6a25030ffb%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.


Re: [jupyter] Blocking copy/paste functionality to JupyterHub

2018-02-21 Thread Michael Milligan
Hi Jeremy,

Your original question made it sound like you might be using the notebook
purely as a dashboard interface with some level of point-and-click
interactivity. This should be doable using the advice you have already
received, provided you have good control of your users work environment. If
you do not, then you must consider that any restrictions implemented in
client-side JS can be circumvented by browser extensions. This is before
you even consider the screenshot hole, which lately also includes cell
phone photos of the screen.

Now that you have added the requirement that users be able to input and
execute normal code cells, you may need to rethink your security model even
further. A few lines of Python is quite adequate to upload a dataset to an
outside server, load new JS code into the browser, or make arbitrary
changes to locally writable files. In the general case, preventing data
exfiltration is a hard problem, even with very strict controls on the users.

My advice, based on my organization's work to build a system with similar
requirements, is this: if you want to use a system as flexible as Jupyter,
forget about detailed control of how your users interact with data.
Instead, focus your technical effort on detailed logging of which users
have been given access to which data, educate your users about acceptable
data use, and make it crystal clear that they will be held accountable if
data is mishandled.

Regards,
Michael

On Feb 20, 2018 6:41 PM, "Jeremy Ho"  wrote:

Hi Matthias,

Thank you for your response. For some background context, the notebooks
will have access to sensitive data sources that we don't want to have
leaving the notebooks, and we also don't want to have users can inserting
their own content into the environment.

Blocking copy and paste is one of the main features that we wish to
achieve. Essentially, we would like to ensure that a JupyterHub notebook
user is able to use and modify their notebooks at will normally (via
typing, clicking and normal keystrokes), but disallow them from inserting
or removing data to and from said notebooks via copy/paste. Additionally,
we would like to prevent the the mouse right click or equivalent keyboard
event as well.

In the meantime, I will go ahead and take a look at inserting the
Javascript example solution you have provided into the Jupyter Notebook
image and evaluate if it meets our requirements. I will also experiment
with additional Javascript code in that js file intercepting other events
(equivalent to right click) in addition to Clipboard event. If you have any
other ideas or suggestions, please let me know.

Thanks again,
Jeremy


On Tuesday, 20 February 2018 10:17:24 UTC-8, Matthias Bussonnier wrote:

> Hello Jeremy,
>
> Thanks for your question,
>
> A few Questions: is copy and past the only thing you want to block ? Do
> you sill want users to be able to modify notebooks by typing ? Is the a
> specific requirement/certification you need to have ?
>
> A couple of clarification as well: JupyterHub act only as a proxy it is
> likely note JupyterHub, but Jupyter notebook itself that you will need to
> patch/configure to do so. It is not baked in but you probably can use
> extensions mechanism to do that.
>
> There are ways in Javascript to prevent copy pasting, for example:
>
> document.addEventListener('copy', function(e){
> e.clipboardData.setData('text/plain', 'NO');
> e.preventDefault(); // We want our data, not data from any selection,
> to be written to the clipboard
> });
>
> Will listen for copy events and replace the Data by "NO", you can also
> ping a custom URL to log when users are trying to copy.
> Adapt for past events as well.
>
> For the classic notebook you can either build that as an extension, or put
> it in users's `custom.js` (which I guess you will have control over)
>
> Does that make some sens ?
> --
> Matthias
>
>
>
>
> On 19 February 2018 at 12:22, Jujaga  wrote:
>
>> Hi all,
>>
>> Our group is currently leveraging zero-to-jupyterhub-k8s in order to
>> provide Notebooks to a multi-user environment via Kubernetes. However, we
>> also have a business requirement where we must prevent users from copying
>> information out of the Notebooks, as well as preventing the insertion of
>> code and other information into the Notebooks. We want to effectively block
>> any textual information to and from the client's browser while still
>> maintaining their ability to use the Notebooks.
>>
>> We were wondering if there exists a method of achieving this? We are more
>> than happy to provide more information and context as needed.
>>
>> Thanks in advance,
>> Jeremy
>>
>> --
>> Jeremy Ho
>> Software Engineer
>>
>> --
>> You received this message because you are subscribed to the Google Groups
>> "Project Jupyter" group.
>> To unsubscribe from this group and stop receiving emails from it, send an
>> email to jupyter+u...@googlegroups.com.
>> To post to this group, send 

[jupyter] [JupyterHub] Debugging make_preexec_fn within jupyterhub-singleuser

2018-02-21 Thread David Doherty
I've created a custom spawner that copies some Tutorial notebooks into a 
new user's notebook directory to help them get up and running with our 
tools.

However I am getting an exception when I try to run the function I made in 
make_preexec_fn. However, I'm having trouble debugging it. Does this get 
run by the jupyter-singleuser process? Any pointers into how to see the 
logs of that process and generally debug?

I'm using the latest jupyterhub version

Thanks,
Dave

-- 
You received this message because you are subscribed to the Google Groups 
"Project Jupyter" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to jupyter+unsubscr...@googlegroups.com.
To post to this group, send email to jupyter@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/jupyter/b5da87cf-7eb3-4b7f-917c-61f966087488%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.


[jupyter] Re: Pdf export in jupyter notebook not working

2018-02-21 Thread ezhick179
We convert Jupyter to HTML, then print HTML using virtual PDF printer - 
this works.

On Monday, August 29, 2016 at 6:28:21 PM UTC+3, vigneshwer dhinakaran wrote:
>
> Hi Team,
>
> There are few problems I am facing with the export pdf function.
>
> The PDF is getting generated but,
>
> 1. The markdown code is coming as such in the final pdf, the output is not 
> populated in the pdf. ex: HTML output is not coming and html code is what's 
> coming in the pdf format.
>
> 2. When the cell length is more than the width of the window (ie it's a 
> big line of code), the pdf generated cuts the code which is not visible in 
> the display.
>
> How do i rectify these PDF export errors?
>
> Thanks
> @dvigneshwer
>

-- 
You received this message because you are subscribed to the Google Groups 
"Project Jupyter" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to jupyter+unsubscr...@googlegroups.com.
To post to this group, send email to jupyter@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/jupyter/e23a552a-2979-4b5d-a91a-50cdf5b7f987%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.


[jupyter] Attaching custom css and javascript (mathjax macros) to a set of notebooks

2018-02-21 Thread David Ketcheson
I'm writing a book using a Jupyter notebook for each chapter.  I also 
generate pdf and html versions using nbconvert and bookbook.

I would like to be able to do two things:
 - Control the fonts used in the notebooks
 - Use a common set of Latex macros in all the notebooks

It seems to me that both of these could be accomplished cleanly if it were 
possible to have the notebook load a specific .css file and a specific .js 
file on startup.

Workarounds that I'm not satisfied with:

- Modify the global custom.js for jupyter/ipython.  This will change the 
appearance of all my notebooks, and won't work for other people who read 
the book.
- Loading .css and .js files via commands in a notebook cell.  I'm 
currently doing this for the CSS, but it's hacky since the notebook looks 
wrong when it loads, and then suddenly changes appearance when you execute 
the cell.  It also exposes code that the reader shouldn't have to deal 
with.  For javascript, I haven't been able to get this approach to work at 
all.  If I could, that would at least be a step forward.
- Define latex macros inside math delimiters in a notebook cell.  This 
would require modifying every notebook whenever a new macro is added.  It 
also breaks when converting to PDF, and (again) exposes to the reader 
things that they shouldn't need to deal with.

It seems to me that it would be reasonable to allow notebook metadata to 
specify a CSS file and a JS file to be loaded on startup.  I'm also willing 
to write an nbextension, but I haven't been able to figure out how to do so 
or whether such a thing could solve my problems.

I'd be very grateful for any help from the Jupyter experts, or others who 
have tried to deal with this issue.

-- 
You received this message because you are subscribed to the Google Groups 
"Project Jupyter" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to jupyter+unsubscr...@googlegroups.com.
To post to this group, send email to jupyter@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/jupyter/ebb25b52-fd54-449d-b61f-6ef98119e49d%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.