From 222ad50a230f3fc495cb989e99e2652b3393c547 Mon Sep 17 00:00:00 2001 From: Dimitri Yatsenko Date: Mon, 2 Feb 2026 20:09:39 -0600 Subject: [PATCH] fix: Clean up runtime dependencies Removed (unused in main package): - setuptools: Uses importlib.metadata.entry_points (stdlib) - urllib3: Only urllib.parse (stdlib) is used Moved to optional [viz] extra: - matplotlib: Only for Diagram.draw() - ipython: Only for Diagram.make_svg() in Jupyter Moved to test dependencies: - faker: Only used in test fixtures - matplotlib, ipython: Needed for diagram tests Install with visualization: pip install datajoint[viz] Co-Authored-By: Claude Opus 4.5 --- pyproject.toml | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/pyproject.toml b/pyproject.toml index 7cd06d786..ab7603535 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -11,16 +11,11 @@ dependencies = [ "pymysql>=0.7.2", "deepdiff", "pyparsing", - "ipython", "pandas", "tqdm", "networkx", "pydot", "fsspec>=2023.1.0", - "matplotlib", - "faker", - "urllib3", - "setuptools", "pydantic-settings>=2.0.0", ] @@ -88,6 +83,9 @@ test = [ "pytest", "pytest-cov", "requests", + "faker", + "matplotlib", + "ipython", "graphviz", "testcontainers[mysql,minio]>=4.0", "polars>=0.20.0", @@ -100,10 +98,14 @@ gcs = ["gcsfs>=2023.1.0"] azure = ["adlfs>=2023.1.0"] polars = ["polars>=0.20.0"] arrow = ["pyarrow>=14.0.0"] +viz = ["matplotlib", "ipython"] test = [ "pytest", "pytest-cov", "requests", + "faker", + "matplotlib", + "ipython", "s3fs>=2023.1.0", "testcontainers[mysql,minio]>=4.0", "polars>=0.20.0",