Enhancements made in SciPy at Quansight Labs
ਗਗਨਦੀਪ ਸਿੰਘ (Gagandeep Singh) (~czgdp1807) |
13
Description:
Abstract
SciPy is one of the most popular and important open source packages in the PyData ecosystem. It offers algorithms for optimization, integration, interpolation, eigenvalue problems, algebraic equations, differential equations, statistics and many other classes of problems. SciPy has been enhanced significantly over the past three years when it comes to optimisation algorithms and its build engineering. Experience the process of how these improvements have been made and the details behind them.
Description
In this talk, I will take you through the work I have done on SciPy at Quansight Labs. Quansight Labs is the public-benefit division of Quansight. It was created to provide a home for a “PyData core team”, which consists of developers, community leads, designers, and writers. I was a part of it from 2021-22 and joined back in March 2024. During this tenure, I added two optimisation algorithms and worked on its build system. All my work is available under the latest release of SciPy available on PyPI and conda. I will take you through the details of my work and let you experience the process of making improvements to a high impact Python package like SciPy.
Outline of the talk:
Introduction (2 minutes)
Welcome and brief introduction of the speaker.
Overview of the talk's agenda and the work I have done on SciPy (2 minutes)
Brief overview of DIRECT algorithm (1 minute)
A look through the Pull Request and technicalities (1 minute)
Benchmarks of DIRECT algorithm against other optimizers (1 minute)
Brief overview of Dinic's maxflow algorithm (1 minute)
A look through the multiple Pull Requests and technicalities (1 minute)
Benchmarks of Dinic's algorithm against Google's OR Tools (1 minute)
Reducing the wheel size of SciPy (1 minute)
Discussing why the wheel size reduction is necessary (1 minute)
How we made it happen? (1 minute)
Expected Takeaways:
Attendees will walk away with a comprehensive understanding of what it takes to make significant additions in a high impact project like SciPy. They will also get upto date with significant improvements being made to SciPy and all the technicalities of my work.
Prerequisites:
Knowledge of Python, SciPy and NumPy. Rest everything will be discussed in the talk.
Content URLs:
Slides: Presentation Slides
Speaker Info:
Gagandeep Singh received his B.Tech degree in Computer Science and Engineering from Indian Institute of Technology Jodhpur, India.
He is currently a Software Engineer II at Quansight Labs working on SciPy and NumPy. In the past, he has worked at GSI Technology as a Compiler Developer and has been a Google Summer of Code (GSoC) Fellow in 2019 (SymPy) and 2021 (LFortran).
Speaker Links:
GitHub: https://github.com/czgdp1807
LinkedIn: https://www.linkedin.com/in/czgdp1807/
Email: gdp.1807@gmail.com