From f92258fc4a44be6623117968f16f50c2d0d271a5 Mon Sep 17 00:00:00 2001 From: Dimitri Yatsenko Date: Fri, 5 Jun 2026 10:08:16 -0500 Subject: [PATCH] fix: declare packaging as an explicit dependency MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit src/datajoint/migrate.py imports ``packaging.version.Version`` but ``packaging`` is not listed in pyproject.toml dependencies. None of the declared deps pull it in transitively, so a fresh ``pip install datajoint`` into a clean Python 3.12+ venv (where the venv no longer ships setuptools by default) leaves ``packaging`` uninstalled and ``import datajoint`` raises:: ModuleNotFoundError: No module named 'packaging' This is a pre-existing bug — same failure reproduces on 2.2.2 and 2.2.3 — but only became user-visible with Python 3.12's leaner venvs. Adds ``packaging`` to the dependencies list. No version pin since ``migrate.py`` uses only the basic ``Version`` class, which has been stable across the package's history. --- pyproject.toml | 1 + 1 file changed, 1 insertion(+) diff --git a/pyproject.toml b/pyproject.toml index 5bf25dc29..d5c361658 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -16,6 +16,7 @@ dependencies = [ "pydot", "fsspec>=2023.1.0", "pydantic-settings>=2.0.0", + "packaging", ] requires-python = ">=3.10,<3.14"