artifacts: doesn't work with monorepos
dberenbaum opened this issue · 1 comments
dberenbaum commented
Bug Report
Description
See https://iterativeai.slack.com/archives/C05L7S1TWAW/p1712247647559389. dvc.api.artifacts_show()
can't find artifacts in subrepos.
Reproduce
import os
import dvc.api
URL = 'https://github.com/mnrozhkov/monorepo-multiproject-detached-exps.git'
artifact = dvc.api.artifacts_show(
'project_a/dvc.yaml:model_project_a',
stage='prod',
repo=URL,
)
print(artifact)
Running this script outputs:
Traceback (most recent call last):
File "/Users/dave/Code/dvc/dvc/repo/artifacts.py", line 164, in get_path
artifact = self.read()[dvcyaml][artifact_name]
~~~~~~~~~~~^^^^^^^^^
KeyError: 'project_a/dvc.yaml'
The above exception was the direct cause of the following exception:
Traceback (most recent call last):
File "/Users/dave/repo/test.py", line 6, in <module>
artifact = dvc.api.artifacts_show(
^^^^^^^^^^^^^^^^^^^^^^^
File "/Users/dave/Code/dvc/dvc/api/artifacts.py", line 46, in artifacts_show
path = _repo.artifacts.get_path(name)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/Users/dave/Code/dvc/dvc/repo/artifacts.py", line 166, in get_path
raise ArtifactNotFoundError(name) from exc
dvc.exceptions.ArtifactNotFoundError: Unable to find artifact 'project_a:model_project_a'
Expected
{'rev': '669ff33d8c0f1d7c3e9942baa946424127d92fd0', 'path': 'project_a/model.npy'}
Environment information
$ dvc doctor
DVC version: 3.49.1.dev3+gdd2b515c9
-----------------------------------
Platform: Python 3.11.7 on macOS-14.4.1-arm64-arm-64bit
Subprojects:
dvc_data = 3.15.1
dvc_objects = 5.1.0
dvc_render = 1.0.1
dvc_task = 0.3.0
scmrepo = 3.3.1
Supports:
azure (adlfs = 2024.2.0, knack = 0.11.0, azure-identity = 1.15.0),
gdrive (pydrive2 = 1.19.0),
gs (gcsfs = 2024.2.0),
hdfs (fsspec = 2024.2.0, pyarrow = 14.0.2),
http (aiohttp = 3.9.1, aiohttp-retry = 2.8.3),
https (aiohttp = 3.9.1, aiohttp-retry = 2.8.3),
oss (ossfs = 2023.12.0),
s3 (s3fs = 2024.2.0, boto3 = 1.33.13),
ssh (sshfs = 2023.10.0),
webdav (webdav4 = 0.9.8),
webdavs (webdav4 = 0.9.8),
webhdfs (fsspec = 2024.2.0)
Config:
Global: /Users/dave/Library/Application Support/dvc
System: /Library/Application Support/dvc
Cache types: reflink, hardlink, symlink
Cache directory: apfs on /dev/disk3s1s1
Caches: local
Remotes: local
Workspace directory: apfs on /dev/disk3s1s1
Repo: dvc, git
Repo.site_cache_dir: /Library/Caches/dvc/repo/c2187852cbb307ab6c3a5dee7ce801ef
skshetry commented
I have changed the issue from a
bug