> ## Documentation Index
> Fetch the complete documentation index at: https://wb-21fd5541-wbdocs-2038.mintlify.app/llms.txt
> Use this file to discover all available pages before exploring further.

# Artifact

export const GitHubLink = ({url}) => <a href={url} target="_blank" rel="noopener noreferrer" className="github-source-link">
    <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 소스 코드
  </a>;

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

## <kbd>class</kbd> `Artifact`

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

빈 W\&B Artifact를 생성합니다. `add`로 시작하는 메서드로 artifact의 콘텐츠를 채우세요. artifact에 원하는 파일이 모두 추가되면 `run.log_artifact()`를 호출해 기록할 수 있습니다.

### <kbd>방법</kbd> `Artifact.__init__`

```python theme={null}
__init__(
    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
) → None
```

**매개변수:**

* `name` (str):  artifact의 사람이 읽을 수 있는 이름입니다. 이 이름을 사용해 W\&B App UI에서 또는 프로그래밍 방식으로 특정 artifact를 파악할 수 있습니다. `use_artifact` Public API를 사용하면 대화형으로 artifact를 참조할 수 있습니다. 이름에는 문자, 숫자, 밑줄, 하이픈, 점을 포함할 수 있습니다. 이름은 프로젝트 전체에서 고유해야 합니다.
* `type` (str):  artifact의 유형입니다. artifact의 유형을 사용해 artifact를 정리하고 서로 구분할 수 있습니다. 문자, 숫자, 밑줄, 하이픈, 점을 포함하는 문자열이라면 어떤 것이든 사용할 수 있습니다. 일반적인 유형으로는 `dataset` 또는 `model`이 있습니다. artifact를 W\&B Model 레지스트리와 연결하려면 유형 문자열에 `model`을 포함하세요. 일부 유형은 내부용으로 예약되어 있어 사용자가 설정할 수 없습니다. 여기에는 `job` 및 `wandb-`로 시작하는 유형이 포함됩니다.
* `description (str | None) = None`:  artifact에 대한 설명입니다. Model 또는 Dataset Artifacts의 경우, 표준화된 팀 모델 카드 또는 데이터셋 카드에 대한 문서를 추가하세요. `Artifact.description` 속성을 사용하거나 W\&B App UI에서 artifact 설명을 조회할 수 있습니다. W\&B는 W\&B App에서 설명을 Markdown으로 렌더링합니다.
* `metadata (dict[str, Any] | None) = None`:  artifact에 대한 추가 정보입니다. 메타데이터는 키-값 쌍의 사전으로 지정하세요. 전체 키는 최대 100개까지만 지정할 수 있습니다.
* `incremental`:  기존 artifact를 수정하려면 대신 `Artifact.new_draft()` 방법을 사용하세요.
* `use_as`:  사용 중단되었습니다.

**반환값:**
`Artifact` 객체입니다.

***

### <kbd>속성</kbd> Artifact.aliases

아티팩트 버전에 할당된, 의미를 쉽게 알 수 있는 하나 이상의 레퍼런스 또는

식별용 "별칭" 목록입니다.

별칭은 프로그래밍 방식으로 참조할 수 있는 변경 가능한 레퍼런스입니다. W\&B App UI에서 또는 프로그래밍 방식으로 아티팩트의 별칭을 변경할 수 있습니다. 자세한 내용은 [새 아티팩트 버전 만들기](https://docs.wandb.ai/models/artifacts/create-a-new-artifact-version)를 참조하세요.

**반환값:**

* `list[str]`: aliases 속성 값입니다.

***

### <kbd>속성</kbd> Artifact.collection

이 artifact를 조회한 컬렉션입니다.

컬렉션은 순서가 있는 artifact 버전의 그룹입니다. 이 artifact가 연결된 컬렉션에서 조회된 경우 해당 컬렉션을 반환합니다. 그렇지 않으면 artifact 버전이 비롯된 컬렉션을 반환합니다.

artifact가 비롯된 컬렉션을 source sequence라고 합니다.

**반환값:**

* `ArtifactCollection`: 컬렉션 속성 값.

***

### <kbd>속성</kbd> Artifact.commit\_hash

이 Artifact가 커밋될 때 반환되는 해시입니다.

**반환값:**

* `str`: commit\_hash 속성 값입니다.

***

### <kbd>속성</kbd> Artifact.created\_at

artifact가 생성된 시각을 나타내는 Timestamp입니다.

**반환값:**

* `str`: `created_at` 속성 값입니다.

***

### <kbd>속성</kbd> Artifact.description

artifact에 대한 설명입니다.

**반환값:**

* `str | None`: 설명 속성의 값입니다.

***

### <kbd>속성</kbd> Artifact.digest

아티팩트의 논리적 다이제스트입니다.

다이제스트는 아티팩트 내용의 체크섬입니다. 아티팩트의 다이제스트가 현재 `latest` 버전과 같으면 `log_artifact`는 아무 작업도 수행하지 않습니다.

**반환값:**

* `str`: 다이제스트 속성 값입니다.

***

### <kbd>속성</kbd> Artifact.entity

artifact collection이 속한 entity의 이름입니다.

artifact가 link인 경우, entity는 연결된 artifact의 entity입니다.

**반환값:**

* `str`: entity 속성 값입니다.

***

### <kbd>속성</kbd> Artifact.file\_count

레퍼런스를 포함한 파일 수입니다.

**반환값:**

* `int`: file\_count 속성 값입니다.

***

### <kbd>속성</kbd> Artifact.history\_step

이 artifact의 source run에서 이력 메트릭이 로깅된 가장 가까운 step입니다.

**예시:**

```python theme={null}
run = artifact.logged_by()
if run and (artifact.history_step is not None):
     history = run.sample_history(
         min_step=artifact.history_step,
         max_step=artifact.history_step + 1,
         keys=["my_metric"],
     )
```

**반환값:**

* `int | None`: history\_step 속성 값입니다.

***

### <kbd>속성</kbd> Artifact.id

Artifact의 ID입니다.

**반환값:**

* `str | None`: id 속성 값입니다.

***

### <kbd>속성</kbd> Artifact.is\_link

artifact가 link artifact인지 여부를 나타내는 불리언 플래그입니다.

True: artifact는 source artifact를 가리키는 link artifact입니다. False: artifact는 source artifact입니다.

**반환값:**

* `bool`: is\_link 속성 값

***

### <kbd>속성</kbd> Artifact.linked\_artifacts

source artifact에 연결된 모든 artifact의 목록을 반환합니다.

이 artifact가 링크 artifact(`artifact.is_link == True`)인 경우 빈 목록을 반환합니다.

결과는 최대 500개로 제한됩니다.

**반환값:**

* `list[Artifact]`: `linked_artifacts` 속성 값입니다.

***

### <kbd>속성</kbd> Artifact.manifest

Artifact의 manifest입니다.

manifest에는 모든 콘텐츠가 나열되며, Artifact가 로깅된 후에는 변경할 수 없습니다.

**반환값:**

* `ArtifactManifest`: manifest 속성 값입니다.

***

### <kbd>속성</kbd> Artifact.metadata

사용자가 정의한 artifact 메타데이터입니다.

artifact에 연결된 구조화된 데이터입니다.

**반환값:**

* `dict`: 메타데이터 속성 값입니다.

***

### <kbd>속성</kbd> Artifact.name

아티팩트의 이름과 버전입니다.

`{collection}:{alias}` 형식의 문자열입니다. 아티팩트가 로깅되거나 저장되기 전에 조회하면 이름에 alias가 포함되지 않습니다. 아티팩트가 링크인 경우 이름은 연결된 아티팩트의 이름입니다.

**반환값:**

* `str`: `name` 속성 값입니다.

***

### <kbd>속성</kbd> Artifact.project

아티팩트 컬렉션이 속한 프로젝트의 이름입니다.

아티팩트가 링크인 경우, 프로젝트는 연결된 아티팩트의 프로젝트가 됩니다.

**반환값:**

* `str`: 프로젝트 속성 값입니다.

***

### <kbd>속성</kbd> Artifact.qualified\_name

아티팩트의 entity/프로젝트/이름입니다.

아티팩트가 링크인 경우, `qualified_name`은 연결된 아티팩트 경로의 qualified name이 됩니다.

**반환값:**

* `str`: `qualified_name` 속성 값입니다.

***

### <kbd>속성</kbd> Artifact.size

artifact의 전체 크기(바이트 단위)입니다.

이 artifact가 추적하는 모든 레퍼런스도 포함됩니다.

**반환값:**

* `int`: size 속성의 값입니다.

***

### <kbd>속성</kbd> Artifact.source\_artifact

원래 로깅된 artifact인 source artifact를 반환합니다.

이 artifact가 source artifact인 경우(`artifact.is_link == False`), 자기 자신을 반환합니다.

**반환값:**

* `Artifact`: source\_artifact 속성 값.

***

### <kbd>속성</kbd> Artifact.source\_collection

Artifact의 소스 컬렉션입니다.

소스 컬렉션은 Artifact가 로깅된 컬렉션입니다.

**반환값:**

* `ArtifactCollection`: source\_collection 속성 값입니다.

***

### <kbd>속성</kbd> Artifact.source\_entity

원본 artifact의 entity 이름입니다.

**반환값:**

* `str`: `source_entity`의 속성 값입니다.

***

### <kbd>속성</kbd> Artifact.source\_name

원본 artifact의 이름과 버전입니다.

형식이 `{source_collection}:{alias}`인 문자열입니다. artifact가 저장되기 전에는 버전이 아직 알려지지 않았으므로 이름만 포함합니다.

**반환값:**

* `str`: source\_name 속성 값입니다.

***

### <kbd>속성</kbd> Artifact.source\_project

원본 artifact가 속한 프로젝트의 이름입니다.

**반환값:**

* `str`: `source_project` 속성 값입니다.

***

### <kbd>속성</kbd> Artifact.source\_qualified\_name

원본 artifact의 source\_entity/source\_project/source\_name입니다.

**반환값:**

* `str`: source\_qualified\_name 속성 값입니다.

***

### <kbd>속성</kbd> Artifact.source\_version

원본 artifact의 버전입니다.

`v{number}` 형식의 문자열입니다.

**반환값:**

* `str`: source\_version 속성의 값입니다.

***

### <kbd>속성</kbd> Artifact.state

Artifact의 상태입니다. "PENDING", "COMMITTED", 또는 "DELETED" 중 하나입니다.

**반환값:**

* `str`: state 속성 값입니다.

***

### <kbd>속성</kbd> Artifact.tags

이 artifact 버전에 할당된 tags가 하나 이상 포함된 목록입니다.

**반환값:**

* `list[str]`: tags 속성 값입니다.

***

### <kbd>속성</kbd> Artifact.ttl

artifact의 TTL(time-to-live) 정책입니다.

TTL 정책 기간이 지나면 Artifacts는 곧 삭제됩니다. `None`으로 설정하면 artifact의 TTL 정책이 비활성화되며, 팀 기본 TTL이 있더라도 삭제 예약되지 않습니다. 팀 관리자가 기본 TTL을 정의했고 artifact에 맞춤형 정책이 설정되어 있지 않으면, artifact는 팀 기본 TTL 정책을 상속받습니다.

**예외:**

* `ArtifactNotLoggedError`:  artifact가 로깅되거나 저장되지 않은 경우 상속된 TTL을 가져올 수 없습니다.

**반환값:**

* `timedelta | None`: ttl 속성 값입니다.

***

### <kbd>속성</kbd> Artifact.type

Artifact의 유형입니다. 일반적인 유형으로는 `dataset` 또는 `model`이 있습니다.

**반환값:**

* `str`: 유형 속성의 값입니다.

***

### <kbd>속성</kbd> Artifact.updated\_at

Artifact가 마지막으로 업데이트된 시각입니다.

**반환값:**

* `str`: `updated_at` 속성 값입니다.

***

### <kbd>속성</kbd> Artifact.url

Artifact의 URL을 생성합니다.

**반환값:**

* `str`: Artifact의 URL입니다.

**반환값:**

* `str`: url 속성 값입니다.

***

### <kbd>속성</kbd> Artifact.use\_as

사용 중단.

**반환값:**

* `str | None`: use\_as 속성의 값입니다.

***

### <kbd>속성</kbd> Artifact.version

Artifact의 버전입니다.

`v{number}` 형식의 문자열입니다. link artifact인 경우 버전은 연결된 collection의 버전이 됩니다.

**반환값:**

* `str`: version 속성 값.

***

### <kbd>방법</kbd> `Artifact.add`

```python theme={null}
add(
    obj: 'WBValue',
    name: 'StrPath',
    overwrite: 'bool' = False
) → ArtifactManifestEntry
```

wandb.WBValue `obj`를 artifact에 추가합니다.

**매개변수:**

* `obj`:  추가할 객체입니다. 현재 Bokeh, JoinedTable, PartitionedTable, Table, Classes, ImageMask, BoundingBoxes2D, Audio, Image, Video, Html, Object3D 중 하나를 지원합니다.
* `name`:  객체를 추가할 artifact 내부 경로입니다.
* `overwrite`:  True인 경우, 해당하면 동일한 파일 경로를 가진 기존 객체를 덮어씁니다.

**반환값:**
추가된 매니페스트 항목입니다.

**예외:**

* `ArtifactFinalizedError`:  현재 artifact 버전은 이미 확정되어 변경할 수 없습니다. 대신 새 artifact 버전을 로그하세요.

***

### <kbd>방법</kbd> `Artifact.add_dir`

```python theme={null}
add_dir(
    local_path: 'str',
    name: 'str | None' = None,
    skip_cache: 'bool | None' = False,
    policy: "Literal['mutable', 'immutable'] | None" = 'mutable',
    merge: 'bool' = False
) → None
```

로컬 디렉터리를 artifact에 추가합니다.

**매개변수:**

* `local_path`:  로컬 디렉터리 경로입니다.
* `name`:  artifact 내 하위 디렉터리 이름입니다. 지정한 이름은 W\&B App UI에서 artifact의 `type` 아래에 중첩되어 표시됩니다. 기본값은 artifact의 루트입니다.
* `skip_cache`:  `True`로 설정하면 W\&B는 업로드 중 파일을 캐시로 복사하거나 이동하지 않습니다.
* `policy`:  기본값은 "mutable"입니다.
  * mutable: 업로드 중 손상을 방지하기 위해 파일의 임시 복사본을 생성합니다.
  * immutable: 보호를 비활성화하고, 사용자가 파일을 삭제하거나 변경하지 않는다고 가정합니다.
* `merge`:  `False`(기본값)인 경우, 이전 `add_dir` call에서 이미 추가된 파일의 내용이 변경되었으면 ValueError를 발생시킵니다. `True`인 경우, 내용이 변경된 기존 파일을 덮어씁니다. 새 파일은 항상 추가하고 파일은 제거하지 않습니다. 전체 디렉터리를 교체하려면 디렉터리를 추가할 때 `add_dir(local_path, name=my_prefix)`로 이름을 전달하고, `remove(my_prefix)`를 호출해 디렉터리를 제거한 뒤 다시 추가하세요.

**예외:**

* `ArtifactFinalizedError`:  현재 artifact 버전은 finalized 상태이므로 변경할 수 없습니다. 대신 새 artifact 버전을 기록하세요.
* `ValueError`:  Policy는 "mutable" 또는 "immutable"이어야 합니다.

***

### <kbd>방법</kbd> `Artifact.add_file`

```python theme={null}
add_file(
    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
) → ArtifactManifestEntry
```

로컬 파일을 artifact에 추가합니다.

**매개변수:**

* `local_path`:  추가할 파일의 경로입니다.
* `name`:  추가할 파일에 사용할 artifact 내부 경로입니다. 기본값은 파일의 기본 이름입니다.
* `is_tmp`:  `true`이면 충돌을 방지하기 위해 파일 이름을 결정적으로 변경합니다.
* `skip_cache`:  `True`이면 업로드한 후 파일을 캐시에 복사하지 않습니다.
* `policy`:  기본값은 "mutable"입니다. "mutable"로 설정하면 업로드 중 손상을 방지하기 위해 파일의 임시 복사본을 생성합니다. "immutable"로 설정하면 보호를 비활성화하고, 사용자가 파일을 삭제하거나 변경하지 않는다고 가정합니다.
* `overwrite`:  `True`이면 파일이 이미 존재할 경우 덮어씁니다.

**반환값:**
추가된 매니페스트 항목입니다.

**예외:**

* `ArtifactFinalizedError`:  현재 artifact 버전은 finalized 상태이므로 변경할 수 없습니다. 대신 새 artifact 버전을 log하세요.
* `ValueError`:  Policy는 "mutable" 또는 "immutable"이어야 합니다.

***

### <kbd>방법</kbd> `Artifact.add_reference`

```python theme={null}
add_reference(
    uri: 'ArtifactManifestEntry | str',
    name: 'StrPath | None' = None,
    checksum: 'bool' = True,
    max_objects: 'int | None' = None
) → Sequence[ArtifactManifestEntry]
```

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

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

기본적으로 다음 스키마를 지원합니다.

* http(s): 파일의 크기와 다이제스트는 서버가 반환한 `Content-Length` 및 `ETag` 응답 헤더를 바탕으로 추론됩니다.
* s3: 체크섬과 크기는 객체 메타데이터에서 가져옵니다. bucket versioning이 활성화된 경우 버전 ID도 함께 추적됩니다.
* gs: 체크섬과 크기는 객체 메타데이터에서 가져옵니다. bucket versioning이 활성화된 경우 버전 ID도 함께 추적됩니다.
* https, `*.blob.core.windows.net`와 일치하는 도메인
* Azure: 체크섬과 크기는 blob 메타데이터에서 가져옵니다. storage account versioning이 활성화된 경우 버전 ID도 함께 추적됩니다.
* file: 체크섬과 크기는 파일 시스템에서 가져옵니다. 이 스키마는 추적하되 반드시 업로드할 필요는 없는 파일이 포함된 NFS 공유 또는 기타 외부 마운트 볼륨이 있을 때 유용합니다.

그 밖의 스키마에서는 다이제스트가 단순히 URI의 해시가 되며, 크기는 비워 둡니다.

**매개변수:**

* `uri`: 추가할 레퍼런스의 URI 경로입니다. URI 경로는 다른 아티팩트 항목에 대한 레퍼런스를 저장하기 위해 `Artifact.get_entry`에서 반환된 객체일 수도 있습니다.
* `name`: 이 레퍼런스의 내용을 배치할 아티팩트 내 경로입니다.
* `checksum`: 레퍼런스 URI에 있는 리소스의 체크섬을 계산할지 여부입니다. 체크섬 계산은 자동 무결성 검증을 가능하게 하므로 강력히 권장됩니다. 체크섬 계산을 비활성화하면 아티팩트 생성 속도는 빨라지지만, 레퍼런스 디렉터리를 순회하지 않으므로 디렉터리 안의 객체는 아티팩트에 저장되지 않습니다. 레퍼런스 객체를 추가할 때는 `checksum=False`로 설정하는 것을 권장하며, 이 경우 레퍼런스 URI가 변경될 때만 새 버전이 생성됩니다.
* `max_objects`: 디렉터리 또는 bucket 저장소 prefix를 가리키는 레퍼런스를 추가할 때 고려할 최대 객체 수입니다. 기본적으로 Amazon S3, GCS, Azure 및 로컬 파일에서 허용되는 최대 객체 수는 10,000,000입니다. 다른 URI 스키마에는 최대값이 없습니다.

**반환값:**
추가된 매니페스트 항목입니다.

**예외:**

* `ArtifactFinalizedError`: 현재 아티팩트 버전은 finalized 상태이므로 변경할 수 없습니다. 대신 새 아티팩트 버전을 기록하세요.

***

### <kbd>방법</kbd> `Artifact.checkout`

```python theme={null}
checkout(root: 'str | None' = None) → str
```

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

WARNING: artifact에 포함되지 않은 `root`의 모든 파일이 삭제됩니다.

**매개변수:**

* `root`: 이 artifact의 파일로 대체할 디렉터리입니다.

**반환값:**
체크아웃된 내용의 경로입니다.

**예외:**

* `ArtifactNotLoggedError`: artifact가 로깅되지 않은 경우입니다.

***

### <kbd>방법</kbd> `Artifact.delete`

```python theme={null}
delete(delete_aliases: 'bool' = False) → None
```

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

연결된 아티팩트에 대해 호출하면 링크만 삭제되며, 원본 아티팩트는 영향을 받지 않습니다.

원본 아티팩트와 컬렉션 간의 링크를 제거하려면 `Artifact.delete()` 대신 `Artifact.unlink()`를 사용하세요.

**매개변수:**

* `delete_aliases`:  `True`로 설정하면 아티팩트와 연결된 모든 alias를 삭제합니다. `False`이면 아티팩트에 기존 alias가 있을 경우 예외를 발생시킵니다. 아티팩트를 연결된 컬렉션에서 조회한 경우 이 매개변수는 무시됩니다.

**예외:**

* `ArtifactNotLoggedError`:  아티팩트가 로깅되지 않은 경우.

***

### <kbd>방법</kbd> `Artifact.download`

```python theme={null}
download(
    root: 'StrPath | None' = None,
    allow_missing_references: 'bool' = False,
    skip_cache: 'bool | None' = None,
    path_prefix: 'StrPath | None' = None,
    multipart: 'bool | None' = None
) → FilePathStr
```

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

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

**매개변수:**

* `root`:  W\&B가 artifact 파일을 저장하는 디렉터리입니다.
* `allow_missing_references`:  `True`로 설정하면 레퍼런스된 파일을 다운로드하는 동안 유효하지 않은 레퍼런스 경로를 모두 무시합니다.
* `skip_cache`:  `True`로 설정하면 다운로드 시 artifact 캐시를 건너뛰며, W\&B는 각 파일을 기본 루트 또는 지정한 다운로드 디렉터리로 다운로드합니다.
* `path_prefix`:  지정하면 경로가 주어진 접두사로 시작하는 파일만 다운로드합니다. Unix 형식(슬래시 `/`)을 사용합니다.
* `multipart`:  `None`(기본값)으로 설정하면 개별 파일 크기가 2GB보다 큰 경우 multipart 다운로드를 사용해 artifact를 병렬로 다운로드합니다. `True` 또는 `False`로 설정하면 파일 크기와 관계없이 artifact를 각각 병렬 또는 직렬로 다운로드합니다.

**반환값:**
다운로드된 내용의 경로입니다.

**예외:**

* `ArtifactNotLoggedError`:  artifact가 로깅되지 않은 경우입니다.

***

### <kbd>방법</kbd> `Artifact.file`

```python theme={null}
file(root: 'str | None' = None) → StrPath
```

`root`로 지정한 디렉터리로 단일 파일 artifact를 다운로드합니다.

**매개변수:**

* `root`:  파일을 저장할 루트 디렉터리입니다. 기본값은 `./artifacts/self.name/`입니다.

**반환값:**
다운로드한 파일의 전체 경로입니다.

**예외:**

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

***

### <kbd>방법</kbd> `Artifact.files`

```python theme={null}
files(names: 'list[str] | None' = None, per_page: 'int' = 50) → ArtifactFiles
```

이 artifact에 저장된 모든 파일을 순회합니다.

**매개변수:**

* `names`:  나열할 artifact 루트를 기준으로 한 파일 경로입니다.
* `per_page`:  요청당 반환할 파일 수입니다.

**반환값:**
`File` 객체를 포함하는 이터레이터입니다.

**예외:**

* `ArtifactNotLoggedError`:  artifact가 로깅되지 않은 경우입니다.

***

### <kbd>방법</kbd> `Artifact.finalize`

```python theme={null}
finalize() → None
```

artifact 버전을 최종 확정합니다.

artifact는 특정 버전으로 로깅되므로, 최종 확정된 후에는 해당 artifact 버전을 수정할 수 없습니다. artifact에 데이터를 더 로깅하려면 새 artifact 버전을 만드세요. `log_artifact`로 artifact를 로깅하면 artifact는 자동으로 최종 확정됩니다.

***

### <kbd>방법</kbd> `Artifact.get`

```python theme={null}
get(name: 'str') → WBValue | None
```

artifact를 기준으로 상대 `name`에 있는 WBValue 객체를 조회합니다.

**매개변수:**

* `name`:  조회할 artifact 기준 상대 name입니다.

**반환값:**
`run.log()`로 로깅하고 W\&B UI에서 시각화할 수 있는 W\&B 객체입니다.

**예외:**

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

***

### <kbd>방법</kbd> `Artifact.get_added_local_path_name`

```python theme={null}
get_added_local_path_name(local_path: 'str') → str | None
```

로컬 파일 시스템 경로로 추가한 파일의 artifact 상대 이름을 조회합니다.

**매개변수:**

* `local_path`: artifact 상대 이름으로 확인할 로컬 경로입니다.

**반환값:**
artifact 상대 이름입니다.

***

### <kbd>방법</kbd> `Artifact.get_entry`

```python theme={null}
get_entry(name: 'StrPath') → ArtifactManifestEntry
```

지정한 이름의 entry를 조회합니다.

**매개변수:**

* `name`:  조회할 artifact의 상대 이름

**반환값:**
`W&B` 객체입니다.

**예외:**

* `ArtifactNotLoggedError`:  artifact가 로깅되지 않았거나 run이 오프라인인 경우
* `KeyError`:  artifact에 지정한 이름의 entry가 없는 경우

***

### <kbd>방법</kbd> `Artifact.get_path`

```python theme={null}
get_path(name: 'StrPath') → ArtifactManifestEntry
```

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

***

### <kbd>방법</kbd> `Artifact.is_draft`

```python theme={null}
is_draft() → bool
```

artifact가 저장되지 않은 상태인지 확인합니다.

**반환값:**
불리언입니다. artifact가 저장된 경우 `False`를 반환합니다. artifact가 저장되지 않은 경우 `True`를 반환합니다.

***

### <kbd>방법</kbd> `Artifact.json_encode`

```python theme={null}
json_encode() → dict[str, Any]
```

JSON 형식으로 인코딩된 artifact를 반환합니다.

**반환값:**
artifact의 속성을 나타내는 `string` 키를 사용하는 `dict`입니다.

***

### <kbd>방법</kbd> `Artifact.link`

```python theme={null}
link(target_path: 'str', aliases: 'Iterable[str] | None' = None) → Artifact
```

이 artifact를 컬렉션에 연결합니다.

**매개변수:**

* `target_path`:  컬렉션의 경로입니다. 경로는 접두사 "wandb-registry-", 레지스트리 이름, 컬렉션 이름으로 구성되며 형식은 `wandb-registry-{REGISTRY_NAME}/{COLLECTION_NAME}`입니다.
* `aliases`:  연결할 artifact에 하나 이상의 alias를 추가합니다. "latest" alias는 연결한 가장 최근 artifact에 자동으로 적용됩니다.

**예외:**

* `ArtifactNotLoggedError`:  artifact가 로깅되지 않은 경우입니다.

**반환값:**
연결된 artifact입니다.

***

### <kbd>방법</kbd> `Artifact.logged_by`

```python theme={null}
logged_by() → Run | None
```

원래 artifact를 로깅한 W\&B run을 조회합니다.

**반환값:**
원래 artifact를 로깅한 W\&B run의 이름입니다.

**예외:**

* `ArtifactNotLoggedError`: artifact가 로깅되지 않은 경우

***

### <kbd>방법</kbd> `Artifact.new_draft`

```python theme={null}
new_draft() → Artifact
```

이 커밋된 artifact와 동일한 내용을 가진 새 초안 artifact를 생성합니다.

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

**반환값:**
`Artifact` 객체입니다.

**예외:**

* `ArtifactNotLoggedError`: artifact가 로깅되지 않은 경우.

***

### <kbd>방법</kbd> `Artifact.new_file`

```python theme={null}
new_file(
    name: 'str',
    mode: 'str' = 'x',
    encoding: 'str | None' = None
) → Iterator[IO]
```

새 임시 파일을 열어 artifact에 추가합니다.

**매개변수:**

* `name`:  artifact에 추가할 새 파일의 이름입니다.
* `mode`:  새 파일을 열 때 사용할 파일 액세스 모드입니다.
* `encoding`:  새 파일을 열 때 사용할 인코딩입니다.

**반환값:**
쓸 수 있는 새 파일 객체입니다. 파일을 닫으면 자동으로 artifact에 추가됩니다.

**예외:**

* `ArtifactFinalizedError`:  현재 artifact 버전은 이미 확정되었으므로 변경할 수 없습니다. 대신 새 artifact 버전을 log하세요.

***

### <kbd>방법</kbd> `Artifact.remove`

```python theme={null}
remove(item: 'StrPath | ArtifactManifestEntry') → None
```

artifact에서 항목을 제거합니다.

**매개변수:**

* `item`:  제거할 항목입니다. 특정 manifest 항목이거나 artifact 기준 상대 경로 이름일 수 있습니다. `item`이 디렉터리와 일치하면 해당 디렉터리의 모든 항목이 제거됩니다.

**예외:**

* `ArtifactFinalizedError`:  현재 artifact 버전이 finalized 상태이므로 변경할 수 없습니다. 대신 새 artifact 버전을 log하세요.
* `FileNotFoundError`:  artifact에서 해당 항목을 찾을 수 없는 경우입니다.

***

### <kbd>방법</kbd> `Artifact.save`

```python theme={null}
save(
    project: 'str | None' = None,
    settings: 'wandb.Settings | None' = None
) → None
```

artifact에 적용한 변경 사항을 저장합니다.

현재 run 컨텍스트에 있으면 해당 run에 이 artifact가 기록됩니다. 현재 run 컨텍스트에 없으면 이 artifact를 추적하기 위해 유형이 "auto"인 run이 생성됩니다.

**매개변수:**

* `project`:  아직 run 컨텍스트에 없는 경우 artifact에 사용할 프로젝트입니다.
* `settings`:  자동 run을 초기화할 때 사용할 설정 객체입니다. 주로 테스트 하니스에서 사용합니다.

***

### <kbd>방법</kbd> `Artifact.unlink`

```python theme={null}
unlink() → None
```

이 artifact가 artifact collection에 연결된 멤버인 경우 연결을 해제합니다.

**예외:**

* `ArtifactNotLoggedError`:  artifact가 로깅되지 않은 경우.
* `ValueError`:  artifact가 어떤 collection에도 연결되어 있지 않은 경우.

***

### <kbd>방법</kbd> `Artifact.used_by`

```python theme={null}
used_by() → list[Run]
```

이 artifact와 여기에 연결된 artifact를 사용한 run의 목록을 조회합니다.

**반환값:**
`Run` 객체 목록입니다.

**예외:**

* `ArtifactNotLoggedError`: artifact가 로깅되지 않은 경우.

***

### <kbd>방법</kbd> `Artifact.verify`

```python theme={null}
verify(root: 'str | None' = None) → None
```

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

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

**매개변수:**

* `root`:  확인할 디렉터리입니다. None이면 artifact를 `./artifacts/self.name/`에 다운로드합니다.

**예외:**

* `ArtifactNotLoggedError`:  artifact가 로깅되지 않은 경우입니다.
* `ValueError`:  확인에 실패한 경우입니다.

***

### <kbd>방법</kbd> `Artifact.wait`

```python theme={null}
wait(timeout: 'int | None' = None) → Artifact
```

필요한 경우 이 artifact의 logging이 완료될 때까지 기다립니다.

**매개변수:**

* `timeout`: 기다릴 시간(초)입니다.

**반환값:**
`Artifact` 객체입니다.
