Academic spectroscopy groups have always built their own software. The change over the last few years is that the tools they build no longer stay inside a single lab. A graduate student arriving in 2026 is likely to have used scikit-learn for a regression task, pybaselines for baseline correction, and one of mdatools, Quasar, or rampy for the spectroscopy-specific work, before they have ever touched a vendor’s instrument-software bundle. That shift matters for industry too, because those graduates carry the same toolchain into their first PAT job.

This piece is a working snapshot of the open-source stack we see in chemistry, biochemistry, and analytical-chemistry teaching groups across Europe in 2026. It is deliberately narrow: the tools that academic groups teach undergraduates and PhD students with, that produce figures for peer-reviewed papers, and that show up in supplementary-information notebooks. A companion piece on what is actually usable in production covers the closer-to-industry side of the same ecosystem.

The mature pillars

Two language lineages now dominate. The R side is anchored by Sergey Kucheryavskiy’s mdatools, published in Chemometrics and Intelligent Laboratory Systems in 2020 and continuously developed since. It implements PCA, PLS, PLS-DA, SIMCA, iPLS, and a usable set of preprocessing transforms with consistent S3 objects and plotting methods, and it is what many European chemometrics courses currently teach. Bryan Hanson’s ChemoSpec family on CRAN covers spectral import, alignment, and exploratory analysis, and remains the path of least resistance for students working with JCAMP-DX or vendor-exported text spectra. Antoine Stevens and Leonardo Ramirez-Lopez’s prospectr handles the resampling, derivatives, and sample-selection routines that NIR work needs.

The Python side has consolidated around four projects with distinct scopes. pyMCR, written by Charles Camp Jr. at NIST and published in the Journal of Research of the NIST in 2019, is the canonical multivariate-curve-resolution implementation outside MATLAB. Marko Toplak and colleagues’ orange-spectroscopy, the spectroscopy add-on to the Orange data-mining suite, ships as Quasar - a desktop application aimed at biospectroscopy and infrared imaging that the Cells paper from 2021 documented and that has since become a teaching standby for groups who would rather not start their students on a command line. Charles Le Losq’s rampy is the Raman-specific complement: baseline subtraction, peak fitting, smoothing, and resampling, with the right defaults for vibrational work.

What changed in 2025-2026

The single most useful arrival of the recent cycle is Donald Erb’s pybaselines. Baseline correction in spectroscopy has historically been done by a hand-tuned asls or airPLS script copied between PhDs, with every group convinced their version is slightly better. pybaselines provides a single library implementing roughly fifty published baseline algorithms with a common interface, automatic parameter selection where the literature supports it, and consistent test cases. Adoption in 2025-2026 has been fast: it is now a near-default dependency in new Raman and infrared notebooks coming out of European university groups, and it shows up in supplementary-information files for Analytical Chemistry and Applied Spectroscopy papers in numbers that did not exist two years ago.

The second movement is harder to measure but real. Quasar’s GUI has matured to the point that final-year undergraduate projects in vibrational-spectroscopy groups are now run start-to-finish in it: spectral import, masking, PCA, classification, hyperspectral image visualisation. That changes who can do chemometric work. Five years ago, the answer was “people who can write a for loop”; in 2026 it includes synthetic-chemistry students who use spectroscopy as a side tool, and bench biochemists looking at FTIR microscopy data for a single paper. The downside, predictably, is that students arrive in industry having clicked their way through a model and not having read the cross-validation output.

A third, quieter change: pybaselines, rampy, pyMCR, mdatools, and prospectr are all maintained by either a single author or a very small team. The bus factor remains the elephant in the room. The good news for industry is that, when a project does stall, forks tend to appear quickly because the code is small, well-scoped, and the user community is technical.

Where the gaps still are

Three gaps recur in conversations with academic groups and with the industry teams who hire from them.

The first is file-format interoperability. There is still no Python library that reads JCAMP-DX, Galactic SPC, Bruker OPUS, Renishaw WiRE, and Horiba LabSpec binaries with equal fluency. Each of the above has at least one partial reader on GitHub, but a student switching instruments mid-project still spends a day on file conversion. The astronomy community solved this for itself with astropy.io.fits and specutils; the chemistry community has not.

The second is calibration transfer. The recent peer-reviewed work we covered in May has moved the field forward, but no open-source library yet exposes a clean implementation of piecewise direct standardisation, generalised least squares weighting, or domain-adversarial fine-tuning for spectroscopy. Every PAT team that needs it ends up writing their own from the original papers.

The third is validation of the model itself against a recognised norm. None of the libraries above produce an ASTM E1655- or USP-compliant report. That is not their job - they are research tools - but it does mean that the handoff between an academic PoC and a GMP deployment still requires significant re-implementation. The chemometric-model-lifecycle question is downstream of this gap.

What industry gets from this

Two things, both useful. First, hiring becomes easier: a bioprocess-monitoring team that uses Python can pick up someone with a spectroscopy PhD and have them productive in days rather than months, because the libraries on the production cluster are the libraries the candidate already knows. Second, the academic literature is now reproducible at the supplementary-information level in a way it was not a decade ago. When a 2026 Analytical Chemistry paper reports a PLS calibration with an RMSEP of 0.42, a PAT engineer can frequently rerun the analysis on their own data the same afternoon, because the notebook, the data, and the baseline-correction parameters are all in the supplementary archive and the dependencies are all pip install-able.

Neither of those is the same as solving the harder problems of GMP-grade chemometric deployment. But they shorten the loop between the literature and the production line in a way that the vendor-bundled-software era did not.