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
Summary
parlant-client==3.3.1listsmypy>=1.11.1,<2.0.0as a top-levelRequires-Dist(i.e. not in an extras group). This means that any project which installsparlant-clientat runtime — including inside a Docker image — also installs the fullmypytype-checker (13.6 MB on disk for themypypackage itself).Steps to reproduce
Or inspect the package metadata directly:
Expected behaviour
mypyis a static type-checking tool, not needed at runtime. It should be in adevortypingextras group rather than in the unconditional runtime requirements.Measured impact
mypypackage size on disk: ~13.6 MB (Python 3.12, measured from installed site-packages)python:3.12-slim, runningparlant[gemini,chroma,mongo]==3.3.1): 5.66 GB totalmypyfrom the runtime dependency set would reduce that image and any slim runtime deploymentSuggested fix
Move
mypyout ofinstall_requires/dependenciesinpyproject.tomland into an extras group such as:Or, if
mypyis needed for stub generation at install time via a plugin, document that usage and gate it behind the extras.Environment
parlant-client: 3.3.1python:3.12-slimDocker container