Skip to content

parlant-client 3.3.1 lists mypy as a top-level runtime dependency, bloating runtime Docker images #13

@ernestom

Description

@ernestom

Summary

parlant-client==3.3.1 lists mypy>=1.11.1,<2.0.0 as a top-level Requires-Dist (i.e. not in an extras group). This means that any project which installs parlant-client at runtime — including inside a Docker image — also installs the full mypy type-checker (13.6 MB on disk for the mypy package itself).

Steps to reproduce

pip install "parlant-client==3.3.1"
pip show mypy  # mypy is installed

Or inspect the package metadata directly:

python -c "import importlib.metadata as m; print([r for r in m.distribution('parlant-client').requires or [] if 'mypy' in r])"
# ['mypy (>=1.11.1,<2.0.0)']

Expected behaviour

mypy is a static type-checking tool, not needed at runtime. It should be in a dev or typing extras group rather than in the unconditional runtime requirements.

Measured impact

  • mypy package size on disk: ~13.6 MB (Python 3.12, measured from installed site-packages)
  • Our Parlant sidecar Docker image (based on python:3.12-slim, running parlant[gemini,chroma,mongo]==3.3.1): 5.66 GB total
  • Removing mypy from the runtime dependency set would reduce that image and any slim runtime deployment

Suggested fix

Move mypy out of install_requires / dependencies in pyproject.toml and into an extras group such as:

[project.optional-dependencies]
dev = ["mypy>=1.11.1,<2.0.0"]

Or, if mypy is needed for stub generation at install time via a plugin, document that usage and gate it behind the extras.

Environment

  • parlant-client: 3.3.1
  • Python: 3.12
  • OS: macOS (Darwin 25.3.0), also reproduced in python:3.12-slim Docker container

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions