CPN 한국어 자습서 · 외부 문서 한국어 미러
UV 문서 · Reference
Settings · 원문: docs.astral.sh/uv/reference/settings/
아래는 원문을 한국어로 옮긴 미러입니다. 코드·명령은 원문 그대로이며, 가장 최신 정보는 하단 원문 링크에서 확인하세요.
build-constraint-dependencies빌드 의존성(dependency)을 해결할 때 적용하는 제약 조건입니다. 패키지를 제약으로 포함해도 설치가 실행되지 않으며, 패키지는 프로젝트 빌드 의존성 그래프의 다른 곳에서 요청되어야 합니다.
기본값: []
타입: list[str]
사용 예시:
[tool.uv] build-constraint-dependencies = ["setuptools==60.0.0"]
conflicts상호 배타적인 extras 또는 의존성 그룹의 집합을 선언합니다. 이를 통해 uv는 특정 extras와 그룹의 조합이 공존할 수 없는 프로젝트에서 범용 해결(universal resolution)을 생성할 수 있습니다.
기본값: []
타입: list[list[dict]]
사용 예시:
[tool.uv]
conflicts = [
[
{ extra = "extra1" },
{ extra = "extra2" },
]
]
constraint-dependencies프로젝트 의존성을 해결할 때 적용하는 제약 조건입니다. 제약 조건은 독립 설치를 실행하지 않고 버전 선택을 제한합니다.
기본값: []
타입: list[str]
사용 예시:
[tool.uv] constraint-dependencies = ["grpcio<1.65"]
default-groups기본으로 설치할 의존성 그룹 목록입니다. 모든 그룹을 활성화하려면 리터럴 "all"을 사용할 수도 있습니다.
기본값: ["dev"]
타입: str | list[str]
사용 예시:
[tool.uv] default-groups = ["docs"]
dependency-groups의존성 그룹에 대한 추가 설정입니다. 현재는 그룹에 requires-python 제약을 추가하는 데 사용됩니다.
기본값: []
타입: dict
사용 예시:
[tool.uv.dependency-groups]
my-group = {requires-python = ">=3.12"}
dev-dependenciesuv run과 uv sync에서 기본으로 설치되는 개발 의존성입니다. 게시된 메타데이터에는 표시되지 않습니다. 표준화된 방식인 dependency-groups.dev를 대신 사용하세요.
기본값: []
타입: list[str]
사용 예시:
[tool.uv] dev-dependencies = ["ruff==0.5.0"]
environments의존성 해결을 위해 지원하는 환경 목록입니다. 기본적으로 uv는 모든 가능한 환경을 대상으로 해결하지만, 이 설정으로 해결 대상을 제한하여 성능을 향상시킬 수 있습니다.
기본값: []
타입: str | list[str]
사용 예시:
[tool.uv] environments = ["sys_platform == 'darwin'"]
exclude-dependencies해결에서 제외할 의존성입니다. 제외된 패키지는 전이적 의존성으로 요청되더라도 완전히 생략됩니다.
기본값: []
타입: list[str]
사용 예시:
[tool.uv] exclude-dependencies = ["werkzeug"]
index의존성을 해결할 때 사용하는 인덱스(index)입니다. PEP 503 레포지토리 또는 로컬 디렉터리를 허용합니다. 먼저 정의된 인덱스가 우선순위가 높습니다.
기본값: []
타입: dict
사용 예시:
[[tool.uv.index]] name = "pytorch" url = "https://download.pytorch.org/whl/cu130"
managed프로젝트를 uv가 관리하는지 여부입니다. false이면 uv run 실행 시 uv가 해당 프로젝트를 무시합니다.
기본값: true
타입: bool
사용 예시:
[tool.uv] managed = false
override-dependencies의존성 해결 시 적용하는 재정의(override)입니다. 추가적인 제약 조건과 달리, 이것은 패키지 요구사항을 절대적으로 대체합니다.
기본값: []
타입: list[str]
사용 예시:
[tool.uv] override-dependencies = ["werkzeug==2.3.0"]
package프로젝트를 Python 패키지(package)로 취급할지, 비패키지("가상(virtual)") 프로젝트로 취급할지 여부입니다. 패키지는 편집 가능(editable) 모드로 빌드 및 설치되고, 가상 프로젝트는 그렇지 않습니다.
기본값: true
타입: bool
사용 예시:
[tool.uv] package = false
required-environments소스 배포판(source distribution)이 없는 패키지에 필요한 플랫폼 목록입니다. 특정 플랫폼의 wheel이 해결에 포함되도록 보장하거나, 사용 불가 시 실패합니다.
기본값: []
타입: str | list[str]
사용 예시:
[tool.uv]
required-environments = [
"sys_platform == 'darwin' and platform_machine == 'arm64'",
"sys_platform == 'linux' and platform_machine == 'x86_64'",
"sys_platform == 'win32' and platform_machine == 'AMD64'",
]
sources의존성 해결을 위한 추가 소스입니다. Git 레포지토리, URL, 로컬 경로, 대체 레지스트리(registry)를 지원합니다.
기본값: {}
타입: dict
사용 예시:
[tool.uv.sources]
httpx = { git = "https://github.com/encode/httpx", tag = "0.27.0" }
pytest = { url = "https://files.pythonhosted.org/packages/..." }
pydantic = { path = "/path/to/pydantic", editable = true }
build-backenduv 빌드 백엔드(build backend) (uv_build)에 대한 설정입니다. 이 설정은 uv_build 백엔드를 사용할 때만 적용됩니다.
datawheel에 포함할 데이터로, <name>-<version>.data/ 디렉터리에 복사됩니다. scripts, data, headers, purelib, platlib 옵션을 포함합니다.
기본값: {}
타입: dict[str, str]
사용 예시:
[tool.uv.build-backend]
data = { headers = "include/headers", scripts = "bin" }
default-excludesfalse로 설정하면 기본 제외 항목이 적용되지 않습니다. 기본 제외 항목: __pycache__, *.pyc, *.pyo.
기본값: true
타입: bool
사용 예시:
[tool.uv.build-backend] default-excludes = false
module-namemodule-root 내 모듈 디렉터리의 이름입니다. 기본적으로 패키지 이름에서 점과 대시를 밑줄로 대체한 이름을 사용합니다.
기본값: None
타입: str | list[str]
사용 예시:
[tool.uv.build-backend] module-name = "sklearn"
module-root모듈 디렉터리를 포함하는 디렉터리입니다. 일반적인 값은 src(기본값, src 레이아웃) 또는 빈 문자열(flat 레이아웃)입니다.
기본값: "src"
타입: str
사용 예시:
[tool.uv.build-backend] module-root = ""
namespacePEP 420 암시적 네임스페이스 패키지를 빌드합니다. 여러 루트 __init__.py 파일을 허용합니다.
기본값: false
타입: bool
사용 예시:
[tool.uv.build-backend] namespace = true
source-exclude소스 배포판에서 제외할 파일 및 디렉터리의 glob 표현식입니다.
기본값: []
타입: list[str]
사용 예시:
[tool.uv.build-backend] source-exclude = ["*.bin"]
source-include소스 배포판에 추가로 포함할 파일 및 디렉터리의 glob 표현식입니다.
기본값: []
타입: list[str]
사용 예시:
[tool.uv.build-backend] source-include = ["tests/**"]
wheel-excludewheel에서 제외할 파일 및 디렉터리의 glob 표현식입니다.
기본값: []
타입: list[str]
사용 예시:
[tool.uv.build-backend] wheel-exclude = ["*.bin"]
workspaceexclude워크스페이스(workspace) 멤버에서 제외할 패키지입니다. members와 exclude 모두에 해당하는 패키지는 제외됩니다.
기본값: []
타입: list[str]
사용 예시:
[tool.uv.workspace] exclude = ["member1", "path/to/member2", "libs/*"]
members워크스페이스 멤버로 포함할 패키지입니다. glob 패턴과 명시적 경로 모두 지원합니다.
기본값: []
타입: list[str]
사용 예시:
[tool.uv.workspace] members = ["member1", "path/to/member2", "libs/*"]
add-bounds의존성 추가 시 기본 버전 지정자입니다. 하한선만, 메이저 버전 호환성, 마이너 버전 호환성, 정확한 핀 고정 중에서 선택합니다.
기본값: "lower"
가능한 값: "lower", "major", "minor", "exact"
사용 예시:
pyproject.toml:
[tool.uv] add-bounds = "major"
uv.toml:
add-bounds = "major"
allow-insecure-host특정 호스트에 대한 비보안 연결을 허용합니다. SSL 검증을 우회하므로, 보안이 확보된 네트워크에서만 사용하세요.
기본값: []
타입: list[str]
사용 예시:
pyproject.toml:
[tool.uv] allow-insecure-host = ["localhost:8080"]
uv.toml:
allow-insecure-host = ["localhost:8080"]
cache-dir캐시(cache) 디렉터리 경로입니다. Linux/macOS에서는 $XDG_CACHE_HOME/uv, Windows에서는 %LOCALAPPDATA%\uv\cache가 기본값입니다.
기본값: None
타입: str
사용 예시:
uv.toml:
cache-dir = "./.uv_cache"
cache-keys수정 시 재빌드를 트리거하는 파일 또는 디렉터리입니다. 기본값에는 pyproject.toml, setup.py, setup.cfg, src 디렉터리가 포함됩니다.
기본값: [{ file = "pyproject.toml" }, { file = "setup.py" }, { file = "setup.cfg" }]
타입: list[dict]
사용 예시:
pyproject.toml:
[tool.uv]
cache-keys = [{ file = "pyproject.toml" }, { file = "requirements.txt" }, { git = { commit = true } }]
uv.toml:
cache-keys = [{ file = "pyproject.toml" }, { file = "requirements.txt" }, { git = { commit = true } }]
check-url중복 업로드를 건너뛰기 위해 기존 파일이 있는지 인덱스 URL을 확인합니다. 실패한 업로드 재시도를 처리합니다.
기본값: None
타입: str
사용 예시:
pyproject.toml:
[tool.uv] check-url = "https://test.pypi.org/simple"
uv.toml:
check-url = "https://test.pypi.org/simple"
compile-bytecode설치 후 Python 파일을 바이트코드로 컴파일합니다. 시작 속도가 빨라지지만 설치 시간이 길어집니다.
기본값: false
타입: bool
사용 예시:
pyproject.toml:
[tool.uv] compile-bytecode = true
uv.toml:
compile-bytecode = true
concurrent-builds동시에 빌드할 소스 배포판의 최대 수입니다. 기본값은 사용 가능한 CPU 코어 수입니다.
기본값: None
타입: int
사용 예시:
pyproject.toml:
[tool.uv] concurrent-builds = 4
uv.toml:
concurrent-builds = 4
concurrent-downloads최대 동시 다운로드 수입니다. 기본값은 50입니다.
기본값: 50
타입: int
사용 예시:
pyproject.toml:
[tool.uv] concurrent-downloads = 4
uv.toml:
concurrent-downloads = 4
concurrent-installs패키지 설치 및 압축 해제에 사용하는 스레드 수입니다. 기본값은 사용 가능한 CPU 코어 수입니다.
기본값: None
타입: int
사용 예시:
pyproject.toml:
[tool.uv] concurrent-installs = 4
uv.toml:
concurrent-installs = 4
config-settingsKEY=VALUE 쌍으로 PEP 517 빌드 백엔드에 전달하는 설정입니다.
기본값: {}
타입: dict
사용 예시:
pyproject.toml:
[tool.uv]
config-settings = { editable_mode = "compat" }
uv.toml:
config-settings = { editable_mode = "compat" }
config-settings-package특정 패키지에 대해 PEP 517 빌드 백엔드에 전달하는 설정입니다.
기본값: {}
타입: dict
사용 예시:
pyproject.toml:
[tool.uv]
config-settings-package = { numpy = { editable_mode = "compat" } }
uv.toml:
config-settings-package = { numpy = { editable_mode = "compat" } }
dependency-metadata의존성에 대한 사전 정의된 정적 메타데이터입니다. 리졸버(resolver)가 레지스트리를 조회하거나 소스에서 빌드하는 대신, 지정된 메타데이터를 사용할 수 있도록 합니다.
기본값: []
타입: list[dict]
사용 예시:
pyproject.toml:
[tool.uv]
dependency-metadata = [
{ name = "flask", version = "1.0.0", requires-dist = ["werkzeug"], requires-python = ">=3.6" },
]
uv.toml:
dependency-metadata = [
{ name = "flask", version = "1.0.0", requires-dist = ["werkzeug"], requires-python = ">=3.6" },
]
exclude-newer지정된 날짜 이전에 업로드된 패키지만 후보로 제한합니다. RFC 3339 타임스탬프, 친숙한 기간 표현, ISO 8601 기간을 허용합니다.
기본값: None
타입: str | false
사용 예시:
pyproject.toml:
[tool.uv] exclude-newer = "2006-12-02T02:07:43Z"
uv.toml:
exclude-newer = "2006-12-02T02:07:43Z"
exclude-newer-package특정 패키지의 업로드 날짜를 기준으로 후보 패키지를 제한합니다.
기본값: None
타입: dict
사용 예시:
pyproject.toml:
[tool.uv]
exclude-newer-package = { tqdm = "2022-04-04T00:00:00Z", markupsafe = false }
uv.toml:
exclude-newer-package = { tqdm = "2022-04-04T00:00:00Z", markupsafe = false }
extra-build-dependenciesPEP 517 빌드 환경을 확장하기 위한 패키지의 추가 빌드 의존성입니다.
기본값: []
타입: dict
사용 예시:
pyproject.toml:
[tool.uv]
extra-build-dependencies = { pytest = ["setuptools"] }
uv.toml:
extra-build-dependencies = { pytest = ["setuptools"] }
extra-build-variables특정 패키지를 빌드할 때 설정할 추가 환경 변수입니다.
기본값: {}
타입: dict[str, dict[str, str]]
사용 예시:
pyproject.toml:
[tool.uv]
extra-build-variables = { flash-attn = { FLASH_ATTENTION_SKIP_CUDA_BUILD = "TRUE" } }
uv.toml:
extra-build-variables = { flash-attn = { FLASH_ATTENTION_SKIP_CUDA_BUILD = "TRUE" } }
extra-index-url--index-url에 추가할 패키지 인덱스 URL입니다. 여러 인덱스가 제공될 때 앞에 있는 값이 우선순위를 가집니다.
기본값: []
타입: list[str]
사용 예시:
pyproject.toml:
[tool.uv] extra-index-url = ["https://download.pytorch.org/whl/cpu"]
uv.toml:
extra-index-url = ["https://download.pytorch.org/whl/cpu"]
find-links레지스트리 인덱스 외에 후보 배포판을 검색하는 위치입니다. 로컬 디렉터리 또는 플랫한 패키지 목록이 있는 URL이 될 수 있습니다.
기본값: []
타입: list[str]
사용 예시:
pyproject.toml:
[tool.uv] find-links = ["https://download.pytorch.org/whl/torch_stable.html"]
uv.toml:
find-links = ["https://download.pytorch.org/whl/torch_stable.html"]
fork-strategyPython 버전과 플랫폼에 걸쳐 여러 패키지 버전을 선택하는 전략입니다.
기본값: "requires-python"
가능한 값: "fewest", "requires-python"
사용 예시:
pyproject.toml:
[tool.uv] fork-strategy = "fewest"
uv.toml:
fork-strategy = "fewest"
http-proxy사용할 HTTP 프록시 URL입니다.
기본값: None
타입: str
사용 예시:
uv.toml:
http-proxy = "http://proxy.example.com"
https-proxy사용할 HTTPS 프록시 URL입니다.
기본값: None
타입: str
사용 예시:
uv.toml:
https-proxy = "https://proxy.example.com"
index의존성 해결을 위한 패키지 인덱스입니다. PEP 503 레포지토리 또는 로컬 디렉터리를 허용합니다. 먼저 정의된 인덱스가 우선순위가 높습니다.
기본값: "[]"
타입: dict
사용 예시:
pyproject.toml:
[[tool.uv.index]] name = "pytorch" url = "https://download.pytorch.org/whl/cu130"
uv.toml:
[[uv.index]] name = "pytorch" url = "https://download.pytorch.org/whl/cu130"
index-strategy여러 인덱스 URL을 사용할 때의 해결 전략입니다. 기본적으로 의존성 혼동 공격을 방지합니다.
기본값: "first-index"
가능한 값: "first-index", "unsafe-first-match", "unsafe-best-match"
사용 예시:
pyproject.toml:
[tool.uv] index-strategy = "unsafe-best-match"
uv.toml:
index-strategy = "unsafe-best-match"
index-urlPython 패키지 인덱스 URL입니다. 기본값은 https://pypi.org/simple 입니다. 더 이상 사용하지 않음(deprecated); 대신 index를 사용하세요.
기본값: "https://pypi.org/simple"
타입: str
사용 예시:
pyproject.toml:
[tool.uv] index-url = "https://test.pypi.org/simple"
uv.toml:
index-url = "https://test.pypi.org/simple"
keyring-provider인증에 keyring을 사용합니다. 현재 subprocess만 지원합니다.
기본값: "disabled"
타입: str
사용 예시:
pyproject.toml:
[tool.uv] keyring-provider = "subprocess"
uv.toml:
keyring-provider = "subprocess"
link-mode전역 캐시에서 패키지를 설치하는 방법입니다. macOS/Linux에서는 clone, Windows에서는 hardlink가 기본값입니다.
기본값: "clone" (macOS, Linux) or "hardlink" (Windows)
가능한 값: "clone", "copy", "hardlink", "symlink"
사용 예시:
pyproject.toml:
[tool.uv] link-mode = "copy"
uv.toml:
link-mode = "copy"
native-tls더 이상 사용하지 않음(Deprecated) — 대신 system-certs를 사용하세요.
번들된 Mozilla 인증서 대신 플랫폼의 기본 인증서 저장소에서 TLS 인증서를 로드합니다.
기본값: false
타입: bool
사용 예시:
uv.toml:
native-tls = true
no-binary사전 빌드된 wheel을 설치하지 않습니다. 패키지는 소스에서 빌드 및 설치됩니다.
기본값: false
타입: bool
사용 예시:
pyproject.toml:
[tool.uv] no-binary = true
uv.toml:
no-binary = true
no-binary-package특정 패키지에 대해 사전 빌드된 wheel을 설치하지 않습니다.
기본값: []
타입: list[str]
사용 예시:
pyproject.toml:
[tool.uv] no-binary-package = ["ruff"]
uv.toml:
no-binary-package = ["ruff"]
no-build소스 배포판을 빌드하지 않습니다. 빌드가 필요한 작업은 오류와 함께 종료됩니다.
기본값: false
타입: bool
사용 예시:
pyproject.toml:
[tool.uv] no-build = true
uv.toml:
no-build = true
no-build-isolation소스 배포판을 빌드할 때 격리를 비활성화합니다. PEP 518 빌드 의존성이 이미 설치되어 있다고 가정합니다.
기본값: false
타입: bool
사용 예시:
pyproject.toml:
[tool.uv] no-build-isolation = true
uv.toml:
no-build-isolation = true
no-build-isolation-package특정 패키지의 소스 배포판을 빌드할 때 격리를 비활성화합니다.
기본값: []
타입: list[str]
사용 예시:
pyproject.toml:
[tool.uv] no-build-isolation-package = ["package1", "package2"]
uv.toml:
no-build-isolation-package = ["package1", "package2"]
no-build-package특정 패키지의 소스 배포판을 빌드하지 않습니다.
기본값: []
타입: list[str]
사용 예시:
pyproject.toml:
[tool.uv] no-build-package = ["ruff"]
uv.toml:
no-build-package = ["ruff"]
no-cache캐시 읽기 및 쓰기를 피합니다. 작업에 임시 디렉터리를 사용합니다.
기본값: false
타입: bool
사용 예시:
pyproject.toml:
[tool.uv] no-cache = true
uv.toml:
no-cache = true
no-index모든 레지스트리 인덱스를 무시하고, 직접 URL 의존성과 --find-links에만 의존합니다.
기본값: false
타입: bool
사용 예시:
pyproject.toml:
[tool.uv] no-index = true
uv.toml:
no-index = true
no-proxy프록시에서 제외할 호스트 목록입니다.
기본값: None
타입: list[str]
사용 예시:
uv.toml:
no-proxy = ["localhost", "127.0.0.1"]
no-sources의존성 해결 시 tool.uv.sources 테이블을 무시합니다. 로컬 또는 Git 소스 대신 게시 가능한 패키지 메타데이터를 기준으로 잠급니다.
기본값: false
타입: bool
사용 예시:
pyproject.toml:
[tool.uv] no-sources = true
uv.toml:
no-sources = true
no-sources-package지정된 패키지에 대해 tool.uv.sources를 무시합니다.
기본값: []
타입: list[str]
사용 예시:
pyproject.toml:
[tool.uv] no-sources-package = ["ruff"]
uv.toml:
no-sources-package = ["ruff"]
offline네트워크 접근을 비활성화합니다. 로컬에 캐시된 데이터와 사용 가능한 파일에만 의존합니다.
기본값: false
타입: bool
사용 예시:
pyproject.toml:
[tool.uv] offline = true
uv.toml:
offline = true
prerelease해결 시 사전 릴리스(pre-release) 버전을 고려하는 전략입니다.
기본값: "if-necessary-or-explicit"
가능한 값: "disallow", "allow", "if-necessary", "explicit", "if-necessary-or-explicit"
사용 예시:
pyproject.toml:
[tool.uv] prerelease = "allow"
uv.toml:
prerelease = "allow"
preview-features특정 또는 모든 실험적 프리뷰 기능을 활성화합니다. 알 수 없는 기능 이름은 경고와 함께 무시됩니다.
기본값: false
타입: bool | list[str]
사용 예시:
pyproject.toml:
[tool.uv] preview-features = true # or preview-features = ["python-upgrade"]
uv.toml:
preview-features = true # or preview-features = ["python-upgrade"]
publish-urlPython 패키지 인덱스에 패키지를 게시하기 위한 URL입니다. 기본값은 https://upload.pypi.org/legacy/ 입니다.
기본값: "https://upload.pypi.org/legacy/"
타입: str
사용 예시:
pyproject.toml:
[tool.uv] publish-url = "https://test.pypi.org/legacy/"
uv.toml:
publish-url = "https://test.pypi.org/legacy/"
pypy-install-mirror관리형 PyPy 설치를 다운로드하기 위한 미러 URL입니다. 기본 downloads.python.org 소스를 대체합니다.
기본값: None
타입: str
사용 예시:
uv.toml:
pypy-install-mirror = "https://downloads.python.org/pypy"
python-downloadsPython 다운로드를 허용할지 여부입니다.
기본값: "automatic"
가능한 값: "automatic", "manual", "never"
사용 예시:
pyproject.toml:
[tool.uv] python-downloads = "manual"
uv.toml:
python-downloads = "manual"
python-downloads-json-url사용자 정의 Python 설치 목록이 담긴 JSON을 가리키는 URL입니다.
기본값: None
타입: str
사용 예시:
uv.toml:
python-downloads-json-url = "/etc/uv/python-downloads.json"
python-install-mirror관리형 Python 설치를 다운로드하기 위한 미러 URL입니다. 기본 python-build-standalone 소스를 대체합니다.
기본값: None
타입: str
사용 예시:
uv.toml:
python-install-mirror = "https://github.com/astral-sh/python-build-standalone/releases/download"
python-preference시스템 Python 설치와 uv가 다운로드한 Python 중 어느 것을 선호할지 결정합니다.
기본값: "managed"
가능한 값: "only-managed", "managed", "system", "only-system"
사용 예시:
pyproject.toml:
[tool.uv] python-preference = "managed"
uv.toml:
python-preference = "managed"
reinstall이미 설치되어 있는지와 관계없이 모든 패키지를 재설치합니다.
기본값: false
타입: bool
사용 예시:
pyproject.toml:
[tool.uv] reinstall = true
uv.toml:
reinstall = true
reinstall-package이미 설치되어 있는지와 관계없이 특정 패키지를 재설치합니다.
기본값: []
타입: list[str]
사용 예시:
pyproject.toml:
[tool.uv] reinstall-package = ["ruff"]
uv.toml:
reinstall-package = ["ruff"]
required-versionuv 버전에 대한 요구사항을 강제합니다. PEP 440 지정자를 사용합니다.
기본값: null
타입: str
사용 예시:
pyproject.toml:
[tool.uv] required-version = ">=0.5.0"
uv.toml:
required-version = ">=0.5.0"
resolution호환 가능한 패키지 버전을 선택하는 전략입니다.
기본값: "highest"
가능한 값: "highest", "lowest", "lowest-direct"
사용 예시:
pyproject.toml:
[tool.uv] resolution = "lowest-direct"
uv.toml:
resolution = "lowest-direct"
system-certs번들된 Mozilla 인증서 대신 플랫폼의 기본 인증서 저장소에서 TLS 인증서를 로드합니다.
기본값: false
타입: bool
사용 예시:
uv.toml:
system-certs = true
torch-backendPyTorch 에코시스템의 패키지를 가져올 때 사용하는 백엔드입니다. auto 모드는 설치된 CUDA 드라이버를 기반으로 적절한 인덱스를 감지합니다. 이것은 프리뷰(preview) 기능입니다.
기본값: null
타입: str
사용 예시:
pyproject.toml:
[tool.uv] torch-backend = "auto"
uv.toml:
torch-backend = "auto"
trusted-publishing신뢰할 수 있는 게시(trusted publishing)를 구성합니다. 지원되는 환경(GitHub Actions, GitLab CI/CD)에서는 자동으로 감지됩니다.
기본값: automatic
타입: str
사용 예시:
pyproject.toml:
[tool.uv] trusted-publishing = "always"
uv.toml:
trusted-publishing = "always"
upgrade기존 출력 파일의 고정된 버전을 무시하고 패키지 업그레이드를 허용합니다.
기본값: false
타입: bool
사용 예시:
pyproject.toml:
[tool.uv] upgrade = true
uv.toml:
upgrade = true
upgrade-package특정 패키지의 업그레이드를 허용합니다. 단독 이름 또는 버전 지정자를 허용합니다.
기본값: []
타입: list[str]
사용 예시:
pyproject.toml:
[tool.uv] upgrade-package = ["ruff"]
uv.toml:
upgrade-package = ["ruff"]
auditignore감사(auditing) 중 무시할 취약점 ID입니다. 일치하는 취약점은 결과에서 제외됩니다.
기본값: []
타입: list[str]
사용 예시:
pyproject.toml:
[tool.uv.audit] ignore = ["PYSEC-2022-43017", "GHSA-5239-wwwm-4pmq"]
uv.toml:
[audit] ignore = ["PYSEC-2022-43017", "GHSA-5239-wwwm-4pmq"]
ignore-until-fixed수정이 없을 때만 무시할 취약점 ID입니다. 수정 버전이 사용 가능해지면 취약점이 다시 보고됩니다.
기본값: []
타입: list[str]
사용 예시:
pyproject.toml:
[tool.uv.audit] ignore-until-fixed = ["PYSEC-2022-43017"]
uv.toml:
[audit] ignore-until-fixed = ["PYSEC-2022-43017"]
pipuv pip 명령어 인터페이스에 특화된 설정입니다. uv pip 네임스페이스 외의 명령어에서는 이 값이 무시됩니다.
all-extras모든 선택적 의존성을 포함합니다. pyproject.toml, setup.py, setup.cfg 소스에만 적용됩니다.
기본값: false
타입: bool
사용 예시:
pyproject.toml:
[tool.uv.pip] all-extras = true
uv.toml:
[pip] all-extras = true
allow-empty-requirements빈 요구사항으로 uv pip sync를 실행하여 환경의 모든 패키지를 지울 수 있도록 허용합니다.
기본값: false
타입: bool
사용 예시:
pyproject.toml:
[tool.uv.pip] allow-empty-requirements = true
uv.toml:
[pip] allow-empty-requirements = true
annotation-style출력 파일에서 패키지 소스를 나타내는 주석 스타일입니다.
기본값: "split"
가능한 값: "line", "split"
사용 예시:
pyproject.toml:
[tool.uv.pip] annotation-style = "line"
uv.toml:
[pip] annotation-style = "line"
break-system-packagesuv가 EXTERNALLY-MANAGED Python 설치를 수정하도록 허용합니다. 외부 관리자가 패키지를 관리하는 CI 환경을 위한 것입니다.
기본값: false
타입: bool
사용 예시:
pyproject.toml:
[tool.uv.pip] break-system-packages = true
uv.toml:
[pip] break-system-packages = true
compile-bytecode설치 후 Python 파일을 바이트코드로 컴파일합니다. 설치 시간이 길어지지만 시작 속도가 빨라집니다.
기본값: false
타입: bool
사용 예시:
pyproject.toml:
[tool.uv.pip] compile-bytecode = true
uv.toml:
[pip] compile-bytecode = true
config-settingsKEY=VALUE 쌍으로 PEP 517 빌드 백엔드에 전달하는 설정입니다.
기본값: {}
타입: dict
사용 예시:
pyproject.toml:
[tool.uv.pip]
config-settings = { editable_mode = "compat" }
uv.toml:
[pip]
config-settings = { editable_mode = "compat" }
config-settings-package특정 패키지에 대해 PEP 517 빌드 백엔드에 전달하는 설정입니다.
기본값: {}
타입: dict
사용 예시:
pyproject.toml:
[tool.uv.pip]
config-settings-package = { numpy = { editable_mode = "compat" } }
uv.toml:
[pip]
config-settings-package = { numpy = { editable_mode = "compat" } }
custom-compile-commanduv pip compile로 생성된 출력 파일 상단에 포함할 헤더 주석입니다. 명령어를 래핑하는 사용자 정의 빌드 스크립트를 반영합니다.
기본값: None
타입: str
사용 예시:
pyproject.toml:
[tool.uv.pip] custom-compile-command = "./custom-uv-compile.sh"
uv.toml:
[pip] custom-compile-command = "./custom-uv-compile.sh"
dependency-metadata의존성에 대한 사전 정의된 정적 메타데이터입니다. 리졸버가 레지스트리를 조회하거나 소스에서 빌드하는 대신 지정된 메타데이터를 사용할 수 있도록 합니다.
기본값: []
타입: list[dict]
사용 예시:
pyproject.toml:
[tool.uv.pip]
dependency-metadata = [
{ name = "flask", version = "1.0.0", requires-dist = ["werkzeug"], requires-python = ">=3.6" },
]
uv.toml:
[pip]
dependency-metadata = [
{ name = "flask", version = "1.0.0", requires-dist = ["werkzeug"], requires-python = ">=3.6" },
]
emit-build-optionsuv pip compile로 생성된 출력 파일에 --no-binary 및 --only-binary 항목을 포함합니다.
기본값: false
타입: bool
사용 예시:
pyproject.toml:
[tool.uv.pip] emit-build-options = true
uv.toml:
[pip] emit-build-options = true
emit-find-linksuv pip compile로 생성된 출력 파일에 --find-links 항목을 포함합니다.
기본값: false
타입: bool
사용 예시:
pyproject.toml:
[tool.uv.pip] emit-find-links = true
uv.toml:
[pip] emit-find-links = true
emit-index-annotation각 패키지를 해결하는 데 사용된 인덱스를 나타내는 주석을 포함합니다.
기본값: false
타입: bool
사용 예시:
pyproject.toml:
[tool.uv.pip] emit-index-annotation = true
uv.toml:
[pip] emit-index-annotation = true
emit-index-urluv pip compile로 생성된 출력 파일에 --index-url 및 --extra-index-url 항목을 포함합니다.
기본값: false
타입: bool
사용 예시:
pyproject.toml:
[tool.uv.pip] emit-index-url = true
uv.toml:
[pip] emit-index-url = true
emit-marker-expression고정된 의존성 집합이 유효한 조건을 나타내는 마커 문자열을 내보냅니다.
기본값: false
타입: bool
사용 예시:
pyproject.toml:
[tool.uv.pip] emit-marker-expression = true
uv.toml:
[pip] emit-marker-expression = true
exclude-newer지정된 날짜 이전에 업로드된 패키지만 후보로 제한합니다. RFC 3339 타임스탬프, 친숙한 기간 표현, ISO 8601 기간을 허용합니다.
기본값: None
타입: str | false
사용 예시:
pyproject.toml:
[tool.uv.pip] exclude-newer = "2006-12-02T02:07:43Z"
uv.toml:
[pip] exclude-newer = "2006-12-02T02:07:43Z"
exclude-newer-package특정 패키지의 업로드 날짜를 기준으로 후보 패키지를 제한합니다.
기본값: None
타입: dict
사용 예시:
pyproject.toml:
[tool.uv.pip]
exclude-newer-package = { tqdm = "2022-04-04T00:00:00Z", markupsafe = false }
uv.toml:
[pip]
exclude-newer-package = { tqdm = "2022-04-04T00:00:00Z", markupsafe = false }
extra지정된 extras의 선택적 의존성을 포함합니다. 여러 번 제공할 수 있습니다. pyproject.toml, setup.py, setup.cfg 소스에만 적용됩니다.
기본값: []
타입: list[str]
사용 예시:
pyproject.toml:
[tool.uv.pip] extra = ["dev", "docs"]
uv.toml:
[pip] extra = ["dev", "docs"]
extra-build-dependenciesPEP 517 빌드 환경을 확장하기 위한 패키지의 추가 빌드 의존성입니다.
기본값: []
타입: dict
사용 예시:
pyproject.toml:
[tool.uv.pip]
extra-build-dependencies = { pytest = ["setuptools"] }
uv.toml:
[pip]
extra-build-dependencies = { pytest = ["setuptools"] }
extra-build-variables특정 패키지를 빌드할 때 설정할 추가 환경 변수입니다.
기본값: {}
타입: dict[str, dict[str, str]]
사용 예시:
pyproject.toml:
[tool.uv.pip]
extra-build-variables = { flash-attn = { FLASH_ATTENTION_SKIP_CUDA_BUILD = "TRUE" } }
uv.toml:
[pip]
extra-build-variables = { flash-attn = { FLASH_ATTENTION_SKIP_CUDA_BUILD = "TRUE" } }
extra-index-url--index-url에 추가할 패키지 인덱스 URL입니다. 여러 인덱스가 제공될 때 앞에 있는 값이 우선순위를 가집니다.
기본값: []
타입: list[str]
사용 예시:
pyproject.toml:
[tool.uv.pip] extra-index-url = ["https://download.pytorch.org/whl/cpu"]
uv.toml:
[pip] extra-index-url = ["https://download.pytorch.org/whl/cpu"]
find-links레지스트리 인덱스 외에 후보 배포판을 검색하는 위치입니다. 로컬 디렉터리 또는 플랫한 패키지 목록이 있는 URL이 될 수 있습니다.
기본값: []
타입: list[str]
사용 예시:
pyproject.toml:
[tool.uv.pip] find-links = ["https://download.pytorch.org/whl/torch_stable.html"]
uv.toml:
[pip] find-links = ["https://download.pytorch.org/whl/torch_stable.html"]
fork-strategyPython 버전과 플랫폼에 걸쳐 여러 패키지 버전을 선택하는 전략입니다.
기본값: "requires-python"
가능한 값: "fewest", "requires-python"
사용 예시:
pyproject.toml:
[tool.uv.pip] fork-strategy = "fewest"
uv.toml:
[pip] fork-strategy = "fewest"
generate-hashes출력 파일에 배포판 해시를 포함합니다.
기본값: false
타입: bool
사용 예시:
pyproject.toml:
[tool.uv.pip] generate-hashes = true
uv.toml:
[pip] generate-hashes = true
group다음 의존성 그룹을 포함합니다.
기본값: None
타입: list[str]
사용 예시:
pyproject.toml:
[tool.uv.pip] group = ["dev", "docs"]
uv.toml:
[pip] group = ["dev", "docs"]
index-strategy여러 인덱스 URL을 사용할 때의 해결 전략입니다. 기본적으로 의존성 혼동 공격을 방지합니다.
기본값: "first-index"
가능한 값: "first-index", "unsafe-first-match", "unsafe-best-match"
사용 예시:
pyproject.toml:
[tool.uv.pip] index-strategy = "unsafe-best-match"
uv.toml:
[pip] index-strategy = "unsafe-best-match"
index-urlPython 패키지 인덱스 URL입니다. 기본값은 https://pypi.org/simple 입니다.
기본값: "https://pypi.org/simple"
타입: str
사용 예시:
pyproject.toml:
[tool.uv.pip] index-url = "https://test.pypi.org/simple"
uv.toml:
[pip] index-url = "https://test.pypi.org/simple"
keyring-provider인증에 keyring을 사용합니다. 현재 subprocess만 지원합니다.
기본값: "disabled"
타입: str
사용 예시:
pyproject.toml:
[tool.uv.pip] keyring-provider = "subprocess"
uv.toml:
[pip] keyring-provider = "subprocess"
link-mode전역 캐시에서 패키지를 설치하는 방법입니다. macOS/Linux에서는 clone, Windows에서는 hardlink가 기본값입니다.
기본값: "clone" (macOS, Linux) or "hardlink" (Windows)
가능한 값: "clone", "copy", "hardlink", "symlink"
사용 예시:
pyproject.toml:
[tool.uv.pip] link-mode = "copy"
uv.toml:
[pip] link-mode = "copy"
no-annotate출력 파일에서 주석을 생략합니다.
기본값: false
타입: bool
사용 예시:
pyproject.toml:
[tool.uv.pip] no-annotate = true
uv.toml:
[pip] no-annotate = true
no-binary사전 빌드된 wheel을 설치하지 않습니다. 패키지는 소스에서 빌드 및 설치됩니다.
기본값: false
타입: bool
사용 예시:
pyproject.toml:
[tool.uv.pip] no-binary = true
uv.toml:
[pip] no-binary = true
no-build소스 배포판을 빌드하지 않습니다. 빌드가 필요한 작업은 오류와 함께 종료됩니다.
기본값: false
타입: bool
사용 예시:
pyproject.toml:
[tool.uv.pip] no-build = true
uv.toml:
[pip] no-build = true
no-build-isolation소스 배포판을 빌드할 때 격리를 비활성화합니다. PEP 518 빌드 의존성이 이미 설치되어 있다고 가정합니다.
기본값: false
타입: bool
사용 예시:
pyproject.toml:
[tool.uv.pip] no-build-isolation = true
uv.toml:
[pip] no-build-isolation = true
no-build-isolation-package특정 패키지의 소스 배포판을 빌드할 때 격리를 비활성화합니다.
기본값: []
타입: list[str]
사용 예시:
pyproject.toml:
[tool.uv.pip] no-build-isolation-package = ["package1", "package2"]
uv.toml:
[pip] no-build-isolation-package = ["package1", "package2"]
no-deps의존성을 설치하지 않고 지정된 패키지만 설치합니다.
사용 예시:
pyproject.toml:
[tool.uv.pip] no-deps = true
uv.toml:
[pip] no-deps = true
no-emit-package출력 파일에서 지정된 패키지를 내보내지 않습니다.
사용 예시:
pyproject.toml:
[tool.uv.pip] no-emit-package = ["package"]
uv.toml:
[pip] no-emit-package = ["package"]
no-extra지정된 extras의 선택적 의존성을 제외합니다.
사용 예시:
pyproject.toml:
[tool.uv.pip] no-extra = ["dev"]
uv.toml:
[pip] no-extra = ["dev"]
no-header출력 파일에서 헤더 주석을 생략합니다.
기본값: false
타입: bool
사용 예시:
pyproject.toml:
[tool.uv.pip] no-header = true
uv.toml:
[pip] no-header = true
no-index모든 레지스트리 인덱스를 무시하고, 직접 URL 의존성과 --find-links에만 의존합니다.
기본값: false
타입: bool
사용 예시:
pyproject.toml:
[tool.uv.pip] no-index = true
uv.toml:
[pip] no-index = true
no-sources의존성 해결 시 tool.uv.sources 테이블을 무시합니다.
기본값: false
타입: bool
사용 예시:
pyproject.toml:
[tool.uv.pip] no-sources = true
uv.toml:
[pip] no-sources = true
no-sources-package지정된 패키지에 대해 tool.uv.sources를 무시합니다.
기본값: []
타입: list[str]
사용 예시:
pyproject.toml:
[tool.uv.pip] no-sources-package = ["ruff"]
uv.toml:
[pip] no-sources-package = ["ruff"]
no-strip-extras출력 파일에서 extras를 제거하지 않습니다.
기본값: false
타입: bool
사용 예시:
pyproject.toml:
[tool.uv.pip] no-strip-extras = true
uv.toml:
[pip] no-strip-extras = true
no-strip-markers출력 파일에서 환경 마커를 제거하지 않습니다.
기본값: false
타입: bool
사용 예시:
pyproject.toml:
[tool.uv.pip] no-strip-markers = true
uv.toml:
[pip] no-strip-markers = true
only-binary사전 빌드된 wheel만 설치합니다. 소스 배포판은 빌드하지 않습니다.
기본값: false
타입: bool
사용 예시:
pyproject.toml:
[tool.uv.pip] only-binary = true
uv.toml:
[pip] only-binary = true
output-file컴파일된 요구사항의 출력 파일 이름입니다.
사용 예시:
pyproject.toml:
[tool.uv.pip] output-file = "requirements.txt"
uv.toml:
[pip] output-file = "requirements.txt"
prefix출력의 각 패키지 이름 앞에 붙일 접두사입니다.
사용 예시:
pyproject.toml:
[tool.uv.pip] prefix = "prefix-"
uv.toml:
[pip] prefix = "prefix-"
prerelease해결 시 사전 릴리스 버전을 고려하는 전략입니다.
기본값: "if-necessary-or-explicit"
가능한 값: "disallow", "allow", "if-necessary", "explicit", "if-necessary-or-explicit"
사용 예시:
pyproject.toml:
[tool.uv.pip] prerelease = "allow"
uv.toml:
[pip] prerelease = "allow"
python해결 대상 Python 버전입니다.
사용 예시:
pyproject.toml:
[tool.uv.pip] python = "3.10"
uv.toml:
[pip] python = "3.10"
python-platform해결 대상 플랫폼입니다.
사용 예시:
pyproject.toml:
[tool.uv.pip] python-platform = "linux"
uv.toml:
[pip] python-platform = "linux"
python-version해결 대상 Python 버전입니다.
사용 예시:
pyproject.toml:
[tool.uv.pip] python-version = "3.10"
uv.toml:
[pip] python-version = "3.10"
reinstall이미 설치되어 있는지와 관계없이 모든 패키지를 재설치합니다.
기본값: false
타입: bool
사용 예시:
pyproject.toml:
[tool.uv.pip] reinstall = true
uv.toml:
[pip] reinstall = true
reinstall-package이미 설치되어 있는지와 관계없이 특정 패키지를 재설치합니다.
기본값: []
타입: list[str]
사용 예시:
pyproject.toml:
[tool.uv.pip] reinstall-package = ["ruff"]
uv.toml:
[pip] reinstall-package = ["ruff"]
require-hashes출력 파일의 모든 패키지에 해시가 있어야 합니다.
기본값: false
타입: bool
사용 예시:
pyproject.toml:
[tool.uv.pip] require-hashes = true
uv.toml:
[pip] require-hashes = true
resolution호환 가능한 패키지 버전을 선택하는 전략입니다.
기본값: "highest"
가능한 값: "highest", "lowest", "lowest-direct"
사용 예시:
pyproject.toml:
[tool.uv.pip] resolution = "lowest-direct"
uv.toml:
[pip] resolution = "lowest-direct"
strict엄격 모드: 출력에서 패키지가 누락된 경우 실패합니다.
기본값: false
타입: bool
사용 예시:
pyproject.toml:
[tool.uv.pip] strict = true
uv.toml:
[pip] strict = true
system시스템 Python 설치를 사용합니다.
기본값: false
타입: bool
사용 예시:
pyproject.toml:
[tool.uv.pip] system = true
uv.toml:
[pip] system = true
target지정된 디렉터리에 패키지를 설치합니다.
사용 예시:
pyproject.toml:
[tool.uv.pip] target = "/path/to/target"
uv.toml:
[pip] target = "/path/to/target"
torch-backendPyTorch 에코시스템의 패키지를 가져올 때 사용하는 백엔드입니다. 이것은 프리뷰 기능입니다.
기본값: null
타입: str
사용 예시:
pyproject.toml:
[tool.uv.pip] torch-backend = "auto"
uv.toml:
[pip] torch-backend = "auto"
universal모든 플랫폼에 유효한 범용 해결을 생성합니다.
기본값: false
타입: bool
사용 예시:
pyproject.toml:
[tool.uv.pip] universal = true
uv.toml:
[pip] universal = true
upgrade기존 출력 파일의 고정된 버전을 무시하고 패키지 업그레이드를 허용합니다.
기본값: false
타입: bool
사용 예시:
pyproject.toml:
[tool.uv.pip] upgrade = true
uv.toml:
[pip] upgrade = true
upgrade-package특정 패키지의 업그레이드를 허용합니다. 단독 이름 또는 버전 지정자를 허용합니다.
기본값: []
타입: list[str]
사용 예시:
pyproject.toml:
[tool.uv.pip] upgrade-package = ["ruff"]
uv.toml:
[pip] upgrade-package = ["ruff"]
verify-hashes배포판 해시가 출력 파일의 해시와 일치하는지 검증합니다.
기본값: false
타입: bool
사용 예시:
pyproject.toml:
[tool.uv.pip] verify-hashes = true
uv.toml:
[pip] verify-hashes = true
원문(영어): https://docs.astral.sh/uv/reference/settings/ · 본 문서는 학습용 한국어 번역이며 원본의 권리는 원저작자(Astral)에게 있습니다.