►
From YouTube: JupyterLab Dev Meeting, September 9, 2016
Description
Meeting of the JupyterLab development team, September 9, 2016
Meeting Notes: https://jupyter.hackpad.com/JupyterLab-Weekly-Meetings-UUJ3gIQ3iBS
B
Yeah,
so
we've
been
eating
and
experimenting
with
the
console
you
I
some
of
the
stuff
that
I
demoed
last
week,
we've
changed
around
a
bit
and
we
finally
decided
to
merge
where
we
are
and
iterate
from
there.
So
the
consensus
was
to
not
use
a
phosphor
split
panel
because
giving
users
the
ability
to
resize
the
input
area
wasn't
immediately
obvious
and
was
a
bit
cumbersome.
B
That's
not
actually
the
task
you're
you're
trying
to
accomplish,
and
the
other
thing
is
that
the
horizontal
orientation
was
at
least
for
the
time
being
something
we're
scrapping
I've,
only
seen
that
one
or
two
other
places,
and
so
we
simplified
a
lot
we're
just
using
pure
CSS,
and
we
have
the
input
anchored
at
the
bottom
of
your
screen
and
as
you
type,
the
input
will
grow
to
fit
the
content
that
you've,
typed
and
and
we're
just
going
to
take
it
from
there
and
see
how
people
like
it.
B
So
that
was
that
required
a
bunch
of
work
after
the
major
CSS
stuff
that
Brian
did.
But
it's
all
in
it's
working
and
I
was
dependent
on
both
that
and
the
CSS
stuff
to.
B
A
All
right,
I
guess
I'll
get
started
been
working
this
week
on
the
handling
of
third-party
extensions
for
Jupiter
lab.
We
had
spent
time
working
around
the
output
of
a
web
pack
after
after
the
entire
compilation
was
done
and
trying
out
different
plugins
existed
for
web
pack
and
turned
out.
We
just
need
to
write
around
plugin.
So
now
that's
in
a
standalone
repository
called
Jupiter
lab
extension
builder.
That
has
the
the
plug-in
that
morphs
the
output
into
something
we
want.
A
It
has
our
custom
loader
that
uses
the
output
of
that
the
custom
plugin
and
a
build
script
that
an
extension
author
uses
to
generate
these
artifacts.
So
what
it
does
is
it
takes.
It
still
takes
the
output
of
a
web
pack
build
the
final
output,
and
but
at
that
we
take
it
at
the
stage
where
we
have
all
the
the
parsed
information
about
the
the
pieces
that
made
up
of
that.
That
made
up
that
build.
A
Do
we
use
all
of
that
metadata
to
morph
the
output
into
the
thing
that
we
want,
which
is
our
custom
defined
function,
modules
that
have
a
name
and
version
mangled
module
package,
name
and
version
in
there
module
import
paths
and
then
anything
you
require,
has
a
semper
range
attached
to
the
name
of
package
and
December,
that
of
the
finger
requiring
and
then
the
full
module
path.
So
that
allows
us
at
runtime
who
given
or
given
a
require.
A
We
find
the
maximally
meeting,
December
defined
module
that
meets
that
requirement
and
provide
that,
along
with
some
caching
and
some
optimizations
thereof.
But
that
means
that
we
can,
we
can
worst
case
load
duplicate
code
into
the
page,
but
only
execute
one,
so
we're
performing
last
second
D
duping
on
the
client.
This
enables
us
to
not
have
knowed
running
on
not
on
the
server
they
can.
Just
extension.
Of--This
distribute
these
bundles.
A
They
have
all
the
build
assets
they
need
and
we
just
consume
them
from
from
a
directory
on
the
user's
machine,
similar
to
how
the
notebook
extensions
work
now.
So
there's
defined
lab
extensions
directories
in
different
places
on
on
the
user's
machine
that
can
that
can
be
used
to
look
up
these
wear.
These
things
are
using
the
the
same
configuration
mechanism
similar
to
the
know,
quickly,
Simpsons
the
weather
work
now
and
anything.
A
That's
dynamically
required
well,
we'll
have
a
public
path
to
look
in
that
folder,
so
being
live
extensions,
slash
the
name
of
the
let
the
extension.
So
we
can
pull
any
other
assets
if
there
are
image
files
associated
with
it
or
extra
bundles,
not
in
the
main
bundle
associated
with
the
bundle.
We
can
still
fix
those
from
the
appropriate
location
on
disk.
A
So
we've
got
the
the
repository
to
providing
those
three
tools:
the
the
the
plug-in
for
web
pack,
the
loader
to
use
the
output
plugin
and
the
build
tool
we're
current
in
in
the
PR
that
I
have
are
currently
using
the
build
tool
to
generate
the
entry
point
to
Jupiter
lab
itself.
So
that's
already
we're
already
dogfooding
that
the
next
step
is
to
take
I've
got
the
the
live.
A
Extensions
I
took
the
notebook,
extensions
file
and
morphed
it
into
a
lot
of
extensions
file
and
there's
a
test
associated
with
that,
so
so
mimicking
what
it
was
existing
on.
A
notebook
for
notebook
extensions
I
just
got
to
run
that
through
now
I'll
to
finish
this
up
and
and
verify
that
we
can
dynamically
add
lab
extensions
that
get
added
to
the
page
and
become
plugins
and
loaded.
Then
loaded
as
the
application
starts
so
they're
defined
by
the
user
they're
assembled
by
the
server
right
now,
we're
not
doing
anything
but
serving
the
bundles.
A
As
is
later,
we
can
optimize
and
actually
dee
doop
beforehand,
but
right
now
we're
just
everything
goes
up
on
the
page
and
the
client
does
the
dee
doop
phase.
So
that's
that's.
We're
headed
as
far
as
the
infrastructure
for
Jason
L
ahem
talk
about
how
he
plans
to
consume
this
from
the
standpoint
of
our
guinea
pig.
The
third
part
extension
so
just
in
time,
Jason.
B
Cuz,
I
had
a
neat.
I
had
a
question:
if
that's
ok,
what's
the
store
free
for
how
we
will
allow
an
extension
to
override
hours?
So
if
you
want
to
replace
our
command
palette,
what's
the
story
for
how
a
third
party
extension
does
that
without
touching
Jupiter
lab
coat
so
as.
A
Far
as
the
thing
that
is
provided
the
last
one
whinnies
the
way,
the
application
is
structured
right
now,
so
by
virtue
of
we
load
ours
first
and
then
the
extensions
get
loaded
last
one
in
wins
so
that
that
right
now
is
the
mechanism
for
overriding
a
default
it
could.
It
could
be
to
where
no,
actually,
everything
is
a
live
extension.
A
So
all
of
our
default
plugins
are
actually
just
live
extensions.
We
could
decide
to
do
that.
I
wouldn't
do
that
right
now,
because
that
would
explode
the
number
of
duplicate
the
amount
of
duplication
we
have
between
those
different
plugins.
So
I
would
say
at
least
until
we
have
the
server
side
d
do
we
should
just
stick
with
the
default
slug,
which
is
returns,
an
array
of
our
default
plugins.
Okay,.
B
C
A
C
C
Sorry
go
ahead,
oh
so,
how
are
we
handling
right
now?
The
web
pack
bundling
if
an
extension
depends
on
another
extension,
though
I
have
my
fancy.
Widget
library
depends
on
the
IP
I
widgets
library,
iPad.
Widgets,
of
course,
is
bundling
up
a
bunch
of
stuff
fancy,
widget
library.
It
depends
on
Jupiter,
jas
widgets
and
I.
Suppose,
let's
see
I,
guess
it
it.
It
doesn't
depend
on
the
lab
extension
for
widgets
well,
but
both
of
them.
Okay,
both.
A
C
On
the
server
with
a
client
yeah
and
we
have
no
way
of
and
then
if
they
had
not,
if
they
haven't
installed,
I
pie,
widgets
and
I've
got
my
fancy.
Library
depends
on
type
I,
widgets
I.
D
What
we
can
do
going
forward
in
the
future
is
an
optimization,
for
this
is
on
the
server
side,
based
on
what
extensions
are
being
loaded.
We
can
create
a
final
bundle
as
part
of
the
bundling
tool
we
can
emit
some
commented
metadata
that
makes
it
easy
to
parse
from
Python,
and
we
can
manually
strip
out
exact
duplicate
dependencies
in
the
process
of
generating
that
final
bundle
from
Python,
without
requiring
note,
but
think
we
could
do
that
after
we
get
everything
working
with
bundles
that
just
have
a
bunch
of
stuff.
A
Right
now,
Chris,
you
actually
do
have
the
markers
between
the
defined
modules.
So
we've
women
we've
done
what
we
needed
from
the
built
from
the
emit
stage.
To
do
that,
but.
C
We
could
only
we
could
only
eliminate
exact
duplicates
right.
I
mean
this,
since
we
don't
know
who's
going
to
require
what
funky
zemra
zemra
range
right.
So
all
the
exact
duplicates
so
yeah
I'm
curious
how
much
that
would
actually
work
in
practice
versus
people
compiling
against
slightly
different
patch
versions
of
I,
high
widgets,
or
something
like
that
or
not
worried
slightly
different
versions.
D
C
C
C
A
Anything
else
Errol
did
you
have
anything
you
want
to
talk
about.
E
E
C
I
guess
that's
it
for
the
record,
I
I,
guess
I!
Guess
we
should
mention
for
the
benefit
of
the
internet.
The
other
huge
thing
it
was
merged.
As
last
week
was
Brian's
work
with
the
CSS
styling.
So
Brian
did
a
ton
of
work
in
relocating
CSS
files,
actually
converting
from
less
to
CSS
variables,
and
you
did
a
very
minimal
dark
theme
and
a
light
theme
based
on
just
changing
CSS
variables
and
and
so
he's
moving
forward
on
that.
C
D
C
C
B
C
Okay,
so
the
idea
is,
we
ie11
is
still
an
important
target
for
us,
and
so
we
will
hard
compile
down
a
theme
to
using
some
of
these
post
processors
that
take
out
the
CSS
variables
and
I
think
basically
compile
it
down
to
a
standard
CSS
without
variables,
and
so
there'll
be
a
fixed
theme
for
ie11
that
obviously
can't
be
extended
very
easily.
You'll
have
to
hard
code,
your
extensions
to
this
theme,
but
that
will
at
least
give
us
a
minimal
support
for
ie11.
D
You
have
to
hard
code
your
extensions
of
that
theme.
If
you
don't
want
to
build
your
extension
to
run
on
IE,
you
would
just
need
to
know
to
run
our
tool
to
do
your
completion
yourself
right
yeah.
So,
basically,
what
we're
saying
is
for
IE,
if
you
want,
if
you
need
to
run
on
IE,
then
before
you
package
and
deploy
stuff
you're
going
to
need
that
which
I
don't
think
is
not
reasonable.
Yep
requirement.
B
When
you
were
talking
about
the
CSS
folder
structure,
I,
don't
know
if
you
explicitly
mention
it
or
not,
but
now
inside
the
same
folder,
that
has
the
type
script
code.
We
have
the
CSS
file
and
before
we
had
that
in
some
cases,
but
in
some
cases
the
entirety
of
the
CSS
was
in
default
theme.
B
So
it's
just
it's
just
sort
of
nicer
and
Anna
I'm,
really
glad
that
we
have
just
the
one
file
per
class,
not
structure
and
style,
because
I
think
I
think
originally
that's
what
Brian
wanted,
but
he
must
have
just
in
the
process
of
doing
you
realized
it's.
You
can't
really
disentangle
those,
because
every
widget
is
just
a
rectangle
and
whatever
you
want
to
put
in
that
rectangle,
you
can
do
whatever
way
you
like
so
anyway.
I
think
this
is
great.
C
And
then
upcoming
calendar
items
so
Brian
and
I
are
going
to
be
working
next
week
in
New,
York,
brian
and
paul,
even
of
Brian
Steve
Darren
you're
coming
too
in
two
weeks,
Brian
steve
is
Davion
me
and
Paul,
even
of
and
so
on.
Carla
will
be
working
together
in
New
York
week
after
next,
and
that
would
be
a
big
push.
We'd
give
a
talk
and
strata,
hopefully
we'll
have
you
know
a
ton
of
stuff
to
show
for
it,
and
this
is
sort
of
a
week-long
pushed
to
see.
You
know
what
what's
finally
needed.