





















































Hi ,
Welcome to a brand new issue of PythonPro!
News Highlights: Python 3.14 set to brings key changes like PEP 765 and deferred annotations; Google’s ADK enables AI agent development in Python with Cloud integration; Genkit adds Python support for building structured, observable AI apps; and PEP 750 proposes Template Strings for cleaner package metadata.
My top 5 picks from today’s learning resources:
And, in From the Cutting Edge, we introduceDataRec, a Python library that standardises dataset handling in recommender systems research, enabling reproducible, transparent, and framework-agnostic data preprocessing, filtering, and splitting.
Stay awesome!
Divya Anne Selvaraj
Editor-in-Chief
return
, break
, continue
in finally
), deferred type annotation evaluation (PEP 648), and more.Unstable-Interface
, to mark Python packages with unstable APIs, has been accepted.for
loops.ExitStack()
for managing multiple contexts, following consistent naming conventions, avoiding hardcoded secrets, safely accessing dictionary keys with .get()
, and using match
for cleaner conditionals.In "DataRec: A Python Library for Standardized and Reproducible
Data Management in Recommender Systems," Mancino et al. from Politecnico di Bari and Université Paris-Saclay introduce a Python library designed to standardise and simplify data handling in recommender system research. This work was accepted at SIGIR 2025.
Recommender systems are central to modern digital platforms, influencing decisions in e-commerce, media, and social networks. Despite substantial progress in algorithms and evaluation, the reproducibility of experiments remains a challenge—particularly due to inconsistencies in data preprocessing, filtering, and splitting. Existing frameworks each handle these processes differently, leading to fragmented methodologies and results that cannot easily be compared. DataRec addresses this gap by providing a unified, reproducible approach to data management.
DataRec is particularly valuable for researchers, developers, and students working on recommender systems. If you have struggled with reproducing results across different studies or frameworks, or need to ensure traceable dataset handling in your experiments, DataRec provides a consistent foundation. It also simplifies integration with existing pipelines, whether you are using general-purpose frameworks or domain-specific toolkits.
The library’s development was driven by an extensive survey of 55 papers published between 2020 and 2024, covering areas such as graph neural networks, contrastive learning, and reinforcement learning. This meta-analysis identified inconsistencies in how datasets are referenced, filtered, and split—issues that DataRec explicitly seeks to correct.
Dataset referencing, for example, was found to be unreliable: only 35% of papers referenced original sources; others linked to modified versions or broken links. DataRec counters this with built-in dataset access and public checksums. It supports transformation of raw data using filtering methods that mirror common practice, and provides traceable exports to major frameworks.
In contrast to monolithic recommendation frameworks, which are often non-interoperable, DataRec is modular and library-focused. This enables it to act as a shared layer for dataset handling, without duplicating model training or evaluation logic. The architecture is centred on a primary DataRec
class backed by modules for I/O, processing, and splitting. Version control, detailed logging, and exportable configurations ensure that results can be reliably reproduced across different environments and research groups.
You can learn more by reading the entire paper or accessing the library on GitHub.
And that’s a wrap.
We have an entire range of newsletters with focused content for tech pros. Subscribe to the ones you find the most usefulhere. The complete PythonPro archives can be foundhere.
If you have any suggestions or feedback, or would like us to find you a Python learning resource on a particular subject, just respond to this email!