►
From YouTube: SunPy Developer Discussion
Description
No description was provided for this meeting.
If this is YOUR meeting, an easy way to fix this is to add a description to your video, wherever mtngs.io found it (probably YouTube).
A
A
A
So
a
metaclass
is
the
class
that
is
instantiated
when
you
define
the
class
as
opposed
to
a
class
which
is
instant,
which
is
instantiated.
When
you
define
an
ins
know
when
you
create
an
instance,
I
think
basically
controls
how
the
class
is
defined
and
what
happens
when
the
class
is
defined,
which
allows
you
to
do
stuff
upon
definition
of
class
which
in
this
case
upon
the
class
being
defined.
It
registers
it
with
the
map
factory
but
I
think
that's
right.
A
I
think
when
you
define
a
class
it
creates
an
instance
of
the
bill
in
Python
object,
type
and
when
you
create
a
metaclass
new,
subclass
type
and
define
and
set
and
changes
change
the
farthest
metaclass.
And
then,
when
you
define
the
class
it
instantiates
from
your
subclass
of
type
rather
than
pipe
itself,.
A
A
A
B
A
A
B
A
A
So
what
I've
done
is
effectively
subclass
type,
although
it's
actually
a
b
c
mehta,
but
don't
worry
about
of
the
10
subclass
type
and
set
the
metaclass
on
generic
map
to
be
my
subclass
of
type.
So
now,
when
you
define
generic
map
or
a
subclass
they're
off,
it
is
execute
he's
creating
an
instance
of
generic
map
matter,
not
type.
D
B
A
A
B
A
It's
looking
for
they're
just
what
your
matically
register,
so
you
can
still
manually
register
it
if,
for
some
reason,
you
want
to
call
your
method
something
else,
you
can
still
run
map,
as
in
factory
capital
m
at
register,
my
class,
my
method,
which
is
the
old
way
of
doing
it,
there's
nothing
stopping
you
from
still
doing
that.
It's
just
things
that
subclasses,
you
should
Eric
map
with
the
right
method,
now
automatically
register.
Upon
definition,
ok,.
A
Is
a
module
called
abstract
based
classes?
I,
don't
really
know
what
that
does,
but
because
of
the
way
that
indeed,
data
is
defined
inside
after
by
I
had
to
subclass
from
ABC
meta
rather
than
type,
or
else
it
wouldn't
work,
because
generic
map
is
a
subclass
of
NT
data
which
already
has
its
metaclass
as
ABC
matter.
Oh.
B
A
It's
just
that
when
you
subclass
something
with
a
metaclass,
the
metaclass
has
to
be
a
subclass
of
that
thing's
met.
Okay,
we're!
Basically
you
can't
change
the
you
can't
change
the
metaclass
halfway
down
the
class
hierarchy
unless
you're
also
changing
it
to
a
subclass
of
the
same
thing.
That's
higher
up
the
hierarchy
with
us.
Nd
either
already
have
a
minute
classes
of.
A
The
doesn't
do
anything
it.
What
the
metaclass
fendi
data
does
is
enforce
it
having
certain
methods
and
properties.
It's
like
an
abstract
class
in
all
right
template
your
template
in
c++.
I
can't
remember
like
it
defines
them
like
you
can't
define
a
class
without
it
having
sir
properties
I,
don't
know
about
that.
I
haven't
done
the
reading
on
that
one,
but
basically
they
just
use
it
to
force
every
subclass
of
ND
data
to
define
the
very
minimum
API
do.
D
B
C
Trying
to
say,
but
I
think
you
should
rejigger
that
sentence
to
say
something
like
now.
This
allows
you
to
define
your
own
maps,
you
know
which
are
not
necessarily
included
in
some
pie
or
something
like
that.
You
know
which
are
not
in
the
Sun
pie,
library.
It
allows
you
to
extend
the
Sun
play
library
or
something
like
that.
You
know
on
the
fly
something
a
little
bit
clearer.
C
C
C
A
So
if,
for
some
completely
ridiculous
reason,
you
didn't
actually
want
to
subclass
from
generic
map,
you
could
still
register
it
with
Matt
factory
as
long
as
it
shared
enough
of
the
API
that
it
looked
like
generic
mouth
and
Matt
factory
I
could
take
that
bit
out
the
documentation.
I
just
put
it
there
for
completeness.
C
A
C
C
Okay,
well,
that
should
be
defined,
that's,
and
so
why-
and
this
is
a
larger
question
sort
of
where
I
think
going
beyond
this.
The
scope
of
this
PR,
but
why
do
we
want
to
have
is
data
source
for
be
sort
of
our
signature
for
generic
map
right
I?
Could
it
would
be
very
easy
for
somebody
to
come
up
with
examples
where
you
want
to
define
some
sort
of
map
that
doesn't
read
in
from
a
file
right
that
like
well
I?
Guess
we
give
it
all
kinda
needs
data
in
it.
Oh
that.
A
E
A
C
If
you
were,
you
could
imagine-
and
this
is
you
know
if
we
don't
want
to
allow
this-
that's
fine
as
well,
but
you
could
imagine
somebody
they
want
they're
running
simulations
and
they
want
this.
They
wanted
to
to
find
a
map
that
generates
its
own
data
right
so
that
you
do
like
map
dot,
no
no
run
I,
don't
know
wrapped
up
map
that
simulate,
and
then
it
generates
its
own
data.
So
it
does
not
get
initialized
with
data
because
it
will
generate
its
own
data.
Is
that
something
that
we
do
not
want
to
allow?
Yes?
A
C
Okay,
okay,
I'll
I'll
suggest
a
few.
C
A
A
But
it
was
good
okay,
we
should
probably
move
on.
F
E
C
You
notice,
by
the
way
that
I
have
asked
as
part
of
that
you're,
the
part
of
the
organizing
committee
for
the
we
just
lost
Albert
for
the
witch
mclubbe
Python.
An
astronomy
meeting,
I
asked
for
there
to
be
a
tutorial
on
just
I.
Think
it'll
be
very
helpful,
because
I
I
just
have
a
very
vague
sense
of
why
we
should
move
to
python
3.
You
know
besides
the
obvious
like
well,
you
know,
2.7
is
not
going
to
be
supported
forever
and
blah
blah
blah
yeah.
A
C
A
A
C
C
A
C
A
D
A
B
A
A
So
that's
just
ninja'd
from
that's
like
stackoverflow
post,
that
in
the
comment
above
basically,
all
those
doing
is
checking
that
it
needs
a
class
method
rather
than
a
normal
method.
I
think
because
normal
methods
are
yes,
normal
methods
in
PI.
Her
three
are
just
functions,
whereas
class
methods
on
methods
I,
don't.
D
A
So
six
is
a
bunch
of
helpers,
the
truth
that
allow
you
to
get
stuff
independent
or
Python
version
you're
in
so
like
some
of
the
URL
lips
officer,
has
moved
so
rather
than
you
manually
having
to
do
and
my
Python
to.
If
yes
import
from
here,
if
53
import
from
here
six
just
does,
it
will
thought
you
just
imported
sinks
and
then
it
always
comes
in
in
the
same
place.
A
C
A
A
Yeah
Eddie,
if
in
Python
3,
if
it's
not
a
class
method
that
will
return
force,
which
is
good,
because
the
second
statement
would
error
in
Python
3.
Where
is
in
I,
think
where
is
buddy?
If
it
is
a
class
method,
then
his
method
returns
true
in
both
two
and
three,
and
the
second
statement
will
result
will
evaluate
correctly.
A
C
A
Only
fail
is
the
Sphinx
build
timeout
error
that
I
haven't
got
to
the
bottom
of
yet
it's
just.
It
seems
some
pull
request.
Sometimes
things
just
doesn't
start
running,
it
doesn't
work.
I
know,
I,
haven't
been
able
to
pin
down.
Why
and
also
it
doesn't
seem.
If
you
just
restart
the
same
Travis
build,
it
doesn't
seem
to
work,
but
if
you
add
new
commit,
sometimes
it
will
work
I,
don't
I,
really
don't
get
it,
but
it's
not
it's
not
a
bug
with
that.
Pr
is
just
a
Travis.
C
C
C
C
A
A
A
A
A
C
C
A
A
C
A
I'm
not
convinced
that
I
like
it
as
an
aqua.
The
convinced
that
I
like
the
approach
as
a
modification
to
an
in-place
map,
because
it's
very
much
different
in
comparison
to
everything
else,
we've
done
all
the
other
methods
on
man,
don't
make
an
in-place
modification
to
the
map.
They
return.
A
new
map
we're
a
different
something
I
rotate
returns.
A
new
map
sub
map
obviously
returns.
A
new
map
and
I
know
that
this
is
a
little
different,
but
it
I
don't
know
I
haven't
given
any
salt
to
the
fact.
This
is
doing
it.
A
You
could
have
a
liar
shift
function
that
returns
a
new
map
with
different
shift
and
then
you're
always
got.
The
metadata
will
always
be
updated
and
it'll
always,
and
it
will
behave
the
same
and
if
the
user
doesn't
want
to
keep
two
maps
around
you
just
assign
over
the
top
of
it.
You
don't
lose
any
memory
or
anything
because
pythons
very
smart
with
that
kind
of
stuff,
so
there's
no
kind
of
technical
restriction.
While
you
shouldn't
do
it
like
that.
C
C
C
Returning
in
your
map,
I
kind
of
wonder,
if
that's
something
we
should
just
talk
about
some
more
see
whether
we
really
want
to
keep
doing
it
that
way,
I
mean
I,
think
Noah.
Why
is
well
it's
sort
of
unclear
it's
unclear
when
numpy
is
going
to
do
things
in
place
and
when
it's
not
and
so
being
more
consistent
than
numpy
is
better
I.
C
A
B
A
I
agree
with
you
that
consistency
is
important,
so
I,
because
there
are
those
things
where
it's
really
important:
to
return
a
new
copy,
all
the
time,
I
wonder
where
that's
like
reason
enough
to
stick
with
it.
C
A
But
you
have
to
remember
that
you're
not
really
creating
a
whole
new
map
when
you
do
that
all
you're
really
doing
is
creating
what
you
are
creating
whole
new
map.
But
what
does
that
map
actually
contain?
All
that
that
map
is
containing
is
the
same
either
the
pointer
to
the
same
data
or
the
same
reference
to
the
numba
array
and
a
modified
dictionary,
so
you're
actually
doing
is
creating
a
new
dictionary.
That's
all
the
extra
memory
you're
taking
up
anyway.
A
E
A
A
A
A
A
Are
you
still
working
on
that
metadata
ACP,
because
we
should
probably
be
making
notes
of
these
types
of
things
as
we
go
along?
You
counted
them
so
that
when
we
start
working
on
that
in
earnest,
we've
got
a
better
spec
for
it.
C
Yeah
I
have
I
mean
I
have
now
been
touching.
It
recently.
C
Let
me
make
any
notes,
add
too
much.
E
A
Yeah
we
should
and
I.
I
think
the
my
main
reservation
about
the
whole
metadata
handling
idea
at
the
moment
is
that
it's
going
to
it's
going
to
remove
an
awful
lot
of
code
from
that
map,
which
isn't
necessarily
a
bad
thing.
But
it
is
something
that
needs
to
be
considered
carefully
yeah
and
how
we
do
any
unification
between
map
and
like
of
the
metadata,
is
an
interesting
question.
I
think
we
might
end
up
with
a
common
base
and
then
two
distinct
subclass
trees
below
or
something
is
this,
especially
with
all
the
WCS
information.
A
A
No
no
way
there
are
way
away.
They
were
way
down
the
road
for
us,
but
it's
still
when
designing
something
like
the
metadata
thing,
it's
something,
but
we
should
take
into
account,
which
basically
I
think
boils
down
to
we're
going
to
need
to
separate
the
separate,
the
in-memory
representation
of
the
metadata
and
the
serialization
of
the
metadata,
because
generalized
WTS
objects,
at
least
for
most
solar
applications
will
be
serializable
to
Fitz
WCS,
but
they
won't
be
held
in
memory
like
that.
A
A
We
have
accepted
the
util
tests
thing
because
that
file
is
just
finished.
Let
me
just
double
check
that,
before
across
the
magic
bum
I
will
check,
for
that
is
just
time
out.
Unfortunately,
the
Sphinx
build
Shafter
yourself,
like
that.
If
some
build
error
gets
in
will
have
to
fix
it
in
a
separate
test,
but
yeah,
it's
term
laid
there's
no
way
around
that
for
the
moment
until
I
work
out
how
the
hell
to
fix
that
non-existent
error
that
I
cannot
replicate
locally
at
all,
not
even
a
little
bit
great.
A
A
See
now
that
there
that
has
been
em
that
has
been
shafted
by
the
online
build
crashing
again
for
some
different
new
and
exciting
reason.
You
see
if
his
coveralls
only
works
on
the
online
build
at
the
moment,
because
that's
the
one
that
has
the
highest
test
coverage
if
the
online
build
fails
so
does
coveralls,
which
makes
it
kind
of
difficult
to
test
whether
coveralls
works
at
all.
Oh
I
hate
the
online
test
build
wish.
It
was
all
offline.
F
A
Is
memory
map
is
built
built
into
afterlife?
It's
all
this
is
doing
is
allowing
you
to
is
just
passing
the
argument
through
basically
so
that
you
can
control
it.
No.
C
Se
and.
A
I
should
really
fix
it,
but
the
thing
is
I,
don't
think
we're
ever
going
to
make
it
work
for
aia
and
HMI
right
compressed
data
I,
don't
think
it's
ever
going
to
work
now.
Okay,
this
fail
is
Helio
viewer
shafting
itself,
including
in
the
offline
build
quite
as
healy
of
your
shafting
yourself
on
the
offline,
build
or
I
goes
back
to
that
other
pull
request.
We
really
need
to
have
a
way
to
force
the
offline
build
to
be
offline
so
that
it
errors
if
it
tries
to
access
the
internet.