Sharing Reproducible Python Environments with Binder Sarah Gibson - - PowerPoint PPT Presentation

sharing reproducible python environments with binder
SMART_READER_LITE
LIVE PREVIEW

Sharing Reproducible Python Environments with Binder Sarah Gibson - - PowerPoint PPT Presentation

Sharing Reproducible Python Environments with Binder Sarah Gibson Pronouns: she/her @drsarahlgibson @mybinderteam #EuroPython https://doi.org/10.5281/zenodo.3937310 What is Reproducibility? @drsarahlgibson @mybinderteam #EuroPython


slide-1
SLIDE 1

Sharing Reproducible Python Environments with Binder

Sarah Gibson

Pronouns: she/her

@drsarahlgibson @mybinderteam #EuroPython https://doi.org/10.5281/zenodo.3937310

slide-2
SLIDE 2

What is Reproducibility?

@drsarahlgibson @mybinderteam #EuroPython https://doi.org/10.5281/zenodo.3937310

slide-3
SLIDE 3

Kirstie Whitaker’s talk at PyData LDN: https://youtu.be/IG3PcZ6EhiU https://the-turing-way.netlify.app/reproducible-research/overview/overview- definitions.html#table-of-definitions-for-reproducibility

Data

Same Different

Analysis

Same

Reproducible Replicable

Different

Robust Generalisable

@drsarahlgibson @mybinderteam #EuroPython https://doi.org/10.5281/zenodo.3937310

slide-4
SLIDE 4

Data

Same Different

Analysis

Same

Reproducible Replicable

Different

Robust Generalisable

Repeatable

Kirstie Whitaker’s talk at PyData LDN: https://youtu.be/IG3PcZ6EhiU https://the-turing-way.netlify.app/reproducible-research/overview/overview- definitions.html#table-of-definitions-for-reproducibility

@drsarahlgibson @mybinderteam #EuroPython https://doi.org/10.5281/zenodo.3937310

slide-5
SLIDE 5

Barriers to reproducible research

Held to higher standards than

  • thers

Is not considered for promotion Takes time Requires additional skills Publication bias towards novel findings Plead the 5th Support additional users

Kirstie Whitaker’s talk at PyData LDN: https://youtu.be/IG3PcZ6EhiU @drsarahlgibson @mybinderteam #EuroPython https://doi.org/10.5281/zenodo.3937310

slide-6
SLIDE 6

Market Research

@drsarahlgibson @mybinderteam #EuroPython https://doi.org/10.5281/zenodo.3937310

slide-7
SLIDE 7

Have you ever heard…?

“Oh, it worked on my computer?”

@drsarahlgibson @mybinderteam #EuroPython https://doi.org/10.5281/zenodo.3937310

slide-8
SLIDE 8

Have you ever heard…?

“Oh, it worked yesterday?”

@drsarahlgibson @mybinderteam #EuroPython https://doi.org/10.5281/zenodo.3937310

slide-9
SLIDE 9

“Oh, it worked on my computer?” “Oh, it worked yesterday?”

+ CI

@drsarahlgibson @mybinderteam #EuroPython https://doi.org/10.5281/zenodo.3937310

slide-10
SLIDE 10

Binder

@drsarahlgibson @mybinderteam #EuroPython https://doi.org/10.5281/zenodo.3937310

slide-11
SLIDE 11

– Project Binder is a global community – The mybinder.org service allows anyone to launch a complete, interactive computing environment from their browser

@drsarahlgibson @mybinderteam #EuroPython https://doi.org/10.5281/zenodo.3937310

slide-12
SLIDE 12

gw-openscience.org/tutorials/

📹 flickr.com/photos/cwkarl/24984166005 @drsarahlgibson @mybinderteam #EuroPython https://doi.org/10.5281/zenodo.3937310

slide-13
SLIDE 13

Courtesy of Juliette Taka https://twitter.com/mybinderteam/status/1082556317842264064

mybinder.org

@drsarahlgibson @mybinderteam #EuroPython https://doi.org/10.5281/zenodo.3937310

slide-14
SLIDE 14

Courtesy of Juliette Taka https://twitter.com/mybinderteam/status/1082556317842264064 @drsarahlgibson @mybinderteam #EuroPython https://doi.org/10.5281/zenodo.3937310

slide-15
SLIDE 15

mybinder.org

Courtesy of Juliette Taka https://twitter.com/mybinderteam/status/1082556317842264064 @drsarahlgibson @mybinderteam #EuroPython https://doi.org/10.5281/zenodo.3937310

slide-16
SLIDE 16

Courtesy of Juliette Taka https://twitter.com/mybinderteam/status/1082556317842264064

mybinder.org

@drsarahlgibson @mybinderteam #EuroPython https://doi.org/10.5281/zenodo.3937310

slide-17
SLIDE 17
  • Launched by Jeremy Freeman in 2015
  • First Binder and Jupyter meeting in January 2017
  • First half of 2017 spent redeveloping the backend into what is now BinderHub
  • Sept 24, 2017 – Moore Foundation Binder proposal accepted

@drsarahlgibson @mybinderteam #EuroPython https://doi.org/10.5281/zenodo.3937310

slide-18
SLIDE 18

mybinder.org

https://binderhub.readthedocs.io @drsarahlgibson @mybinderteam #EuroPython https://doi.org/10.5281/zenodo.3937310

slide-19
SLIDE 19

Technology

@drsarahlgibson @mybinderteam #EuroPython https://doi.org/10.5281/zenodo.3937310

slide-20
SLIDE 20

BinderHub

Clone GitHub Repo

1

@drsarahlgibson @mybinderteam #EuroPython https://doi.org/10.5281/zenodo.3937310

slide-21
SLIDE 21

BinderHub

Clone GitHub Repo

1

Build image according to instructions contained within the repo

2

@drsarahlgibson @mybinderteam #EuroPython https://doi.org/10.5281/zenodo.3937310

slide-22
SLIDE 22

BinderHub

Clone GitHub Repo

1

Build image according to instructions contained within the repo

2

Execute image

3

@drsarahlgibson @mybinderteam #EuroPython https://doi.org/10.5281/zenodo.3937310

slide-23
SLIDE 23

BinderHub

Clone GitHub Repo

1

Build image according to instructions contained within the repo

2 3

Allocate computational resources

4

@drsarahlgibson @mybinderteam #EuroPython https://doi.org/10.5281/zenodo.3937310 Execute image

slide-24
SLIDE 24

Execute image

BinderHub

Clone GitHub Repo

1

Build Container according to instructions contained within the repo

2 3

Allocate computational resources

4

What is a JupyterHub?

JupyterHub is a way to help your humans use your computers. With notebooks!

All icons were obtained from Flaticon (https://www.flaticon.com/packs/essential-collection)

@drsarahlgibson @mybinderteam #EuroPython https://doi.org/10.5281/zenodo.3937310

slide-25
SLIDE 25

BinderHub

Clone GitHub Repo

1

Build image according to instructions contained within the repo

2 3

Allocate computational resources

4

@drsarahlgibson @mybinderteam #EuroPython https://doi.org/10.5281/zenodo.3937310 Execute image

slide-26
SLIDE 26

BinderHub

Clone GitHub Repo

1

Build image according to instructions contained within the repo

2 3 4 5

Make image accessible at mybinder.org/some_url Allocate computational resources @drsarahlgibson @mybinderteam #EuroPython https://doi.org/10.5281/zenodo.3937310 Execute image

slide-27
SLIDE 27

BinderHub

Clone GitHub Repo

1

Build image according to instructions contained within the repo

2 3 4 5

Make image accessible at mybinder.org/some_url Redirect User to mybinder.org/some_url

6

Allocate computational resources @drsarahlgibson @mybinderteam #EuroPython https://doi.org/10.5281/zenodo.3937310 Execute image

slide-28
SLIDE 28

Scaling up with the Federation

@drsarahlgibson @mybinderteam #EuroPython https://doi.org/10.5281/zenodo.3937310

slide-29
SLIDE 29

https://blog.jupyter.org/a-2019-retrospective-from- the-binder-project-57a449517362 @drsarahlgibson @mybinderteam #EuroPython https://doi.org/10.5281/zenodo.3937310

slide-30
SLIDE 30

https://binderhub.readthedocs.io/en/latest/federation/ federation.html#federation-joining On-prem @ Leibniz Institute for Social Sciences @drsarahlgibson @mybinderteam #EuroPython https://doi.org/10.5281/zenodo.3937310

slide-31
SLIDE 31

User Survey

📹 Photo by Luke Chesser on Unsplash @drsarahlgibson @mybinderteam #EuroPython https://doi.org/10.5281/zenodo.3937310

slide-32
SLIDE 32

From 346 responses https://github.com/sgibson91/mybinder.org-user-survey-nlp @drsarahlgibson @mybinderteam #EuroPython https://doi.org/10.5281/zenodo.3937310

slide-33
SLIDE 33

From 346 responses https://github.com/sgibson91/mybinder.org-user-survey-nlp @drsarahlgibson @mybinderteam #EuroPython https://doi.org/10.5281/zenodo.3937310

slide-34
SLIDE 34

From 346 responses https://github.com/sgibson91/mybinder.org-user-survey-nlp

If you could change one thing about Binder, what would it be?

@drsarahlgibson @mybinderteam #EuroPython https://doi.org/10.5281/zenodo.3937310

slide-35
SLIDE 35

Picking up speed

UPSTREAM

@drsarahlgibson @mybinderteam #EuroPython https://doi.org/10.5281/zenodo.3937310

slide-36
SLIDE 36

Community Guidance

https://discourse.jupyter.org/t/how-to-reduce-mybinder-org- repository-startup-time/4956

We have written advice on best practices for achieving faster launch times

@drsarahlgibson @mybinderteam #EuroPython https://doi.org/10.5281/zenodo.3937310

slide-37
SLIDE 37

Community – Value meeting communities where they are – Diversify our skills

@drsarahlgibson @mybinderteam #EuroPython https://doi.org/10.5281/zenodo.3937310

slide-38
SLIDE 38

Find out more and get involved

– GitHub: https://github.com/jupyterhub/binderhub – Website: https://mybinder.readthedocs.io and https://mybinder.org – Discourse: https://discourse.jupyter.org/c/binder – Gitter: https://gitter.im/jupyterhub/binder – Twitter: @mybinderteam – Binder tutorial: bit.ly/zero-to-binder-python – Build a BinderHub: bit.ly/zero-to-binderhub-workshop

@drsarahlgibson @mybinderteam #EuroPython https://doi.org/10.5281/zenodo.3937310