GSoC '26 @ QC-Devs

Hi, I'm Aayush.

Scientific Python & C · quantum chemistry tooling

I'm a maths and CS student at CSJM University, Kanpur. I mostly work on the code that computes integrals for quantum chemistry. This summer I hooked the libcint library into GBasis and moved its slow loops into C.

353×faster integral loops
1,146tests in my GSoC PR
9+PRs merged in WoC 5.0

psst: move your mouse over the blue, or click to drop a new atom

Aayush Gupta
That's me, Aayush!

Education

B.Sc

Mathematics & Computer Science

July 2024 – present

Chhatrapati Shahu Ji Maharaj University (CSJM), Kanpur

IIT Mandi · attended twice

Cognitive Modelling Winter School

Run by Prof. Marieke van Vugt. My first real look at computational models of the mind.

Projects

Mostly open-source work on GBasis, plus one computer vision side project.

integral loop speedup vs. old Python path
Python
1×
C loops
353×
Same integrals, two engines. Press race.
GSoC 2026 · theochem/gbasis

libcint ↔ GBasis bindings

Replaced the old ctypes layer with a small C extension on the NumPy C-API, and moved the integral loops into C. Builds with scikit-build-core + CMake on Linux, macOS and Windows.

CPythonNumPy C-APICMake
PR #259 · 1,146 tests View PR
# Obara–Saika recurrence def vrr(a, m): # [a+1| from [a| and [a-1| return (PA*vrr(a, m) + WP*vrr(a, m+1) + ...)
Winter of Code 5.0

Two-electron integral engine

Electron repulsion integrals for GBasis with the Obara–Saika and Head-Gordon–Pople recurrences.

PR #245 View PR
Google Cloud · Vertex AI

Bowsensei

An archery coach that looks at an archer's form and gives feedback. Got recognised by a Google engineer.

Click the target to shoot Read
In [1]: import gbasis S = overlap_integral(basis) T = kinetic_energy(basis) Out[1]: (n_bf, n_bf) arrays
Jupyter · GBasis docs

Integrals tutorial notebook

Walks through overlap, kinetic and repulsion integrals with the new bindings, so new contributors don't have to start from the C code.

Docs Repo

Work Experience

Google Summer of Code Contributor

Apr – Aug 2026
QC-Devs · Better Linking Between Libcint and GBasis
  • Moved the GBasis build to scikit-build-core and CMake.
  • Wrote the NumPy C-API bridge (libcint_wrap.c), generating the loop functions with token-pasting macros.
  • Rewrote the integral loops in C: 150–353× faster than the Python baseline, covered by 1,146 tests.
  • Got library loading working on Linux, macOS and Windows; fixed dylib naming, ERI index order and the CINTOpt hookup.
  • Presented to the group every two weeks, plus a final presentation and a lightning talk. Mentors: Michelle Richer, Marco Martínez, Prof. Paul Ayers.
Aayush was able to take our prototype Python/ctypes code and re-write it, comprehensively, into a proper Python C-extension module that sped up the code by (at least, in all cases) an order of magnitude.

"...ambitious, often going beyond what was asked, and showed good initiative when attempting things we weren't even sure would work (i.e. compiling on Windows)."

QCQC-Devs mentorsGSoC 2026 final evaluation

Open Source Contributor

Jan – Mar 2026
Winter of Code 5.0 · GBasis
  • Built the two-electron integral engine; 9+ PRs merged.

Open Source Contributor

2026
Social Winter of Code
  • Fixes and features for Smart Resume Reviewer and an AgriTech project.

Skills

Languages

PythonC

Scientific computing

NumPyNumPy C-APIJupyterpytest

Build & tooling

CMakescikit-build-corecibuildwheelGit

Areas

Quantum chemistryPerformanceVertex AIAI agents

Get in touch

I'm looking for research internships in scientific computing and quantum chemistry software. Email is the best way to reach me.

sanayush1357@gmail.com