the project BUILD
results in pants not quite getting the parametrization correct. if you look at the
transitive deps of backend_sources
, it's accurate: - python_darwin
, etc are correct.
pants dependencies --transitive --dependencies-format=json lumigator/python/mzai/backend:backend_sources | jq .
{
"lumigator/python/mzai/backend:backend_sources@parametrize=python_darwin": [
"3rdparty/python/pyproject.toml:3rdparty",
"3rdparty/python/python_darwin.lock:_python_darwin_lockfile",
"3rdparty/python:3rdparty#psycopg2-binary@parametrize=python_darwin",
"3rdparty/python:3rdparty#pydantic-settings@parametrize=python_darwin",
"3rdparty/python:3rdparty#pydantic@parametrize=python_darwin",
"3rdparty/python:3rdparty#sqlalchemy@parametrize=python_darwin",
"3rdparty/python:3rdparty#torch@parametrize=python_darwin",
"3rdparty/python:torch_manual@parametrize=python_darwin",
"lumigator/python/mzai/backend/__init__.py:backend_sources@parametrize=python_darwin",
"lumigator/python/mzai/backend/main.py:backend_sources@parametrize=python_darwin",
"lumigator/python/mzai/backend/settings.py:backend_sources@parametrize=python_darwin"
],
"lumigator/python/mzai/backend:backend_sources@parametrize=python_linux": [
"3rdparty/python/pyproject.toml:3rdparty",
"3rdparty/python/python_darwin.lock:_python_darwin_lockfile",
"3rdparty/python/python_linux.lock:_python_linux_lockfile",
"3rdparty/python/python_linux_cuda.lock:_python_linux_cuda_lockfile",
"3rdparty/python:3rdparty#psycopg2-binary@parametrize=python_linux",
"3rdparty/python:3rdparty#pydantic-settings@parametrize=python_linux",
"3rdparty/python:3rdparty#pydantic@parametrize=python_linux",
"3rdparty/python:3rdparty#sqlalchemy@parametrize=python_linux",
"3rdparty/python:3rdparty#torch@parametrize=python_linux",
"3rdparty/python:torch_manual@parametrize=python_linux",
"lumigator/python/mzai/backend/__init__.py:backend_sources@parametrize=python_linux",
"lumigator/python/mzai/backend/main.py:backend_sources@parametrize=python_linux",
"lumigator/python/mzai/backend/settings.py:backend_sources@parametrize=python_linux"
],
"lumigator/python/mzai/backend:backend_sources@parametrize=python_linux_cuda": [
"3rdparty/python/pyproject.toml:3rdparty",
"3rdparty/python/python_darwin.lock:_python_darwin_lockfile",
"3rdparty/python/python_linux_cuda.lock:_python_linux_cuda_lockfile",
"3rdparty/python:3rdparty#psycopg2-binary@parametrize=python_linux_cuda",
"3rdparty/python:3rdparty#pydantic-settings@parametrize=python_linux_cuda",
"3rdparty/python:3rdparty#pydantic@parametrize=python_linux_cuda",
"3rdparty/python:3rdparty#sqlalchemy@parametrize=python_linux_cuda",
"3rdparty/python:3rdparty#torch@parametrize=python_linux_cuda",
"3rdparty/python:torch_manual@parametrize=python_linux_cuda",
"lumigator/python/mzai/backend/__init__.py:backend_sources@parametrize=python_linux_cuda",
"lumigator/python/mzai/backend/main.py:backend_sources@parametrize=python_linux_cuda",
"lumigator/python/mzai/backend/settings.py:backend_sources@parametrize=python_linux_cuda"
]
}
Transitive deps of the pex, which is somehow pulling in the python_linux_cuda
deps to both python_darwin
and python_linux
pants dependencies --transitive --dependencies-format=json lumigator/python/mzai/backend:backend_app | jq .
{
"lumigator/python/mzai/backend:backend_app@parametrize=python_darwin": [
"3rdparty/python/pyproject.toml:3rdparty",
"3rdparty/python/python_darwin.lock:_python_darwin_lockfile",
"3rdparty/python/python_linux_cuda.lock:_python_linux_cuda_lockfile",
"3rdparty/python:3rdparty#psycopg2-binary@parametrize=python_linux_cuda",
"3rdparty/python:3rdparty#pydantic-settings@parametrize=python_linux_cuda",
"3rdparty/python:3rdparty#pydantic@parametrize=python_linux_cuda",
"3rdparty/python:3rdparty#sqlalchemy@parametrize=python_linux_cuda",
"3rdparty/python:3rdparty#torch@parametrize=python_linux_cuda",
"3rdparty/python:py311_macos_14_pex_platform_tags",
"3rdparty/python:torch_manual@parametrize=python_linux_cuda",
"lumigator/python/mzai/backend/__init__.py:backend_sources@parametrize=python_darwin",
"lumigator/python/mzai/backend/__init__.py:backend_sources@parametrize=python_linux_cuda",
"lumigator/python/mzai/backend/main.py:backend_sources@parametrize=python_linux_cuda",
"lumigator/python/mzai/backend/settings.py:backend_sources@parametrize=python_linux_cuda"
],
"lumigator/python/mzai/backend:backend_app@parametrize=python_linux": [
"3rdparty/python/pyproject.toml:3rdparty",
"3rdparty/python/python_darwin.lock:_python_darwin_lockfile",
"3rdparty/python/python_linux_cuda.lock:_python_linux_cuda_lockfile",
"3rdparty/python:3rdparty#psycopg2-binary@parametrize=python_linux_cuda",
"3rdparty/python:3rdparty#pydantic-settings@parametrize=python_linux_cuda",
"3rdparty/python:3rdparty#pydantic@parametrize=python_linux_cuda",
"3rdparty/python:3rdparty#sqlalchemy@parametrize=python_linux_cuda",
"3rdparty/python:3rdparty#torch@parametrize=python_linux_cuda",
"3rdparty/python:py311_linux_pex_platform_tags",
"3rdparty/python:torch_manual@parametrize=python_linux_cuda",
"lumigator/python/mzai/backend/__init__.py:backend_sources@parametrize=python_linux",
"lumigator/python/mzai/backend/__init__.py:backend_sources@parametrize=python_linux_cuda",
"lumigator/python/mzai/backend/main.py:backend_sources@parametrize=python_linux_cuda",
"lumigator/python/mzai/backend/settings.py:backend_sources@parametrize=python_linux_cuda"
],
"lumigator/python/mzai/backend:backend_app@parametrize=python_linux_cuda": [
"3rdparty/python/pyproject.toml:3rdparty",
"3rdparty/python/python_darwin.lock:_python_darwin_lockfile",
"3rdparty/python/python_linux_cuda.lock:_python_linux_cuda_lockfile",
"3rdparty/python:3rdparty#psycopg2-binary@parametrize=python_linux_cuda",
"3rdparty/python:3rdparty#pydantic-settings@parametrize=python_linux_cuda",
"3rdparty/python:3rdparty#pydantic@parametrize=python_linux_cuda",
"3rdparty/python:3rdparty#sqlalchemy@parametrize=python_linux_cuda",
"3rdparty/python:3rdparty#torch@parametrize=python_linux_cuda",
"3rdparty/python:py311_linux_pex_platform_tags",
"3rdparty/python:torch_manual@parametrize=python_linux_cuda",
"lumigator/python/mzai/backend/__init__.py:backend_sources@parametrize=python_linux_cuda",
"lumigator/python/mzai/backend/main.py:backend_sources@parametrize=python_linux_cuda",
"lumigator/python/mzai/backend/settings.py:backend_sources@parametrize=python_linux_cuda"
]
}
When run with the explicitly laid out deps in the uupdated build file it works:
pants dependencies --transitive --dependencies-format=json lumigator/python/mzai/backend:backend_app | jq .
{
"lumigator/python/mzai/backend:backend_app@parametrize=python_darwin": [
"3rdparty/python/pyproject.toml:3rdparty",
"3rdparty/python/python_darwin.lock:_python_darwin_lockfile",
"3rdparty/python/python_linux_cuda.lock:_python_linux_cuda_lockfile",
"3rdparty/python:3rdparty#psycopg2-binary@parametrize=python_darwin",
"3rdparty/python:3rdparty#pydantic-settings@parametrize=python_darwin",
"3rdparty/python:3rdparty#pydantic@parametrize=python_darwin",
"3rdparty/python:3rdparty#sqlalchemy@parametrize=python_darwin",
"3rdparty/python:3rdparty#torch@parametrize=python_darwin",
"3rdparty/python:py311_macos_14_pex_platform_tags",
"3rdparty/python:torch_manual@parametrize=python_darwin",
"lumigator/python/mzai/backend/__init__.py:backend_sources@parametrize=python_darwin",
"lumigator/python/mzai/backend/main.py:backend_sources@parametrize=python_darwin",
"lumigator/python/mzai/backend/settings.py:backend_sources@parametrize=python_darwin"
],
"lumigator/python/mzai/backend:backend_app@parametrize=python_linux": [
"3rdparty/python/pyproject.toml:3rdparty",
"3rdparty/python/python_darwin.lock:_python_darwin_lockfile",
"3rdparty/python/python_linux.lock:_python_linux_lockfile",
"3rdparty/python/python_linux_cuda.lock:_python_linux_cuda_lockfile",
"3rdparty/python:3rdparty#psycopg2-binary@parametrize=python_linux",
"3rdparty/python:3rdparty#pydantic-settings@parametrize=python_linux",
"3rdparty/python:3rdparty#pydantic@parametrize=python_linux",
"3rdparty/python:3rdparty#sqlalchemy@parametrize=python_linux",
"3rdparty/python:3rdparty#torch@parametrize=python_linux",
"3rdparty/python:py311_linux_pex_platform_tags",
"3rdparty/python:torch_manual@parametrize=python_linux",
"lumigator/python/mzai/backend/__init__.py:backend_sources@parametrize=python_linux",
"lumigator/python/mzai/backend/main.py:backend_sources@parametrize=python_linux",
"lumigator/python/mzai/backend/settings.py:backend_sources@parametrize=python_linux"
],
"lumigator/python/mzai/backend:backend_app@parametrize=python_linux_cuda": [
"3rdparty/python/pyproject.toml:3rdparty",
"3rdparty/python/python_linux_cuda.lock:_python_linux_cuda_lockfile",
"3rdparty/python:3rdparty#psycopg2-binary@parametrize=python_linux_cuda",
"3rdparty/python:3rdparty#pydantic-settings@parametrize=python_linux_cuda",
"3rdparty/python:3rdparty#pydantic@parametrize=python_linux_cuda",
"3rdparty/python:3rdparty#sqlalchemy@parametrize=python_linux_cuda",
"3rdparty/python:3rdparty#torch@parametrize=python_linux_cuda",
"3rdparty/python:py311_linux_pex_platform_tags",
"3rdparty/python:torch_manual@parametrize=python_linux_cuda",
"lumigator/python/mzai/backend/__init__.py:backend_sources@parametrize=python_linux_cuda",
"lumigator/python/mzai/backend/main.py:backend_sources@parametrize=python_linux_cuda",
"lumigator/python/mzai/backend/settings.py:backend_sources@parametrize=python_linux_cuda"
]
}