The first annual NumFOCUS Awards Dinner was held at the NumFOCUS Summit on the evening of Saturday, September 22, 2018.
As part of building a culture of recognition and mutual respect, we recognized award recipients who have made substantial contributions to our projects, to our ecosystem, and to the open source scientific computing movement. These awards are meant to highlight exceptional technical, community, and organizational efforts supporting our projects.
We also took time to recognize and honor new contributors to our community — these contributors were selected by the leaders of their project for particular recognition.
NumFOCUS congratulates and thanks all honorees for their outstanding contributions to our community.
Community Leadership Award
Ian was instrumental in launching and growing the PyData London conference and meetup chapter — the largest and most active in the world (over 8k members!). His tireless efforts and good humour (spelled the British way) helped build an incredibly robust community of PyData enthusiasts in the UK. Many regard Ian as a mentor and role model, and he continues to successfully champion new growth for PyData in Europe and elsewhere.
Project Sustainability Award
Kelle has been an incredibly effective advocate for Astropy within the astronomy community. Her work to help organize and formalize the processes and governance of the project have created a strong structure for future growth of the project. Kelle has also been a leader in creating and maintaining a culture of inclusion within Astropy, which has resulted in successful recruitment and retention of a diverse contributor base. Her efforts have meaningfully advanced Astropy along the path to long-term sustainability for the project.
Corporate Stewardship Award
Shahrokh has been a champion of NumFOCUS projects and programs within Microsoft for a number of years. Thanks to his advocacy, PyData Seattle was held at Microsoft for the first time in 2015 and then again in 2017; Microsoft has also played host to PyData NYC as well as, most recently, the NumFOCUS Summit. Shahrokh is an evangelist and active participant for corporate support of open source scientific computing.
New Contributor Acknowledgments
While a long-time contributor, Lia Corrales has stepped up in the last year as the content lead for the Astropy Tutorials. As part of this she has organized several tutorials workshops and co-working time, and her efforts have brought new life to this previously under-supported yet important element of the Astropy Project.
Simon Conseil has been a steady contributor to the astropy core package since 2015, with more than 100 pull requests merged. He has more recently taken on the daunting role of being a maintainer for a complex and abstruse I/O package in astropy which interfaces with FITS, the dominant data format in astronomy. The original (and sole) developer of this package left the project several years ago, and Simon has now taken on a leadership role for this package. He has contributed important new functionality and made fixes to the FITS code and participated in reviews that were not at all trivial.
Karel van de Plassche
Karel has made contributions to Bokeh infrastructure, including a Docker container, as well as fixed several bugs related to Bokeh data sources. He has also provided valuable support help to users on the Gitter chat channel.
Eugene first arrived on the Bokeh tracker in early 2017. He has made more than 40 issues, resulting in useful discussions and 20 valuable completed PRs. He himself has made a dozen PRs so far, making improvements to documentation, thread safety, and Bokeh widgets.
Anthony is one of the more recent new contributors, and showed up with a laser focus. He added missing hit-testing capability so several glyphs, and made fixes to bugs in hit-testing in others.
Bang-Shiuh Chen is a graduate student at Purdue University who is using Cantera as part of his research. He has rapidly matured from the early days as a new user with no experience with C++ or contributing to open source software, to implementing new capabilities, submitting them as pull requests, and working with the other developers to fully integrate these features into Cantera. The new features implemented by Bang-Shiuh, which include calculation of transport properties for ionized species and the implementation of a model for simulating ionized flames, extend the physical modeling capabilities of Cantera in a way which will be useful to many other Cantera users. The modifications made in order to add this model are in a part of Cantera, the 1D flame solver, which many users are interested in modifying but often struggle with due to the complexity of the numerical methods involved. Bang-Shiuh’s additions can serve as a blueprint for future users who wish to make similar modifications.
Through her participation in the Google Summer of Code program this year, Yuanjie made two very important contributions to the Cantera software community. First, she developed a plug flow reactor model with surface chemistry, which has been incorporated as an example to be distributed with the software download. This is an item that has been on the wishlist for a number of Cantera users and developers for some time, and her work both addresses an important need in the community and also serves as a platform that can be extended with additional capabilities going forward. Second, Yuanjie’s participation serves as an exemplary case for how to broaden the base of Cantera developers and contributors. Through her interactions with other developers and her ability to incorporate improvements to her code, Yuanjie serves as an important example for how other Cantera users can become Cantera developers and make significant contributions to the code base.
Christopher Wright (CJ) is one of the newest members of the conda-forge core team. However, in that short amount of time he has lead a revolution in the automation of conda-forge package updates and migrations. CJ, together with the GSoC student Justin Calamari whom he mentored with summer, implemented what has become affectionately known as “The Bot,” which is a feedstock modification framework capable of “topologically crawling” conda-forge’s dependency graph. This tooling is now being used to solve one the panoply of challenges that face conda-forge on a daily basis. This includes the hardest task to-date: a complete rebuild of all conda-forge packages using new compilers in order to be ABI compatible with modern versions of C++. Thanks to CJ and the rest of the Bot team that worked with him, conda-forge will be able to complete this herculean task in just a few weeks, rather than the years it took to perform previous smaller, more benign migrations.
There are many advantages to having software packaged in popular distribution formats. For one, it makes it easy for users to try out a package without committing a lot of time to compiling from source. Ubuntu packages are one of the most popular ways for users to install FEniCS. During our transition from Python2 to Python3, Drew was very helpful in packaging FEniCS for Ubuntu and Debian. Now he has taken up the challenge of packaging the
latest version, with pybind11 as a dependency. Keeping all the dependencies working can be very time consuming! We would like to recognize his contribution to the sustainability of the FEniCS community.
Pietro has, over the last few months, helped create significant new libraries that make building web user interfaces in Julia state of the art. He’s been one of our GSoC students this summer, but has made significant contributions both before and after, taking ownership of large parts of our web UI platforms.
Michael has helped expand the Julia ecosystem by working on providing interoperability with other languages, frameworks and databases. He has also been very active in helping new users on our forums.
The JuMP steering committee would like to recognize Issam Tahiri both for his leadership and service as a local organizer for the JuMP-dev workshop at the University of Bordeaux this year, and for his technical contributions to the MathOptInterface API. Issam arranged the venue, coffee breaks, and recordings for the workshop that had 19 talks and over 40 attendees. The workshop’s success is thanks in large part to his work. He also contributed to or supervised updates for the Cbc, Clp, CPLEX, and GLPK solver wrappers to the new MathOptInterface API. Issam has had a clear impact on JuMP since he joined the community last year.
Jeff Trevino, who created a Hydrogen plugin to render Abjad musical compositions in Atom, even presenting a poster at JupyterCon. Abjad-compile is a great example of extending hydrogen in a new way. We would love to see more ideas like this come to life. There is a lot we could do to make hydrogen even more extensible, and seeing work like Jeff’s inspires me to work on that.
Kyle Barron, a new contributor to hydrogen since his first PR around the summer sprints. Since then he has been a huge help responding to issues and making both bug fixes and enhancement PRs. He solved a long standing bug and python user pain point (running individual indented lines), by fixing it in the core language python package. He is also developing a Stata kernel.
Vincent Lortie has been contributing Azure storage read/write for papermill, improved testing, and helping carve out our 1.0 release of papermill.
Eric started contributing to NumPy in the Summer of 2016, and in the short time from then he has made a major impact on the project. He has worked tirelessly on almost every maintenance task imaginable – from fixing bugs to triage, code review, guiding new contributors, and proposing and developing new features. His contributions have been of a very high technical standard, and have made NumPy’s code base more robust and approachable for other developers. As one particular example of the level at which Eric operates even though he started to contribute only recently: he rewrote the linear algebra component, which included updating the LAPACK source (fortran); rewriting the interface to it in terms of numpy’s universal functions (C), such that the routines can be used for stacks of matrices instead of just with single ones, and also more easily allow non-numpy array mimics to override the implementation; and, along the way, considerably simplifying the user-facing implementation (python). Quantitatively, since he started just over 2 years ago, Eric has made over 400 pull requests, the most of any contributor in that period. As a result, he now ranks 6th by number of commits on github. But what really makes us so happy to have him on the team, is that so much of his contributions is unusually selfless in being aimed at making the code clearer, more logical and more maintainable (instead of adding stuff that, yes, is nice, but has a clear cost in code complexity), and that much of his total effort is spent ensuring that contributions from others are similarly good, all in a highly constructive manner.
Marc was the driving force behind the pandas documentation sprint, which took place in March. Thanks primarily to Marc’s community building and organization, almost 500 individuals participated in improving pandas documentation that day. Since then, Marc has been on a personal mission to make pandas easier to learn and use.
Erik Sundell is recognized for their contributions on JupyterHub. Erik has contributed extensively to the Zero to JupyterHub guide, the Kubernetes deployment of JupyterHub, and sharing his experience using JupyterHub in his secondary school classes.
Maarten Breddels is recognized for his technical work on ipyvolume, Jupyter Widgets, and JupyterLab. He has helped Jupyter provide state of the art visualizations.
Elizabeth Wickes is recognized for her community and educational work advocating the use of notebooks in teaching in Python and Jupyter. UIUC, the Midwest Big Data Hub, the Carpentries, and the Library Science communities benefit from her “teaching with notebooks” talks and open source teaching materials.
Saul Shanabrook is recognized for his enthusiastic and diligent work on JupyterLab development. He has also been a positive force in creating welcoming community during sprints and events.
Jessica Forde is recognized for her work on documentation and user engagement on JupyterLab and her international outreach for JupyterHub, Binder, Machine Learning, and the Scientific Python stack.
Bill joined the PyMC3 project last year as one of our first Google Summer of Code students. During that summer, he contributed significantly to the project by adding Gaussian process (GP) methods to PyMC3. Very much in accordance with the spirit of the project, his work allows applied users to easily implement this flexible approach for regression and classification, allowing what is otherwise a very complicated analysis to be carried out in just a few lines of PyMC code. Bill has just followed up this work with a second GSoC summer project that further improved the performance of the GP module for use with larger datasets. Throughout the past year and a half, he has been an exemplary collaborator and member of the project in general. We look forward to his continued participation in shaping the future of PyMC3, and probabilistic programming in general.
Jesse has recently coordinated and contributed to QuantEcon’s efforts to support Julia 1.0. This has involved substantial work rethinking the organization of our online lectures. Jesse’s knowledge of the lectures, having used QuantEcon materials to teach a class at University of British Columbia, has been invaluable to improving their usefulness for users. Additionally, Jesse has involved new research assistants to help build the infrastructure and test the lectures.
Dr. Ross is a senior scientist at Ecohealth Alliance and an passionate advocate for open and reproducible research practices. Noam was one of the earliest members outside of rOpenSci that took an interest in our software review process and was instrumental in shaping the program. Noam joined the editorial team in February 2016 and has spent countless hours volunteering his time.
Dr. Salmon is a research software engineer with rOpenSci. She started as a volunteer with rOpenSci while she was a statistician and data manager for the CHAI project. Maëlle joined the editorial team in February 2017 after contributing and reviewing many packages. She continues to be a relentless advocate for new rOpenSci community members, while also contributing to our software review effort and software maintenance.
Giovanni De Toni
Giovanni got involved early in 2017, sending some very high quality patches with a great amount of independent work. During his excellent 2017 GSoC project, Giovanni linked Shogun to Tensorboard, and did some other work which lay ground for exposing details of Shogun’s (blackbox) models to an external API, for downstream meta analysis. At the Shogun hackathon in late 2017, Giovanni was an active participant in phrasing ideas for future development of Shogun. In GSoC 2018, instead of participating as a student for the second time, Giovanni stepped up and co-mentored a student on a follow-up GSoC project called “Inside the black box”. Giovanni is now a developer with full commit rights to Shogun. It is rare that new contributors reach this state after such a short amount of time and we greatly appreciate his contributions.
Vishnunarayan K I
For exceptional dedication to providing a thorough and well-documented contribution to update SunPy to a modern astronomical time system.
Deepak is a physical oceanographer studying ocean dynamics, turbulence, and mixing processes. He uses xarray for the analysis and visualization of ocean observations and simulations. Deepak has taken an impressive initiative towards improving xarray’s plotting capabilities, adding many new features and increasing flexibility in order to better handle the diverse range of data encountered in his oceanographic research. These features have turned out to have benefits for a broad range of xarray users in different fields. Deepak recently became an xarray maintainer. Our community is very grateful for his contributions.
An important future direction for xarray is the integration with machine learning frameworks, which don’t natively consume / produce xarray data structures. Julia has used her software engineering expertise to take on some hard problems in xarray that will improve its interoperability with other libraries. She implemented a new serialization method for xarray datasets to / from dictionaries. And she has developed features that make it easy to flatten xarray datasets, feed them to ML libraries like scikit-learn and dask-ml, and then reconstitute new xarray datasets from the outputs. We hope Julia will continue her work helping to bring machine learning to multidimensional labeled array data in xarray and across the scipy ecosystem.
Ashley Kelly participated in Google Summer of Code this year with yt via the NumFOCUS umbrella org. rom the outset, Ashley proposed a very ambitious plan. Privately I felt that the plan was probably overambitious but with the expectation that we would likely descope the plan, we decided to press ahead wit the project. Not only did we not need to descope, In my opinion Ashley exceeded his original plans. We are now in a much better position to ship major new features next year thanks to Ashley’s efforts.
Corentin Cadiou began contributing to yt completely unprompted by any of the core developers, working from Europe without in-person contact from the bulk of the yt contributor base in the United States. Corentin has substantially improved support for simulation data produced by the RAMSES code, and has contributed a number of other bugfixes, performance improvements, and nice new features. Corentin has doggedly made sure that his code gets merged and regularly helps out new users on Slack and the mailing list. Thanks to his efforts future RAMSES users and users of octree AMR codes will have a much nicer experience with yt than when he began contributing.