►
From YouTube: JupyterLab Dev Meeting, August 19, 2016
Description
Meeting of the JupyterLab development team, August 19, 2016.
Meeting Notes: https://jupyter.hackpad.com/JupyterLab-Weekly-Meetings-UUJ3gIQ3iBS
B
D
So
the
bottom
line
is
I
couldn't
find
an
out-of-the-box
webpack
plug-in
that
did
what
we
wanted
so
instead,
we're
is
we're
generating
shims
for
libraries
and
I'm,
hoping
the
process
right
now
of
making
that
something
that
other
libraries
can
use
the
shim
themselves
and
so
basically
just
re-exports
all
their
internal
modules,
so
that
we
can
access
them
and
the
way
we
access
them
is
by
by
creating
a
global
Jupiter
object
on
the
page
and
then
having
externals
key
and
under
externals.
We
have
the
name
of
the
library.
D
So
that's
a
unique
thing:
it's
the
MPN
library
and
then
that
library
is
what
exports
all
of
its
internal
stuff
each
of
the
each
of
the
modules
in
the
library.
And
then
we
have
to
coincide
with
that.
A
a
web
pack
config
that
will
take
anything
you've
imported
from
that
library,
mangle
it
to
use
this
shim
syntax
that
we
created
sort
of
it'll
pull
from
Jupiter
externals
on
the
page
to
get
the
appropriate
module.
D
So
this
is
similar
to
what
the
dll
plugin
is
doing,
except
that
is
assuming
that
you're
from
the
same
web
pack
configuration
doing
everything.
But
in
this
case
we
have
this
Federation
of
web
packing
figs.
So
when
we're
doing
something
similar
to
that,
but
just
allowing
it
to
be
further
extended.
So
the
next
person
on
the
line
will
a
bit
we'll
use
our
helper
script
that
has
the
base.
D
If
you
want
to
do
something
different
than
that
publishing,
but
if
you
did
Libya
they'll
be
mechanism
for
that
and
then
so
forth
down
the
line
and
then
so,
if
something
were
to
depend
on
to
purchase
widgets,
then
it
would
basically
just
depend
on
it
on
it
in
its
package
of
JSON
the
same
way
that
doesn't
change.
What
does
change
is
that
both
super
J's
widgets
and,
for
example,
beef.
You
plot,
will
have
config
under
Jupiter
lab
in
their
package.json
to
tell
to
tell
us
that
one.
D
It
is
a
valid
Jupiter,
lab
extension
and
to
where
to
find
certain
things
like
the
entry
point
and
anything
else
we
might
need
so,
and
so
in
the
case
of
PQ
plot,
it
would
walk
up
its
dependencies.
See
okay,
do
purchase.
Widgets
is
another
valid
SuperLab
extension
I
need
to
incorporate
something
about
it
and
so
and
so
forth.
Online
build
out
the
appropriate
what
pack
and
figs
so
that
PQ
plot
only
contains
itself
and
has
the
correct
shimming
applied
to
it.
So
it
re
exports
the
things
in
itself,
so
it
won't
contain
any
super.
D
J's,
widgets
or
Jupiter
lab
or
Jupiter
J,
services
or
phosphoryl
is
are
all
independently
available
on
the
page.
So
this
will
all
be
transparent,
okay
and
provided
as
part
of
a
cookie
cutter,
one
specifically,
who
might
not
even
need
one
specifically
for
widgets.
It
might
just
be
an
extension
cookie
cutter
and
you
just
happen
to
imported
from
wages,
but
I
think
because
we
just
has
more
stuff
like
the
embedding
on
the
page.
D
Embedding
in
the
document
that
remains
to
be
determined
if
we
need
two
different
cookie
cutters,
one
specifically
for
widgets
or
just
the
generic
super
lab
extension,
but
I
think
it's
coming
together.
Jason
has
been
helping
me
get
through.
I
mean
this
literally
DLL
hell
burn
right
here
and
I
think
we're
close
to
a
workable
solution,
and,
thanks
to
it,
was
fortuitous
that
I
saw
Nick
last
week.
D
He
helped
me
get
through
thinking
through
how
this
would
work
from
the
standpoint
of
the
consumer
extension
and-
and
we
came
up
with
the
idea
of
adding
the
keys
and
using
package.json
and
providing
the
helper
script
from
Jupiter
lab
itself.
So
all
this
is
coming
together.
Now,
what
remains
to
be
done
is
basically
adding
the
Jupiter.
Notebook
has
a
a
provides,
an
entry
script
for
that
MV
extensions,
so
the
Jupiter
mb
extension
entry
script
from
the
command
line,
so
basically
we
we
need
a
similar
facility
for
live
extension
right.
D
Once
we
have
a
comp
that
the
approach
that'll
that'll
be
we'll
have
to
explicitly
enable
things,
but
once
the
things
are
in
that
locate
those
locations,
the
server
will
look
at
the
enabled
lab
extensions
and
basically
just
insert
the
script
tags
in
order
of
dependencies,
and
so
I
have
just
a
stub
in
the
in
the
HTML
right
now
that
says,
the
lab
will
add
these
things
here,
and
those
things
are
the
it
will
be
inserting
plugins
into
the
things
into
the
list
of
plugins.
D
That
will
be
bootstrapped
at
at
the
final
step,
which
is
where
we
actually
create
the
application
insert
the
stanchion,
eat
the
plugins
and
run
what
remains
to
be
done
and
may
be
flushed
out
on.
That
is
how
we
replace,
for
example,
the
notebook
poet.
What's
the
mechanism
for
that
I
haven't
fully
thought
through
that
yet,
but
your
guess
will
help
me
what
are.
D
Also
remains
determined,
I
have
a
top
sort
algorithm
in
phosphor
algorithms.
Well,
this
would
be
done
from
Python,
because
this
is
the
tornadoes
the
Python
scripts
entry
point.
Okay,.
E
B
E
B
I
think
is
probably
better
to
do
it
in
Python
side,
just
yeah,
less
work,
but
I
do
have
a
question,
though
a
technical
question
that
came
up
when
I
was
studying
the
web
pack
config
docks
this
morning.
Why
are
we
loading?
Why
are
we
caching
modules
in
a
global
instead
of
generating
UMD
modules
or
something
like
that?
As
it's
the
library
targets.
D
Of
trying
to
remember,
I
had
originally
tried
to
make
it
AMD
compare
compatible,
but
the
problem
was,
and
it
might
have
gone
away
now
that
we're
doing
this
mangling.
So
it
is
something
we
can
redress
as
opposed
to
using
there.
We
can
try
to
use
UMD,
it
didn't
work
with
what
I
had
done
before,
but
things
have
evolved.
So
it's
worth
three
addressing
okay.
C
So
it
sounds
like
the
currently.
The
NB
extension
has
two
steps:
there's
an
installed
which
copies
assets
into
a
directory
and
there's
activate,
which
triggers
them
to
be
loaded
on
the
page.
It
sounds
like
in
this
case.
Obviously
there
will
be
the
install
step.
The
activate
now
is
really
equivalent
to
the
user,
picking
which
plugins
they
want
turned
on
right,
right,
okay,
and
so
we
we
may
have
a
community
we'll
have
to
figure
out
what
how
the
user
triggers
that,
but
it
could
be
through
you
I
in
Jupiter
lab
it
could
be
a
command
line.
B
Agreed
that
partially
guess
is
the
overriding
question,
though
we're
lumping
all
of
the
Jupiter
lab
plugins
and
one
chunk
it.
One
unit
of
JavaScript
web
pack
bundle.
So
it's
hard
to
overload
what
may
be
hard
to
overload
one
of
those
plugins
like
the
notebook
plugin
inside
of
the
Jupiter
lab
bundle
versus
if
Alma
liggins
were
spared
bundles.
Then
you
could
have
this
configuration
step
there
with
the
enabling
step
in
order
door.
Yeah.
B
B
E
B
E
Yeah,
so
you
register
everything
and
then
it
runs.
Ok,
the
only
time
that
would
happen
is,
if
you
dynamically
register
a
plug-in
and
then
start
pulling
that
to
Z,
which
in
that
case
it
might
be
ok
right,
because
now
the
one
plug-in
was
using
the
things
that
it
got
and
now
you've
got
some
new
stuff
loaded.
That's
going
to
use
that
new
stuff
right,
that's
honey!
E
You
would
expect
from
dynamic
loading
yeah,
and
so
that's
that
that
definitely
was
a
case
that
I
had
in
my
mind
when
I
was
making
this
decision,
but
I
felt
it
would
be
better
for
the
cases
where
we're
just
going
to
load
a
bunch
of
stuff,
and
maybe
somebody
somewhere
has
snuck
in
something
that
they
want
to
provide,
but
no
I
actually
want
this
later
thing
to
take
precedence,
and
so
that
was
I
felt.
That
was
a
more
important
use
case
to
be
able
to
service.
E
Then
the
potential
of
getting
some
dynamically
replaced
thing
that
now
you've
got
two
versions
of
this
thing
that
implements
whatever
so
right:
yeah,
ok,
so
yeah.
So,
in
that
case,
you
could
load
basically
that
more
all
that
story
is
that
you
could
continue
to
load
the
notebook
plug
in
as
part
of
the
web
pack
bundle
and
if
something
some
other
plugin
is
loaded
later,
which
overrides
those
dependencies
that'll
be
fine.
The
worst
thing
you've
done
is
loaded.
Some
JavaScript.
You
never
executed
right.
D
So
I'd
originally
I
had
started
down
the
road
of
yeah
the
wrong
road,
but
basically,
what
I'm
going
to
do
is
I'm
gonna
I'm
going
to
create
a
new
continent
with
the
1.2
version
of
Jupiter
lab
and
make
sure
they're
the
same,
so
I
will
be
able
to
actually
inspect
styles
and
layouts
and
make
sure
that
they
are
correct,
as
opposed
to
what
I
had
been
doing,
which
was
like
looking
at
build
histories
of
CSS
files.
It
was
like
archaeology,
so
I
have
a
plan
going
forward
on
that
to
rectify
the
styles.
D
Okay,
great.
C
Just
so
everyone
knows,
Steven
had
a
pull
request
that
split
be
a
refactor
at
how
we're
doing
CSS.
So
now
each
plug-in
has
a
base
CSS
file
that
has
the
minimal
structural
CSS
required
for
it
to
function
properly,
and
then
we
in
the
default
themes
directory
there's
a
file
for
each
plug-in.
That
has
the
theme
related
visual
styling.
C
My
guess
is
right.
Now
we
probably
have
too
much
in
the
theme
folder.
We
probably
have
structural
stuff
there,
so
one
Steven
finishes
the
model
repo
related,
the
SS
regressions
I'm,
going
to
go
through
and
try
to
refactor
that
stuff,
and
basically
what
I'm
going
to
do
is
turn
off
the
default
theme
plug
in
and
get
the
page
to
look
structurally
fine
with
a
super
vanilla,
black
and
white
theme
and
then
enable
the
team
and
make
sure
the
styles
are
applied.
I
think
that
will
help.
E
Jerry
has
a
variant
opened,
an
issue
about
with
some
proposals
about
how
to
handle
our
CSS
going
board.
It's
pretty
well
within
reason,
things
that
we
should
probably
start
commenting
on
and
seeing
if
you
want
to
adopt
that
part
of
his
point
was
that
it
might
be
better
to
switch
over
using
something
like
less
and
then
spell
out
and
just
like.
E
We
just
have
like
the
base
CSS
and
spell
out
theme,
will
variables
and
then
allow
people
to
compile
their
own
themes
that
we
just
load
after
our
base
CSS,
and
then
they
can
target
those
less
variables
to
control,
colors
or
whatever
theming
things
that
they
want
to
do,
because,
right
now
trying
to
make
the
split
between
structural
and
style.
Things
is
really
difficult.
F
F
C
By
the
way,
I've
been
spent
a
lot
of
time
with
the
CSS
and
last
day,
and
my
my
current
thought
is
that
we
should
have
we
ourselves
should
generate
to
top
level
CSS
files,
one
for
bass
and
one
for
a
default
theme,
and
we
can
use
less
within
each
of
those,
but
we
wouldn't
use
less
across
those,
and
so
we
wouldn't.
We
have
a
set
of
base
variables
that
control
the
structural
aspects
of
it
and
the
different
base.
C
Css
files
could
rely
on
that
and
then
the
default
theme
could
have
sort
of
visual
style
variables
that
it
relies
on,
and
people
who
want
to
develop
a
custom
theme
can
just
literally
copy
that
default
theme.
It'll
have
the
variables
related
to
teaming
and
they
can
customize
it
and
recompile
it
and
I
think
it
should
work.
I'm
didn't
we
I
mean
we
played
around
with
the
client-side
compilation
of
less
before
and
backed
out
of
it
Matias
because
it
was
slow.
No,
we
that
was
my
no.
F
Oh,
you
have
to
recompile
if
you're
on
an
older
browser,
but
if
you
are
on,
I
think
its
edge
and
some
development
version
of
chrome,
you
literally
don't
have
to
recompile
you
using
your
base,
CSS
just
to
define
variables
with
ash
and
if
you
change
this
file
is
just
apply
to
all
the
Jesus
and
and
that
that
would
be
something
that
might
take
a
few
years
to
get
rid
of
the
computation
step.
But
maybe
in
a
year
or
two
we
can
say,
hey.
We
actually
target
recent
enough
browser
that
you
like.
F
F
C
F
B
C
B
C
I,
don't
this
is
a
really
hard.
The
only
way
for
us
to
do
that
is
to
do
client-side
compilation
so
that
we
can
have
feen
variables
available
to
all
plugins
and
I'm.
My
I
don't
know
I'm
part
of
what
I'm
a
little
hesitant
about
is
that
we
needed
to
start
using
CSS
variables
and
other
simple,
less
first
SAS
contracts
months
ago,
and
our
CSS
is
a
real
mess,
because
we're
not
doing
that.
I'm
I'm
hesitant
to
over
engineer
this
at
this
point,
because
we
need
this
stuff
so
badly.
C
My
temptation
is
to
just
say,
hey
let
let's
start
with
server-side
left,
so
we
can
at
least
start
to
write
our
styles
in
using
a
saying
approach,
and
then
you
know
it's
in
the
future.
We
want
to
think
about
in
client
cloud
compilation
or
some
more
sophisticated
approach.
I
think
we
could
do
that.
I
am
I
mean,
like
the
level
of
pain,
I
went
through
and
editing
the
rendered
HTML
CSS
file,
because
we
don't
have
nested
selectors
like
it.
It's
unsustainable,
like
we
need
to
fix
this.
C
F
Ess
variables
are
available,
apparently
on
firefox
47
and
above
and
chrome
49
and
above
not
on
IE.
So
for
if
we
use
something
like
me,
it
means
that
for
development
we
can
use
CSS
file
locally,
like
you
can
literally
just
redefine
your
base,
dot,
CSS
or
in
your
chrome
style,
to
redefine
things
and
should
change
live
and
or
when
we
ship,
we
can
compile
the
CSS,
because
one
of
the
issue
is
compiling
that,
if
you
have
a
lot
of
sense
as
it
can
take
quite
some
time.
E
There's
a
caveat
to
that
and
that's
some
things:
dogs,
I,
don't
believe
that
any
browser
yet
supports
the
notification.
Api
is
for
wind
variables,
change
due
to
style,
is
being
recomputed,
and
so,
for
example,
like
he
wanted
to
change
the
height
the
tab
bar
dynamically.
That
wouldn't
do
anything
because
phosphor
has
no
way
of
knowing
that
the
computed
style
has
changed
and
so
I
can't
I
can't
do
it
relay
up.
Oh.
F
C
B
B
F
F
C
C
B
F
B
C
F
More
recent
that
SAS
seems
to
actually
be
good
older
support.
More
now,
advanced
feature
is
that
many
people
like,
and
it's
dr.
Rick
this
framework,
like
raleys,
where
you
can
know
whether
you're
using
selectors
or
not,
and
make
sure
that
you
have
started
defined
for
your
selectors
and
that
audio
selectors
are
used,
which
is
one
of
the
reason
why
it's
advisory
committees.
C
A
C
B
I
mean
Darren.
It
was
quite
a
bit
of
time
into
researching
some
alternatives
and
coming
up
with
some
proposals
and
stuff
so
carrying
on
the
conversation
on
his
PR
ike
he'll
be
back
next
week,
but
I
think
okay,
the
conversational
in
his
PR
usable.
There
would
be
a
good
step
forward,
even
if,
in
the
temporary
short-term
you
switch
to
using
less
just
as
bosses
leading
okay
I,
don't
think
we
should
ignore
the
long-term
plan
in
order
to
keep
plugging.
C
C
C
B
Discussion
tag:
I
was
really
the
other
day
when
I
put
something
these
discussion,
I'm
sentencing
yet
to
die
and
stale
oblivion,
but
yeah
I,
agree.
I,
don't
know
that
these
meetings
are
necessarily
the
best
ones,
because
there,
these
meetings
are
broader
and
two
they're
pretty
constrain
once
a
week.
How
about
on
those
nice
discussion
issues
we
just
tag.
If
we
want
to
be
part
of
that
discussion,
and
then
we
can
arrange
on
the
issue
a
time
to
meet
in
person
and
then
summarize.
C
B
B
Theirs
yeah,
maybe
we
should
just
meet
in
triage
first
in
person,
yeah
and
then
yeah,
okay,
okay,
I'm
open,
not
for
me
next
time.
Let's
meet
in
triage
this
since
and
then
because
a
lot
of
those
discussions
are
like
two
point
O
or
beyond
what
we'd
been
to
like
to
do,
etc
it
and
we
don't
have
to
have
those
discussions
at
this
point.
Yes,
that's
true.
B
C
They
so
I
just
so.
Everyone
knows:
I've
started
to
assign
them
as
individuals
to
github
issues
and
they
I've,
given
the
freedom
to
reassign
issues,
it's
really
hard
for
me
to
keep
track
of
who
the
best
person
to
sign
that
did
require
me,
giving
them
right
issue
right
permission
to
the
repo
and
I've
counseled
them
on
using
that
very
carefully.
C
It's
unfortunate
that
the
right
permissions
are
required
to
do
simple,
relabeling,
reassigning
on
issues
but
such
as
life,
and
I
also
have
three
different
github
teams.
One
is
students,
another
is
Callisto
and
another's
EO,
which
are
all
the
students
and
then
the
two
teams,
EO
and
Callisto,
as
they're
calling
themselves,
and
so
you
can
at
mention
those
teams
and
there's
also
a
designer's
team
as
well.
C
That
includes
Cameron
and
so
they're
working
on
a
range
of
different
things
and
we're
part
of
this
is
we've
been
going
through
the
user
test
results
and
basically
creating
new
issues
based
on
that
sort
of
action
items.
It's
a
word.
What
we're
still
going
to
be
doing?
That
and
part
of
this
is
a
lot
of
their
a
lot
of
the
design
stuff
is
on
hold
right
now
with
the
regressions
and
then
also
trying
to
refactor
the
CSS
and
use
a
preprocessor.
B
Quick
question
with
that:
we
have
a
label
called
sprint,
friendly,
Cal,
Poly
and
I've.
Just
been
aside,
if
there's
I
think
it
looks
like
it'll,
be
a
few
line,
change
or
something
I've
been
assigning
that
label,
it's
not
necessary,
Cal
Poly
specific.
Do
you
mind
if
we
just
make
that
print
friendly
or
newbie,
or
something
like
that?
Because
there
are
people
that
want
to
get
involved,
wanted
to
remind.
C
C
I
doing
siesta
CSS
stuff
I've,
dug
into
the
naming
conventions
of
our
CSS
classes
and
I
talked
to
Steven
about
it
yesterday
and
then
Chris
and
I
talked
about
it
last
night
and
I'm,
based
on
that
I'm
going
to
attempt
to
write
some
documentation
about
the
naming
patterns
and
conventions
and
it's
I,
don't
I
think
we
as
a
whole
are
mostly
following
them,
but
there's
definitely
places
in
our
code
base
where
we
were
pseudo
following
those
conventions
and
it
I
think
it'll
really
help
for
us
to
follow
those
conventions.
C
F
C
B
F
B
E
E
F
Write
that
yeah,
I
mean
what
I
mean
is
if
we
had
that
at
some
point
it
would
help
reading
author
matching
or
style
yep,
so
I'm
just
I'm
just
like
throwing
that
in
a
proton
views
that
I
get.
I
get
your
thoughts.
It's
not
it's
not
a
request
to
write
anything.
I
completely
understand
that
first
Brian
would.
It
would
be
really
helpful
to
get
a
human
target
in
document
it's
always
first
thing
to
have
and
if
we
can
sort
or
that
in
the
background
thread,
is
there
a
way
to
court
a.
E
E
Christie
have
any
updates
updates
for
me,
I'm
busy
being
a
parent
on
the
cheaper
lleva
shoes
about
CSS
styling
and
I'm
working
on
a
great,
an
actual
grid.
Widget
high
performance
data
to
the
table
grid.
Widget,
that's
cool,
listen!
There's
a
branch
called
feature
grid
on
the
bus
for
repo
anybody
wants
to
keep
up
to
date,
I.
B
E
A
And
I
only
have
any
updates
yeah,
the
talk
will
be
at
pi
bay
and
it
will
cover
Jupiter
project
as
a
whole.
So
there
there
will
be
a
suction
on
Jupiter
lab
TS
will
be
do
a
demo
similar
to
the
demo.
He
did
at
the
meetup
here
at
Brookley
in
the
spring.
So
you
know
show
folks
how
you
can
use
different
programming
languages
within
the
notebook.
A
Don't
think
we'll
use
the
PlayStation
the
controller
thing
just
because
we
don't
know
how
to
do
that
yet,
but
yeah
it
should
be
great
and
then
we'll
also
have
theirs.
They
have
these
open
sessions
where
there's
kind
of
there's
the
hallway
track,
and
then
there's
there's
space
and
time
for
people
just
kind
of
have
these
ad
hoc
consulting
sessions
with
folks
at
the
conference.
B
Great,
that's!
What's
bet
it
that
everything
anybody
else,
okay,.