Slide 1

Slide 1 text

An overview of Adrian Price-Whelan ! adrn " adrianprw

Slide 2

Slide 2 text

source: ADS

Slide 3

Slide 3 text

source: ADS Python IDL Matlab Perl

Slide 4

Slide 4 text

source: ADS Python IDL Matlab Perl Python is the de facto language in astronomical sciences

Slide 5

Slide 5 text

What is

Slide 6

Slide 6 text

Core package What is

Slide 7

Slide 7 text

Core package What is Community

Slide 8

Slide 8 text

Core package What is Community Ecosystem

Slide 9

Slide 9 text

Adrian Price-Whelan Lyman J. Spitzer, Jr. Fellow Princeton University Astropy user & maintainer ! adrn " adrianprw

Slide 10

Slide 10 text

I work on stellar dynamics in the Milky Way

Slide 11

Slide 11 text

I work on stellar dynamics in the Milky Way

Slide 12

Slide 12 text

I work on stellar dynamics in the Milky Way

Slide 13

Slide 13 text

I work on stellar dynamics in the Milky Way

Slide 14

Slide 14 text

eek I work on stellar dynamics in the Milky Way

Slide 15

Slide 15 text

eek I work on stellar dynamics in the Milky Way

Slide 16

Slide 16 text

eek I work on stellar dynamics in the Milky Way

Slide 17

Slide 17 text

eek I work on stellar dynamics in the Milky Way

Slide 18

Slide 18 text

I like to write code

Slide 19

Slide 19 text

I like to write code not recommended

Slide 20

Slide 20 text

What I use Python for: Data analysis / statistical modeling Dynamical models and simulations Analyze survey data Visualization

Slide 21

Slide 21 text

My roles in the Astropy project: Deputy maintainer of astropy.coordinates Deputy maintainer of astropy.units Infrastructure lead for Astropy tutorials Maintainer of affiliated package: Gala

Slide 22

Slide 22 text

How did I get involved?

Slide 23

Slide 23 text

My first contribution to Astropy: (core package)

Slide 24

Slide 24 text

My first contribution to Astropy: (core package) 0 new lines of code, ~4 lines of code rearranged

Slide 25

Slide 25 text

My first major contribution to Astropy: Following in-person meeting and discussion with core devs Erik T., Tom R., …

Slide 26

Slide 26 text

My first major contribution to Astropy: Following in-person meeting and discussion with core devs Erik T., Tom R., …

Slide 27

Slide 27 text

Now: Top contributors start small!

Slide 28

Slide 28 text

Key functionality and common tools needed for doing astronomy and astrophysics with Python The Astropy Core Package

Slide 29

Slide 29 text

Key functionality and common tools needed for doing astronomy and astrophysics with Python The Astropy Core Package For example: Unit conversion and representation in code Time manipulations and representations File I/O for astronomical data formats Coordinate transformations

Slide 30

Slide 30 text

For example: Units and coordinates

Slide 31

Slide 31 text

For example: Reading and writing tables

Slide 32

Slide 32 text

& so much more! physical constants (astropy.constants) units and quantities (astropy.units) Data Tables (astropy.table) Time and Dates (astropy.time) Coordinate Systems (astropy.coordinates) World Coordinate System (astropy.wcs) Models and Fitting (astropy.modeling) FITS File handling (astropy.io.fits) Cosmology (astropy.cosmology) Data Visualization (astropy.visualization) Astrostatistics Tools (astropy.stats)

Slide 33

Slide 33 text

& so much more! physical constants (astropy.constants) units and quantities (astropy.units) Data Tables (astropy.table) Time and Dates (astropy.time) Coordinate Systems (astropy.coordinates) World Coordinate System (astropy.wcs) Models and Fitting (astropy.modeling) FITS File handling (astropy.io.fits) Cosmology (astropy.cosmology) Data Visualization (astropy.visualization) Astrostatistics Tools (astropy.stats)

Slide 34

Slide 34 text

A collaborative effort ~240 contributors ~20 package leads & maintainers Who develops the Astropy Core Package?

Slide 35

Slide 35 text

A collaborative effort ~240 contributors ~20 package leads & maintainers Who develops the Astropy Core Package?

Slide 36

Slide 36 text

A collaborative effort ~240 contributors ~20 package leads & maintainers Who develops the Astropy Core Package?

Slide 37

Slide 37 text

Maintainers Deputies

Slide 38

Slide 38 text

Maintainers Deputies

Slide 39

Slide 39 text

Maintainers Deputies • Evaluating & merging new pull requests by sub-package • Feature development & issue tracking

Slide 40

Slide 40 text

The Astropy Coordination Committee Erik Tollerud Kelle Cruz Tom Aldcroft Tom Robitaille • Overall coordination and management of the Astropy project • Evaluating new affiliated packages • Arbitrating disagreements in the core package • Managing finances for the project

Slide 41

Slide 41 text

Open source The Astropy Core Package

Slide 42

Slide 42 text

Open development The Astropy Core Package

Slide 43

Slide 43 text

Open development The Astropy Core Package

Slide 44

Slide 44 text

Open development The Astropy Core Package

Slide 45

Slide 45 text

Workflow almost entirely on GitHub The Astropy Core Package

Slide 46

Slide 46 text

Software testing & Continuous integration The Astropy Core Package

Slide 47

Slide 47 text

Software testing & Continuous integration The Astropy Core Package the “Build matrix”

Slide 48

Slide 48 text

The Astropy Papers hacking the attribution system 2013 2018

Slide 49

Slide 49 text

The Astropy Community “Our goal is to keep ours a positive, inclusive, successful, and growing community” - the Astropy code of conduct!

Slide 50

Slide 50 text

What is The Astropy Community? …us! — Users & developers Many entry points: - Mailing lists: users, developers - Slack - Regular telecons - New: Astropy event calendar Conferences: - AAS workshops - Python in Astronomy - Coordination meetings In all forums, venues, contexts, follow the Astropy code of conduct!

Slide 51

Slide 51 text

Core package: General tools, long-term stable, longer release schedule Affiliated packages: More specialized tools, faster development and release cycle - Can also be Astropy-coordinated, managed by the Astropy project The Astropy Ecosystem Core package + affiliated packages http://affiliated.astropy.org/

Slide 52

Slide 52 text

Astropy-coordinated: photutils: detect and perform photometry of sources astroquery: tools for querying astronomical databases The Astropy Ecosystem Example affiliated packages Affiliated: poliastro: astrodynamics and orbital mechanics astroML: Astronomical machine learning and data mining http://affiliated.astropy.org/

Slide 53

Slide 53 text

The Astropy Ecosystem Making it easier for scientists to package their software https://github.com/astropy/package-template Astropy package template: Provides template setup, installation, and documentation infrastructure e.g., template setup.py and build structure, Sphinx documentation, Py.test testing, Travis CI config.

Slide 54

Slide 54 text

Need detailed reference and examples? Check the documentation! Find a bug? Need more examples? Make a GitHub issue! Know how to fix it? Want to add examples? Submit a pull request! Want to add cool new things / features? Best to chat to developers first via mailing lists, slack How to Use Astropy

Slide 55

Slide 55 text

New initiative: "Learn Astropy" Funding from STScI to develop educational resources, e.g., tutorials Speak to Lia Corrales (or me, Kelle) if interested in contributing! How to learn Astropy

Slide 56

Slide 56 text

After rapid growth of the project, now in plateau, need for stabilization How do we get back on the growth curve? Many lead / maintainer roles unfilled How do we prevent burnout and support devs? User -> Contributor -> Maintainer? We have applied for serious funding (>$106) As the project grows (esp. w/ official funding), how do we preserve the development culture? Challenges & The Future

Slide 57

Slide 57 text

Questions?