Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Astropy and the Open Source Revolution in Astro...

Astropy and the Open Source Revolution in Astronomy

Talk given at .Astronomy Seven in Sydney (http://dotastronomy.com/events/seven/). Slides available under a Creative Commons Attribution-NonCommercial 4.0 International (CC BY-NC 4.0) license (http://creativecommons.org/licenses/by-nc/4.0/).

Thomas Robitaille

November 04, 2015
Tweet

More Decks by Thomas Robitaille

Other Decks in Science

Transcript

  1. Open Source Code :| No license does not mean free/open

    source! Examples: Supermongo, any unlicensed code, etc. Binaries :’( Examples: Keynote, PowerPoint, etc. Closed
  2. Open Source Code :| No license does not mean free/open

    source! Examples: Supermongo, any unlicensed code, etc. :) Includes license that gives right to study, change, redistribute Open Source/Free So!ware Examples: CASA, IRAF, DS9, etc. Binaries :’( Examples: Keynote, PowerPoint, etc. Closed
  3. Open Source Code :| No license does not mean free/open

    source! Examples: Supermongo, any unlicensed code, etc. :) Includes license that gives right to study, change, redistribute Open Source/Free So!ware Examples: CASA, IRAF, DS9, etc. Binaries :’( Examples: Keynote, PowerPoint, etc. Open development Discussion is done in the open and anyone can join in! Examples: ENZO, yt, SunPy, Astropy, etc. :D Closed
  4. Open Source Code :| No license does not mean free/open

    source! Examples: Supermongo, any unlicensed code, etc. :) Includes license that gives right to study, change, redistribute Open Source/Free So!ware Examples: CASA, IRAF, DS9, etc. Binaries :’( Examples: Keynote, PowerPoint, etc. Open development Discussion is done in the open and anyone can join in! Examples: ENZO, yt, SunPy, Astropy, etc. :D Closed This talk
  5. The Astropy Project is a community effort to develop a

    single core package for Astronomy in Python and foster interoperability between Python astronomy packages.
  6. • Ryan Abernathey • Shailesh Ahuja • Tom Aldcro" •

    Anne Archibald • Cristian Ardelean • Matteo Bachetti • Kyle Barbary • Geert Barentsen • Pauline Barmby • Paul Barrett • Andreas Baumbach • Chris Beaumont • Daniel Bell • Kristin Berry • Francesco Biscani • Thompson Le Blanc • Christopher Bonnett • Joseph Jon Booker • Médéric Boquien • Azalee Bostroem • Matthew Bourque • Larry Bradley • Gustavo Bragança • Erik M. Bray • Eli Bressert • Hannes Breytenbach • Hugo Buddelmeijer • Doug Burke • Mihai Cara • Patti Carroll • Mabry Cervin • Pritish Chakraborty • Alex Conley • Jean Connelly • Simon Conseil • Ryan Cooke • Yannick Copin • Matthew Craig • Steven Crawford • Neil Crighton • Kelle Cruz • Daniel Datsev • Matt Davis • Christoph Deil • Nadia Dencheva • Jörg Dietrich • Axel Donath • Michael Droettboom • Zach Edwards • Jonathan Eisenhamer • Thomas Erben • Henry Ferguson • Jonathan Foster • Ryan Fox • Lehman Garrison • Simon Gibbons • Adam Ginsburg • Christoph Gohlke • Danny Goldstein • Perry Greenfield • Dylan Gregersen • Austen Groener • Frédéric Grollier • Karan Grover • Kevin Gullikson • Hans Moritz Günther • Alex Hagen • Paul Hirst • Moataz Hisham • Michael Hoenig • Emma Hogan • Derek Homeier • Chris Hanley • JC Hsu • Anthony Horton • Eric Jeschke • Joseph Jon Booker • Sarah Kendrew • Marten van Kerkwijk • Wolfgang Kerzendorf • Lennard Kiehl • Rashid Khan • Dominik Klaes • Kacper Kowalik • Roban Hultman Kramer • Arne de Laat • Antony Lee • Simon Liedtke • Pey Lian Lim • Joseph Long • Joe Lyman • Vinayak Mehta • Aaron Meisner • Serge Montagnac • José Sabater Montes • Brett Morris • Michael Mueller • Stuart Mumford • Demitri Muna • Prasanth Nair • Bogdan Nicula • Asra Nizami • Joe Philip Ninan • Bryce Nordgren • Miruna Oprescu • Carl Osterwisch • Luigi Paioro • Asish Panda • Madhura Parikh • Neil Parley • Sergio Pascual • Rohit Patil • David Perez-Suarez • Ray Plante • Orion Poplawski • Adrian Price-Whelan • J. Xavier Prochaska • David Pérez-Suárez • Tanuj Rastogi • Thomas Robitaille • Juan Luis Cano Rodríguez • Evert Rol • Alex Rudy • Joseph Ryan • Eloy Salinas • Gerrit Schellenberger • David Shiga • Albert Y. Shih • David Shupe • Jonathan Sick • Leo Singer • Brigitta Sipocz • Shivan Sornarajah • Shantanu Srivastava • Ole Streicher • Matej Stuchlik • Bernardo Sulzbach • James Taylor • Jeff Taylor • Kirill Tchernyshyov • Víctor Terrón • Scott Thomas • Erik Tollerud • James Turner • Jake VanderPlas • Miguel de Val-Borro • Jonathan Whitmore • Julien Woillez • Lisa Walter • Benjamin Alan Weaver • Jonathan Whitmore • Julien Woillez • Víctor Zabalza Project Coordinators: Perry Greenfield (STScI), Thomas Robitaille (MPIA), Erik Tollerud (Yale) Developers/Contributors for core package (as of 1st Nov 2015):
  7. 4 major public releases (first release February 2013) Latest stable

    version: v1.0.6 (released 22nd October 2015) Over 150 individual contributors so far! Almost 14,000 commits (as of 1st November 2015) Astropy Core Package
  8. Image reprojection Publication-quality image plotting Machine learning Photometry Interface to

    many web services/archives Gamma-ray data analysis CCD image reduction Interfaces to ds9 Spectroscopic analysis ‘Big’ spectral cube analysis (e.g. ALMA, etc.) Spectral cube slicing <your package here!> etc. Astropy-affiliated packages
  9. [AstroPy] PyAstronomy Stefan Czesla • [AstroPy] Proliferating py-astro-libs Marshall Perrin

    ◦ [AstroPy] Proliferating py-astro-libs Wolfgang Kerzendorf ▪ [AstroPy] Proliferating py-astro-libs Stefan Czesla ▪ [AstroPy] Proliferating py-astro-libs Erik Tollerud ▪ [AstroPy] Proliferating py-astro-libs Erik Bray ◦ [AstroPy] Proliferating py-astro-libs Taro Sato ▪ [AstroPy] Proliferating py-astro-libs Thomas Robitaille ◦ [AstroPy] Proliferating py-astro-libs Thomas Robitaille ▪ [AstroPy] Proliferating py-astro-libs Perry Greenfield ▪ [AstroPy] Proliferating py-astro-libs Erik Tollerud ▪ [AstroPy] Proliferating py-astro-libs Perry Greenfield ▪ [AstroPy] Proliferating py-astro-libs James Turner ▪ [AstroPy] Proliferating py-astro-libs James Turner ▪ [AstroPy] Proliferating py-astro-libs Perry Greenfield ▪ [AstroPy] Proliferating py-astro-libs Kelle Cruz ▪ [AstroPy] Proliferating py-astro-libs Tom Aldcroft ▪ [AstroPy] Proliferating py-astro-libs Matthew Turk ▪ [AstroPy] Proliferating py-astro-libs Mubdi Rahman ▪ [AstroPy] Proliferating py-astro-libs Perry Greenfield ▪ [AstroPy] Proliferating py-astro-libs Tommy Grav ▪ [AstroPy] Proliferating py-astro-libs Perry Greenfield ▪ [AstroPy] Proliferating py-astro-libs Tommy Grav ▪ [AstroPy] Proliferating py-astro-libs Christoph Deil ▪ [AstroPy] Proliferating py-astro-libs James Turner ▪ [AstroPy] Proliferating py-astro-libs Kelle Cruz ▪ [AstroPy] Proliferating py-astro-libs Thomas Robitaille ▪ [AstroPy] Proliferating py-astro-libs Victoria G. Laidler ▪ [AstroPy] Proliferating py-astro-libs James Turner ▪ [AstroPy] Proliferating py-astro-libs Thomas Robitaille ▪ [AstroPy] Proliferating py-astro-libs Perry Greenfield ▪ [AstroPy] Proliferating py-astro-libs Erik Tollerud ▪ [AstroPy] Proliferating py-astro-libs Marcel Haas ▪ [AstroPy] Proliferating py-astro-libs Neil Crighton ▪ [AstroPy] organizing meetings to organize astropy Marshall Perrin ▪ [AstroPy] Proliferating py-astro-libs Mark Sienkiewicz ▪ [AstroPy] Proliferating py-astro-libs Thomas Robitaille etc ...
  10. First Astropy Coordination Meeting - Center for Astrophysics, 2011 (followed

    by STScI in 2012, Yale in 2013) In-person meetings are crucial
  11. def  test_constellations():        #  the  actual  test  for

     accuracy  is  in  test_funcs  -­‐  this  is  just  meant  to  make        #  sure  we  get  sensible  answers        sc  =  SkyCoord(135*u.deg,  65*u.deg)        assert  sc.get_constellation()  ==  'Ursa  Major'        assert  sc.get_constellation(short_name=True)  ==  'UMa'        scs  =  SkyCoord([135]*2*u.deg,  [65]*2*u.deg)        npt.assert_equal(scs.get_constellation(),  ['Ursa  Major']*2)        npt.assert_equal(scs.get_constellation(short_name=True),  ['UMa']*2) (x 10,000)