> ## Documentation Index
> Fetch the complete documentation index at: https://docs.coreweave.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Artifact

export const GitHubLink = ({url, compact = false}) => <a href={url} target="_blank" rel="noopener noreferrer" className={compact ? "source-link" : "github-source-link"}>
    {compact ? "View source" : <>
    <svg width="20" height="20" viewBox="0 0 24 24" fill="currentColor" xmlns="http://www.w3.org/2000/svg">
      <path d="M12 0C5.37 0 0 5.37 0 12c0 5.31 3.435 9.795 8.205 11.385.6.105.825-.255.825-.57 0-.285-.015-1.23-.015-2.235-3.015.555-3.795-.735-4.035-1.41-.135-.345-.72-1.41-1.23-1.695-.42-.225-1.02-.78-.015-.795.945-.015 1.62.87 1.845 1.23 1.08 1.815 2.805 1.305 3.495.99.105-.78.42-1.305.765-1.605-2.67-.3-5.46-1.335-5.46-5.925 0-1.305.465-2.385 1.23-3.225-.12-.3-.54-1.53.12-3.18 0 0 1.005-.315 3.3 1.23.96-.27 1.98-.405 3-.405s2.04.135 3 .405c2.295-1.56 3.3-1.23 3.3-1.23.66 1.65.24 2.88.12 3.18.765.84 1.23 1.905 1.23 3.225 0 4.605-2.805 5.625-5.475 5.925.435.375.81 1.095.81 2.22 0 1.605-.015 2.895-.015 3.3 0 .315.225.69.825.57A12.02 12.02 0 0024 12c0-6.63-5.37-12-12-12z" />
    </svg>
    GitHub source
      </>}
  </a>;

<GitHubLink compact url="https://github.com/wandb/wandb/blob/main/wandb/sdk/artifacts/artifact.py#L128" />

<h2 id="class-wandbartifact">
  <Badge color="yellow" size="lg" shape="rounded">클래스</Badge> wandb.Artifact
</h2>

데이터셋과 모델 버전 관리를 위한 유연하고 가벼운 구성 요소입니다.

빈 W\&B 아티팩트를 생성합니다. `add`로 시작하는 방법으로 아티팩트의 내용을 채우세요. 아티팩트에 원하는 파일이 모두 포함되면 `run.log_artifact()`를 호출하여 로깅할 수 있습니다.

```python theme={"system"}
name: 'str',
type: 'str',
description: 'str | None' = None,
metadata: 'dict[str, Any] | None' = None,
incremental: 'bool' = False,
use_as: 'str | None' = None,
storage_region: 'str | None' = None,
digest_algorithm: "Literal['MD5', 'XXH128']" = 'MD5'
```

<h2 id="args">
  인수
</h2>

<ResponseField name="name" type="str">
  아티팩트의 사람이 읽을 수 있는 이름입니다. W\&B App UI 또는 프로그래밍 방식으로 특정 아티팩트를 파악하는 데 이름을 사용하세요. `use_artifact` Public API를 사용하여 아티팩트를 대화형으로 참조할 수 있습니다. 이름에는 문자, 숫자, 밑줄, 하이픈 및 점이 포함될 수 있습니다. 이름은 프로젝트 전체에서 고유해야 합니다.
</ResponseField>

<ResponseField name="type" type="str">
  아티팩트의 유형입니다. 아티팩트의 유형을 사용하여 아티팩트를 정리하고 구분하세요. 문자, 숫자, 밑줄, 하이픈 및 점이 포함된 string을 사용할 수 있습니다. 일반적인 유형으로는 `dataset` 또는 `model`이 있습니다. 아티팩트를 W\&B Model Registry에 연결하려면 유형 string에 `model`을 포함하세요. 일부 유형은 내부용으로 예약되어 있어 사용자가 설정할 수 없습니다. 이러한 유형에는 `job`과 `wandb-`로 시작하는 유형이 포함됩니다.
</ResponseField>

<ResponseField name="description" type="str | None">
  아티팩트에 대한 설명입니다. 모델 또는 데이터셋 아티팩트의 경우, 표준화된 팀 모델 또는 데이터셋 Card에 대한 문서를 추가하세요. `Artifact.description` 속성을 사용하여 아티팩트의 설명을 프로그래밍 방식으로 조회하거나 W\&B App UI를 통해 조회하세요. W\&B는 W\&B App에서 설명을 markdown으로 렌더링합니다.
</ResponseField>

<ResponseField name="metadata" type="dict[str, Any] | None">
  아티팩트에 대한 추가 정보입니다. 메타데이터를 키-값 쌍의 딕셔너리로 지정하세요. 총 100개 이하의 키를 지정할 수 있습니다.
</ResponseField>

<ResponseField name="incremental" type="bool">
  기존 아티팩트를 수정하려면 `Artifact.new_draft()` 방법을 대신 사용하세요.
</ResponseField>

<ResponseField name="use_as" type="str | None">
  사용 중단
</ResponseField>

<ResponseField name="storage_region" type="str | None">
  설명이 제공되지 않았습니다.
</ResponseField>

<ResponseField name="digest_algorithm" type="Literal['MD5', 'XXH128']">
  아티팩트에 사용할 다이제스트 알고리즘입니다. 기본값은 MD5입니다. XXH128로 설정하면 아티팩트가 이미 MD5를 사용하는 컬렉션에 속하지 않는 한 XXH128 알고리즘으로 해시됩니다. 0.29.0 이전 SDK 버전에서는 XXH128 아티팩트에 대해 `artifact.verify()`를 호출하면 항상 실패합니다.
</ResponseField>

<h2 id="properties">
  속성
</h2>

<ResponseField name="aliases" type="list[str]">
  아티팩트 버전에 부여된 하나 이상의 의미적으로 친화적인 레퍼런스 또는

  식별용 "닉네임"의 목록입니다.

  별칭은 프로그래밍 방식으로 참조할 수 있는 변경 가능한 레퍼런스입니다.
  W\&B App UI 또는 프로그래밍 방식으로 아티팩트의 별칭을 변경하세요.
  자세한 내용은 [새 아티팩트 버전 생성](/ko/products/wandb/artifacts/create-a-new-artifact-version)을
  참조하세요.
</ResponseField>

<ResponseField name="collection" type="ArtifactCollection">
  이 아티팩트를 가져온 컬렉션입니다.

  컬렉션은 아티팩트 버전의 정렬된 그룹입니다.
  이 아티팩트가 연결된 컬렉션에서 가져온 경우 해당 컬렉션을 반환합니다. 그렇지 않으면 아티팩트 버전이
  원래 속한 컬렉션을 반환합니다.

  아티팩트가 원래 속한 컬렉션을 소스 시퀀스라고 합니다.
</ResponseField>

<ResponseField name="commit_hash" type="str">
  이 아티팩트가 커밋될 때 반환된 해시입니다.
</ResponseField>

<ResponseField name="created_at" type="str">
  아티팩트가 생성된 타임스탬프입니다.
</ResponseField>

<ResponseField name="description" type="str | None">
  아티팩트에 대한 설명입니다.
</ResponseField>

<ResponseField name="digest" type="str">
  아티팩트의 논리적 다이제스트입니다.

  다이제스트는 아티팩트 콘텐츠의 체크섬입니다. 아티팩트의 다이제스트가 현재 `latest` 버전과 동일하면 `log_artifact`는 no-op입니다.
</ResponseField>

<ResponseField name="digest_algorithm" type="ArtifactDigestAlgorithm">
  아티팩트의 다이제스트를 계산하는 데 사용된 다이제스트 알고리즘입니다.
</ResponseField>

<ResponseField name="entity" type="str">
  아티팩트 컬렉션이 속한 entity의 이름입니다.

  아티팩트가 연결된 경우 entity는 연결된 아티팩트의 entity가 됩니다.
</ResponseField>

<ResponseField name="file_count" type="int">
  파일 수(레퍼런스 포함)입니다.
</ResponseField>

<ResponseField name="history_step" type="int | None">
  이 아티팩트의 소스 run에 대해 이력 메트릭을 로깅한 가장 가까운 step입니다.
</ResponseField>

<ResponseField name="id" type="str | None">
  아티팩트의 ID입니다.
</ResponseField>

<ResponseField name="is_link" type="bool">
  아티팩트가 연결된 아티팩트인지 여부를 나타내는 불리언 플래그입니다.

  True: 아티팩트는 소스 아티팩트에 대한 연결된 아티팩트입니다.
  False: 아티팩트는 소스 아티팩트입니다.
</ResponseField>

<ResponseField name="linked_artifacts" type="list[Artifact]">
  소스 아티팩트에 연결된 모든 아티팩트의 목록을 반환합니다.

  이 아티팩트가 연결된 아티팩트인 경우(`artifact.is_link == True`) 빈 목록을 반환합니다.

  최대 500개의 결과로 제한됩니다.
</ResponseField>

<ResponseField name="linked_at" type="str | None">
  이 아티팩트가 현재 컬렉션에 연결된 시간입니다.

  연결된 아티팩트에만 유효하며, 그렇지 않으면 `None`을 반환합니다.
</ResponseField>

<ResponseField name="manifest" type="ArtifactManifest">
  아티팩트의 매니페스트입니다.

  매니페스트는 아티팩트의 모든 콘텐츠를 나열하며, 아티팩트가 로깅된 후에는 변경할 수 없습니다.
</ResponseField>

<ResponseField name="metadata" type="dict">
  사용자 정의 아티팩트 메타데이터입니다.

  아티팩트와 연결된 구조화된 데이터입니다.
</ResponseField>

<ResponseField name="name" type="str">
  아티팩트의 이름과 버전입니다.

  `{collection}:{alias}` 형식의 string입니다. 아티팩트가 로깅/저장되기 전에 가져온 경우 이름에 별칭이 포함되지 않습니다.
  아티팩트가 연결된 경우 이름은 연결된 아티팩트의 이름이 됩니다.
</ResponseField>

<ResponseField name="project" type="str">
  아티팩트 컬렉션이 속한 프로젝트의 이름입니다.

  아티팩트가 연결된 경우 프로젝트는 연결된 아티팩트의 프로젝트가 됩니다.
</ResponseField>

<ResponseField name="qualified_name" type="str">
  아티팩트의 entity/project/name입니다.

  아티팩트가 연결된 경우 정규화된 이름은 연결된 아티팩트 경로의 정규화된 이름이 됩니다.
</ResponseField>

<ResponseField name="size" type="int">
  아티팩트의 총 크기(바이트)입니다.

  이 아티팩트가 추적하는 모든 레퍼런스를 포함합니다.
</ResponseField>

<ResponseField name="source_artifact" type="Artifact">
  원래 로깅된 아티팩트인 소스 아티팩트를 반환합니다.

  이 아티팩트가 소스 아티팩트인 경우(`artifact.is_link == False`) 자기 자신을 반환합니다.
</ResponseField>

<ResponseField name="source_collection" type="ArtifactCollection">
  아티팩트의 소스 컬렉션입니다.

  소스 컬렉션은 아티팩트가 로깅된 컬렉션입니다.
</ResponseField>

<ResponseField name="source_entity" type="str">
  소스 아티팩트의 entity 이름입니다.
</ResponseField>

<ResponseField name="source_name" type="str">
  소스 아티팩트의 이름과 버전입니다.

  `{source_collection}:{alias}` 형식의 string입니다. 아티팩트가 저장되기 전에는 버전을 아직 알 수 없으므로 이름만 포함합니다.
</ResponseField>

<ResponseField name="source_project" type="str">
  소스 아티팩트가 속한 프로젝트의 이름입니다.
</ResponseField>

<ResponseField name="source_qualified_name" type="str">
  소스 아티팩트의 source\_entity/source\_project/source\_name입니다.
</ResponseField>

<ResponseField name="source_version" type="str">
  소스 아티팩트의 버전입니다.

  `v{number}` 형식의 string입니다.
</ResponseField>

<ResponseField name="state" type="str">
  아티팩트의 상태입니다. "PENDING", "COMMITTED", "DELETED" 중 하나입니다.
</ResponseField>

<ResponseField name="tags" type="list[str]">
  이 아티팩트 버전에 부여된 하나 이상의 태그 목록입니다.
</ResponseField>

<ResponseField name="ttl" type="timedelta | None">
  아티팩트의 TTL(time-to-live) 정책입니다.

  TTL 정책의 기간이 지나면 아티팩트는 곧 삭제됩니다.
  `None`으로 설정하면 아티팩트의 TTL 정책이 비활성화되어, 팀 기본 TTL이 있더라도 삭제가 예약되지 않습니다.
  팀 Admin이 기본 TTL을 정의했고 아티팩트에 맞춤형 정책이 설정되어 있지 않으면, 아티팩트는 팀 기본 TTL 정책을 상속합니다.
</ResponseField>

<ResponseField name="type" type="str">
  아티팩트의 유형입니다. 일반적인 유형으로는 `dataset`, `model` 등이 있습니다.
</ResponseField>

<ResponseField name="updated_at" type="str">
  아티팩트가 마지막으로 업데이트된 시간입니다.
</ResponseField>

<ResponseField name="url" type="The URL of the artifact.">
  아티팩트의 URL을 생성합니다.
</ResponseField>

<ResponseField name="use_as" type="str | None">
  사용 중단.
</ResponseField>

<ResponseField name="version" type="str">
  아티팩트의 버전입니다.

  `v{number}` 형식의 string입니다.
  연결된 아티팩트인 경우 버전은 연결된 컬렉션의 버전을 따릅니다.
</ResponseField>

<h2 id="methods">
  방법
</h2>

<h3 id="method-artifactadd">
  <Badge color="blue" size="lg" shape="rounded">방법</Badge> Artifact.add()
</h3>

```python theme={"system"}
self,
obj: 'WBValue',
name: 'StrPath',
overwrite: 'bool' = False
```

wandb.WBValue `obj`를 아티팩트에 추가합니다.

<h5 id="arguments">
  인수
</h5>

<ResponseField name="obj" type="WBValue">
  추가할 객체입니다. 현재 Bokeh, JoinedTable, PartitionedTable, Table, Classes, ImageMask, BoundingBoxes2D, Audio, Image, Video, Html, Object3D 중 하나를 지원합니다.
</ResponseField>

<ResponseField name="name" type="StrPath">
  아티팩트 내에서 객체를 추가할 경로입니다.
</ResponseField>

<ResponseField name="overwrite" type="bool">
  True인 경우, 해당하는 경우 동일한 파일 경로의 기존 객체를 덮어씁니다.
</ResponseField>

<h5 id="raises">
  예외
</h5>

* `ArtifactFinalizedError`: 현재 아티팩트 버전은 finalized되어 변경할 수 없습니다. 대신 새 아티팩트 버전을 로깅하세요.

<h3 id="method-artifactadd_dir">
  <Badge color="blue" size="lg" shape="rounded">방법</Badge> Artifact.add\_dir()
</h3>

```python theme={"system"}
self,
local_path: 'str',
name: 'str | None' = None,
skip_cache: 'bool | None' = False,
policy: "Literal['mutable', 'immutable'] | None" = 'mutable',
merge: 'bool' = False
```

아티팩트에 로컬 디렉터리를 추가합니다.

<h5 id="arguments-2">
  인수
</h5>

<ResponseField name="local_path" type="str">
  로컬 디렉터리의 경로입니다.
</ResponseField>

<ResponseField name="name" type="str | None">
  아티팩트 내 하위 디렉터리 이름입니다. 지정한 이름은 W\&B App UI에서 아티팩트의 `type` 아래에 중첩되어 표시됩니다. 아티팩트의 루트를 기본값으로 사용합니다.
</ResponseField>

<ResponseField name="skip_cache" type="bool | None">
  `True`로 설정하면 W\&B는 업로드하는 동안 파일을 캐시에 복사하거나 이동하지 않습니다.
</ResponseField>

<ResponseField name="policy" type="Literal['mutable', 'immutable'] | None">
  기본값은 "mutable"입니다.

  * mutable: 업로드 중 손상을 방지하기 위해 파일의
    임시 복사본을 생성합니다.
  * immutable: 보호를 비활성화하고 사용자가 파일을 삭제하거나
    변경하지 않도록 합니다.
</ResponseField>

<ResponseField name="merge" type="bool">
  `False`(기본값)인 경우 이전 add\_dir 호출에서 이미 추가된 파일이 있고 콘텐츠가 변경되었다면 ValueError를 발생시킵니다. `True`인 경우 변경된 콘텐츠로 기존 파일을 덮어씁니다. 항상 새 파일을 추가하고 파일을 제거하지 않습니다. 전체 디렉터리를 교체하려면 `add_dir(local_path, name=my_prefix)`를 사용하여 디렉터리를 추가할 때 이름을 전달하고 `remove(my_prefix)`를 호출하여 디렉터리를 제거한 다음 다시 추가하세요.
</ResponseField>

<h5 id="raises-2">
  예외
</h5>

* `ArtifactFinalizedError`: 현재 아티팩트 버전은 이미 finalized되었으므로 변경할 수 없습니다. 대신 새 아티팩트 버전을 로깅하세요.
* `ValueError`: Policy는 "mutable" 또는 "immutable"이어야 합니다.

<h3 id="method-artifactadd_file">
  <Badge color="blue" size="lg" shape="rounded">방법</Badge> Artifact.add\_file()
</h3>

```python theme={"system"}
self,
local_path: 'str',
name: 'str | None' = None,
is_tmp: 'bool | None' = False,
skip_cache: 'bool | None' = False,
policy: "Literal['mutable', 'immutable'] | None" = 'mutable',
overwrite: 'bool' = False
```

로컬 파일을 아티팩트에 추가합니다.

<h5 id="arguments-3">
  인수
</h5>

<ResponseField name="local_path" type="str">
  추가할 파일의 경로입니다.
</ResponseField>

<ResponseField name="name" type="str | None">
  추가할 파일에 사용할 아티팩트 내 경로입니다. 기본값은 파일의 basename입니다.
</ResponseField>

<ResponseField name="is_tmp" type="bool | None">
  true이면 충돌을 방지하기 위해 파일 이름을 결정론적으로 변경합니다.
</ResponseField>

<ResponseField name="skip_cache" type="bool | None">
  `True`이면 업로드 후 파일을 캐시에 복사하지 않습니다.
</ResponseField>

<ResponseField name="policy" type="Literal['mutable', 'immutable'] | None">
  기본값은 "mutable"입니다. "mutable"로 설정하면 업로드 중 파일이 손상되지 않도록 임시 사본을 생성합니다. "immutable"로 설정하면 보호 기능을 비활성화하며, 사용자가 파일을 삭제하거나 변경하지 않는다고 가정합니다.
</ResponseField>

<ResponseField name="overwrite" type="bool">
  `True`이면 파일이 이미 있을 경우 덮어씁니다.
</ResponseField>

<h5 id="raises-3">
  예외
</h5>

* `ArtifactFinalizedError`: 현재 아티팩트 버전은 이미 finalized되었으므로 변경할 수 없습니다. 대신 새 아티팩트 버전을 로깅하세요.
* `ValueError`: Policy는 "mutable" 또는 "immutable"이어야 합니다.

<h3 id="method-artifactadd_reference">
  <Badge color="blue" size="lg" shape="rounded">방법</Badge> Artifact.add\_reference()
</h3>

```python theme={"system"}
self,
uri: 'ArtifactManifestEntry | str',
name: 'StrPath | None' = None,
checksum: 'bool' = True,
max_objects: 'int | None' = None
```

아티팩트에 URI로 표시된 레퍼런스를 추가합니다.

아티팩트에 추가하는 파일이나 디렉터리와 달리, 레퍼런스는
W\&B에 업로드되지 않습니다. 자세한 내용은
[외부 파일 추적](/ko/products/wandb/artifacts/track-external-files)을 참조하세요.

기본적으로 다음 스킴이 지원됩니다:

* http(s): 파일의 크기와 다이제스트는 서버에서 반환하는
  `Content-Length` 및 `ETag` 응답 헤더에서 유추됩니다.
* s3: 체크섬과 크기는 객체 메타데이터에서 가져옵니다.
  버킷 versioning이 활성화된 경우 버전 ID도 추적됩니다.
* gs: 체크섬과 크기는 객체 메타데이터에서 가져옵니다. 버킷
  versioning이 활성화된 경우 버전 ID도 추적됩니다.
* https, 도메인이 `*.blob.core.windows.net`과 일치하는 경우
* Azure: 체크섬과 크기는 블롭 메타데이터에서 가져옵니다.
  저장소 계정 versioning이 활성화된 경우 버전 ID도
  추적됩니다.
* file: 체크섬과 크기는 파일 시스템에서 가져옵니다. 이 스킴은
  NFS 공유나 기타 외부 마운트된 볼륨에 있는 파일을
  추적하되 반드시 업로드하지 않으려는 경우에 유용합니다.

다른 스킴의 경우, 다이제스트는 URI의 해시일 뿐이며 크기는
비워둡니다.

<h5 id="arguments-4">
  인수
</h5>

<ResponseField name="uri" type="ArtifactManifestEntry | str">
  추가할 레퍼런스의 URI 경로입니다. URI 경로는 `Artifact.get_entry`에서 반환된 객체일 수 있으며, 다른 아티팩트의 entry에 대한 레퍼런스를 저장합니다.
</ResponseField>

<ResponseField name="name" type="StrPath | None">
  이 레퍼런스의 콘텐츠를 배치할 아티팩트 내 경로입니다.
</ResponseField>

<ResponseField name="checksum" type="bool">
  레퍼런스 URI에 위치한 리소스(들)의 체크섬을 수행할지 여부입니다. 체크섬은 자동 무결성 검증을 가능하게 하므로 강력히 권장됩니다. 체크섬을 비활성화하면 아티팩트 생성 속도가 빨라지지만, 레퍼런스 디렉터리는 반복되지 않으므로 디렉터리 내 객체는 아티팩트에 저장되지 않습니다. 레퍼런스 객체를 추가할 때는 `checksum=False`로 설정하는 것을 권장하며, 이 경우 레퍼런스 URI가 변경될 때만 새 버전이 생성됩니다.
</ResponseField>

<ResponseField name="max_objects" type="int | None">
  디렉터리 또는 버킷 저장소 접두사를 가리키는 레퍼런스를 추가할 때 고려할 최대 객체 수입니다. 기본적으로 Amazon S3, GCS, Azure 및 로컬 파일의 경우 허용되는 최대 객체 수는 10,000,000입니다. 다른 URI 스키마에는 최대값이 없습니다.
</ResponseField>

<h5 id="raises-4">
  예외
</h5>

* `ArtifactFinalizedError`: 현재 아티팩트 버전은 finalized되어 변경할 수 없습니다. 대신 새 아티팩트 버전을 로깅하세요.

<h3 id="method-artifactcheckout">
  <Badge color="blue" size="lg" shape="rounded">방법</Badge> Artifact.checkout()
</h3>

```python theme={"system"}
self,
root: 'str | None' = None
```

지정한 루트 디렉터리를 아티팩트의 내용으로 대체합니다.

경고: 이 작업은 `root`에 있는 파일 중 아티팩트에 포함되지 않은
파일을 모두 삭제합니다.

<h5 id="arguments-5">
  인수
</h5>

<ResponseField name="root" type="str | None">
  이 아티팩트의 파일로 대체할 디렉터리입니다.
</ResponseField>

<h5 id="raises-5">
  예외
</h5>

* `ArtifactNotLoggedError`: 아티팩트가 로깅되지 않은 경우 발생합니다.

<h3 id="method-artifactdelete">
  <Badge color="blue" size="lg" shape="rounded">방법</Badge> Artifact.delete()
</h3>

```python theme={"system"}
self,
delete_aliases: 'bool' = False
```

아티팩트와 해당 파일을 삭제합니다.

연결된 아티팩트에서 호출하면 연결만 삭제되며
소스 아티팩트에는 영향을 주지 않습니다.

소스 아티팩트와 컬렉션 간의 연결을 제거하려면
`Artifact.delete()` 대신 `Artifact.unlink()`를 사용하세요.

<h5 id="arguments-6">
  인수
</h5>

<ResponseField name="delete_aliases" type="bool">
  `True`로 설정하면 아티팩트에 연결된 모든 별칭을 삭제합니다. `False`인 경우 아티팩트에 기존 별칭이 있으면 예외를 발생시킵니다. 아티팩트를 연결된 컬렉션에서 가져온 경우 이 매개변수는 무시됩니다.
</ResponseField>

<h5 id="raises-6">
  예외
</h5>

* `ArtifactNotLoggedError`: 아티팩트가 로깅되지 않은 경우 발생합니다.

<h3 id="method-artifactdownload">
  <Badge color="blue" size="lg" shape="rounded">방법</Badge> Artifact.download()
</h3>

```python theme={"system"}
self,
root: 'StrPath | None' = None,
allow_missing_references: 'bool' = False,
skip_cache: 'bool | None' = None,
path_prefix: 'StrPath | None' = None,
multipart: 'bool | None' = None
```

지정된 루트 디렉터리로 아티팩트의 내용을 다운로드합니다.

`root` 내에 있는 기존 파일은 수정되지 않습니다. `root`의 내용이 아티팩트와 정확히 일치하도록 하려면
`download`를 호출하기 전에 `root`를 명시적으로
삭제하세요.

<h5 id="arguments-7">
  인수
</h5>

<ResponseField name="root" type="StrPath | None">
  W\&B가 아티팩트의 파일을 저장하는 디렉터리입니다.
</ResponseField>

<ResponseField name="allow_missing_references" type="bool">
  `True`로 설정하면 참조된 파일을 다운로드하는 동안 잘못된 레퍼런스 경로는 무시됩니다.
</ResponseField>

<ResponseField name="skip_cache" type="bool | None">
  `True`로 설정하면 다운로드할 때 아티팩트 캐시를 건너뛰고 W\&B는 각 파일을 기본 루트 또는 지정된 다운로드 디렉터리에 다운로드합니다.
</ResponseField>

<ResponseField name="path_prefix" type="StrPath | None">
  지정된 경우 지정된 접두사로 시작하는 경로의 파일만 다운로드됩니다. Unix 형식(슬래시)을 사용합니다.
</ResponseField>

<ResponseField name="multipart" type="bool | None">
  `None`(기본값)으로 설정하면 개별 파일 크기가 2GB보다 큰 경우 멀티파트 다운로드를 사용하여 아티팩트를 병렬로 다운로드합니다. `True` 또는 `False`로 설정하면 파일 크기와 관계없이 아티팩트를 병렬 또는 순차적으로 다운로드합니다.
</ResponseField>

<h5 id="raises-7">
  예외
</h5>

* `ArtifactNotLoggedError`: 아티팩트가 로깅되지 않은 경우 발생합니다.

<h3 id="method-artifactfile">
  <Badge color="blue" size="lg" shape="rounded">방법</Badge> Artifact.file()
</h3>

```python theme={"system"}
self,
root: 'str | None' = None
```

`root`로 지정한 디렉터리에 단일 파일 아티팩트를 다운로드합니다.

<h5 id="arguments-8">
  인수
</h5>

<ResponseField name="root" type="str | None">
  파일을 저장할 루트 디렉터리입니다. 기본값은 `./artifacts/self.name/`입니다.
</ResponseField>

<h5 id="raises-8">
  예외
</h5>

* `ArtifactNotLoggedError`: 아티팩트가 로깅되지 않은 경우.
* `ValueError`: 아티팩트에 파일이 두 개 이상 포함된 경우.

<h3 id="method-artifactfiles">
  <Badge color="blue" size="lg" shape="rounded">방법</Badge> Artifact.files()
</h3>

```python theme={"system"}
self,
names: 'list[str] | None' = None,
per_page: 'int' = 50,
start: 'str | None' = None
```

이 아티팩트에 저장된 모든 파일을 순회합니다.

<h5 id="arguments-9">
  인수
</h5>

<ResponseField name="names" type="list[str] | None">
  목록으로 조회할 파일의 아티팩트 루트 기준 상대 경로입니다.
</ResponseField>

<ResponseField name="per_page" type="int">
  요청당 반환할 파일 수입니다.
</ResponseField>

<ResponseField name="start" type="str | None">
  이전 쿼리를 재개하기 위한 페이지 매김 커서로, 이전 페이지 매김 객체의 `.cursor` 속성에서 캡처한 값입니다.
</ResponseField>

<h5 id="raises-9">
  예외
</h5>

* `ArtifactNotLoggedError`: 아티팩트가 로깅되지 않은 경우 발생합니다.

<h3 id="method-artifactfinalize">
  <Badge color="blue" size="lg" shape="rounded">방법</Badge> Artifact.finalize()
</h3>

```python theme={"system"}
self
```

아티팩트 버전을 완료합니다.

한 번 finalized된 아티팩트 버전은 수정할 수 없습니다.
아티팩트가 특정 아티팩트 버전으로 로깅되기 때문입니다.
아티팩트에 더 많은 데이터를 로깅하려면 새 아티팩트 버전을 생성하세요.
`log_artifact`로 아티팩트를 로깅하면 아티팩트가 자동으로 finalized됩니다.

<h3 id="method-artifactget">
  <Badge color="blue" size="lg" shape="rounded">방법</Badge> Artifact.get()
</h3>

```python theme={"system"}
self,
name: 'str'
```

아티팩트의 상대 경로 `name`에 위치한 WBValue 객체를 조회합니다.

<h5 id="arguments-10">
  인수
</h5>

<ResponseField name="name" type="str">
  검색할 아티팩트의 상대 이름입니다.
</ResponseField>

<h5 id="raises-10">
  예외
</h5>

* `ArtifactNotLoggedError`: 아티팩트가 로깅되지 않았거나 run이 오프라인인 경우.

<h3 id="method-artifactget_added_local_path_name">
  <Badge color="blue" size="lg" shape="rounded">방법</Badge> Artifact.get\_added\_local\_path\_name()
</h3>

```python theme={"system"}
self,
local_path: 'str'
```

로컬 파일 시스템 경로로 추가된 파일의 아티팩트 상대 이름을 조회합니다.

<h5 id="arguments-11">
  인수
</h5>

<ResponseField name="local_path" type="str">
  아티팩트 상대 이름으로 해석할 로컬 경로입니다.
</ResponseField>

<h3 id="method-artifactget_entry">
  <Badge color="blue" size="lg" shape="rounded">방법</Badge> Artifact.get\_entry()
</h3>

```python theme={"system"}
self,
name: 'StrPath'
```

주어진 이름의 entry를 조회합니다.

<h5 id="arguments-12">
  인수
</h5>

<ResponseField name="name" type="StrPath">
  조회할 아티팩트 상대 이름
</ResponseField>

<h5 id="raises-11">
  예외
</h5>

* `ArtifactNotLoggedError`: 아티팩트가 로깅되지 않았거나 run이 오프라인인 경우.
* `KeyError`: 아티팩트에 주어진 이름의 entry가 포함되어 있지 않은 경우.

<h3 id="method-artifactget_path">
  <Badge color="blue" size="lg" shape="rounded">방법</Badge> Artifact.get\_path()
</h3>

```python theme={"system"}
self,
name: 'StrPath'
```

사용 중단되었습니다. 대신 `get_entry(name)`을 사용하세요.

<h5 id="arguments-13">
  인수
</h5>

<ResponseField name="name" type="StrPath">
  설명이 제공되지 않았습니다.
</ResponseField>

<h3 id="method-artifactis_draft">
  <Badge color="blue" size="lg" shape="rounded">방법</Badge> Artifact.is\_draft()
</h3>

```python theme={"system"}
self
```

아티팩트가 저장되지 않았는지 확인합니다.

<h3 id="method-artifactjson_encode">
  <Badge color="blue" size="lg" shape="rounded">방법</Badge> Artifact.json\_encode()
</h3>

```python theme={"system"}
self
```

JSON 형식으로 인코딩된 아티팩트를 반환합니다.

<h3 id="method-artifactlink">
  <Badge color="blue" size="lg" shape="rounded">방법</Badge> Artifact.link()
</h3>

```python theme={"system"}
self,
target_path: 'str',
aliases: 'Iterable[str] | None' = None
```

이 아티팩트를 컬렉션에 연결합니다.

<h5 id="arguments-14">
  인수
</h5>

<ResponseField name="target_path" type="str">
  컬렉션의 경로입니다. 경로는 "wandb-registry-" 접두사와 레지스트리 이름, 컬렉션 이름으로 구성됩니다. `wandb-registry-{REGISTRY_NAME}/{COLLECTION_NAME}`.
</ResponseField>

<ResponseField name="aliases" type="Iterable[str] | None">
  연결된 아티팩트에 하나 이상의 별칭을 추가합니다. "latest" 별칭은 연결하는 가장 최근 아티팩트에 자동으로 적용됩니다.
</ResponseField>

<h5 id="raises-12">
  예외
</h5>

* `ArtifactNotLoggedError`: 아티팩트가 로깅되지 않은 경우 발생합니다.

<h3 id="method-artifactlogged_by">
  <Badge color="blue" size="lg" shape="rounded">방법</Badge> Artifact.logged\_by()
</h3>

```python theme={"system"}
self
```

아티팩트를 원래 로깅한 W\&B run을 조회합니다.

<h5 id="raises-13">
  예외
</h5>

* `ArtifactNotLoggedError`: 아티팩트가 로깅되지 않은 경우 발생합니다.

<h3 id="method-artifactnew_draft">
  <Badge color="blue" size="lg" shape="rounded">방법</Badge> Artifact.new\_draft()
</h3>

```python theme={"system"}
self
```

커밋된 이 아티팩트와 동일한 콘텐츠로 새 초안 아티팩트를 생성합니다.

기존 아티팩트를 수정하면 "증분 아티팩트(incremental artifact)"라고 하는
새 아티팩트 버전이 생성됩니다. 반환된 아티팩트는 확장하거나
수정한 뒤 새 버전으로 로깅할 수 있습니다.

<h5 id="raises-14">
  예외
</h5>

* `ArtifactNotLoggedError`: 아티팩트가 로깅되지 않은 경우 발생합니다.

<h3 id="method-artifactnew_file">
  <Badge color="blue" size="lg" shape="rounded">방법</Badge> Artifact.new\_file()
</h3>

```python theme={"system"}
self,
name: 'str',
mode: 'str' = 'x',
encoding: 'str | None' = None,
policy: "Literal['mutable', 'immutable']" = 'mutable'
```

새 임시 파일을 열고 아티팩트에 추가합니다.

<h5 id="arguments-15">
  인수
</h5>

<ResponseField name="name" type="str">
  아티팩트에 추가할 새 파일의 이름입니다.
</ResponseField>

<ResponseField name="mode" type="str">
  새 파일을 열 때 사용할 파일 액세스 모드입니다.
</ResponseField>

<ResponseField name="encoding" type="str | None">
  새 파일을 열 때 사용할 인코딩입니다.
</ResponseField>

<ResponseField name="policy" type="Literal['mutable', 'immutable']">
  기본값은 "mutable"입니다. "mutable"로 설정하면 업로드 중 손상을 방지하기 위해 파일의 임시 복사본을 생성합니다. "immutable"로 설정하면 보호 기능을 비활성화하며, 사용자가 파일을 삭제하거나 변경하지 않아야 합니다.
</ResponseField>

<h5 id="raises-15">
  예외
</h5>

* `ArtifactFinalizedError`: 현재 아티팩트 버전은 finalized되어 변경할 수 없습니다. 대신 새 아티팩트 버전을 로깅하세요.

<h3 id="method-artifactremove">
  <Badge color="blue" size="lg" shape="rounded">방법</Badge> Artifact.remove()
</h3>

```python theme={"system"}
self,
item: 'StrPath | ArtifactManifestEntry'
```

아티팩트에서 항목을 제거합니다.

<h5 id="arguments-16">
  인수
</h5>

<ResponseField name="item" type="StrPath | ArtifactManifestEntry">
  제거할 항목입니다. 특정 매니페스트 entry이거나 아티팩트 상대 경로의 이름일 수 있습니다. 항목이 디렉터리와 일치하면 해당 디렉터리의 모든 항목이 제거됩니다.
</ResponseField>

<h5 id="raises-16">
  예외
</h5>

* `ArtifactFinalizedError`: 현재 아티팩트 버전이 finalized되었으므로 변경할 수 없습니다. 대신 새 아티팩트 버전을 로깅하세요.
* `FileNotFoundError`: 아티팩트에서 항목을 찾을 수 없는 경우.

<h3 id="method-artifactsave">
  <Badge color="blue" size="lg" shape="rounded">방법</Badge> Artifact.save()
</h3>

```python theme={"system"}
self,
project: 'str | None' = None,
settings: 'wandb.Settings | None' = None
```

아티팩트에 적용한 모든 변경 사항을 영구 저장합니다.

현재 run 내에 있다면 해당 run이 이 아티팩트를 로깅합니다. 현재
run 내에 있지 않다면 이 아티팩트를 추적하기 위해 "auto" 유형의 run이 생성됩니다.

<h5 id="arguments-17">
  인수
</h5>

<ResponseField name="project" type="str | None">
  컨텍스트에 run이 아직 없는 경우 아티팩트에 사용할 프로젝트입니다.
</ResponseField>

<ResponseField name="settings" type="wandb.Settings | None">
  자동 run을 초기화할 때 사용할 설정 객체입니다. 주로 테스트 하니스에서 사용됩니다.
</ResponseField>

<h3 id="method-artifactunlink">
  <Badge color="blue" size="lg" shape="rounded">방법</Badge> Artifact.unlink()
</h3>

```python theme={"system"}
self
```

이 아티팩트가 아티팩트 컬렉션에 연결된 멤버인 경우 연결을 해제합니다.

<h5 id="raises-17">
  예외
</h5>

* `ArtifactNotLoggedError`: 아티팩트가 로깅되지 않은 경우.
* `ValueError`: 아티팩트가 어떤 컬렉션에도 연결되지 않은 경우.

<h3 id="method-artifactused_by">
  <Badge color="blue" size="lg" shape="rounded">방법</Badge> Artifact.used\_by()
</h3>

```python theme={"system"}
self
```

이 아티팩트와 연결된 아티팩트를 사용한 run의 목록을 조회합니다.

<h5 id="raises-18">
  예외
</h5>

* `ArtifactNotLoggedError`: 아티팩트가 로깅되지 않은 경우 발생합니다.

<h3 id="method-artifactverify">
  <Badge color="blue" size="lg" shape="rounded">방법</Badge> Artifact.verify()
</h3>

```python theme={"system"}
self,
root: 'str | None' = None
```

아티팩트의 내용이 매니페스트와 일치하는지 확인합니다.

디렉터리에 있는 모든 파일의 체크섬을 계산한 다음
아티팩트의 매니페스트와 대조합니다. 레퍼런스는 확인하지 않습니다.

<h5 id="arguments-18">
  인수
</h5>

<ResponseField name="root" type="str | None">
  확인할 디렉터리입니다. None이면 아티팩트가 './artifacts/self.name/'에 다운로드됩니다.
</ResponseField>

<h5 id="raises-19">
  예외
</h5>

* `ArtifactNotLoggedError`: 아티팩트가 로깅되지 않은 경우.
* `ValueError`: 확인에 실패한 경우.

<h3 id="method-artifactwait">
  <Badge color="blue" size="lg" shape="rounded">방법</Badge> Artifact.wait()
</h3>

```python theme={"system"}
self,
timeout: 'int | None' = None
```

필요한 경우 이 아티팩트의 로깅이 완료될 때까지 기다리세요.

<h5 id="arguments-19">
  인수
</h5>

<ResponseField name="timeout" type="int | None">
  대기 시간(초)입니다.
</ResponseField>


## Related topics

- [Artifacts](/ko/products/wandb/ref/sdk-coding-cheat-sheet/artifacts.md)
