5
0
mirror of https://github.com/astral-sh/setup-uv.git synced 2025-12-19 11:04:08 +00:00

Compare commits

..

4 Commits
v6.2 ... v6.3.1

Author SHA1 Message Date
Kevin Stillhammer
bd01e18f51 Do not warn when version not in manifest-file (#462)
This will spam the GitHub summary with warnings as soon as a new version
is released and no new setup-uv version containing this version in the
distributed manifest-file is released

Closes: #461
2025-06-25 07:25:37 +00:00
github-actions[bot]
c6a5ebaafe chore: update known versions for 0.7.14 (#459)
chore: update known versions for 0.7.14

Co-authored-by: eifinger <1481961+eifinger@users.noreply.github.com>
2025-06-24 09:53:39 +00:00
Kevin Stillhammer
790df8f465 Revert "Set expected cache dir drive to C: on windows (#451)" (#460)
This reverts commit 60ecb381b4.
2025-06-24 11:16:40 +02:00
Kevin Stillhammer
445689ea25 Use latest version from manifest-file (#458)
If a manifest-file is supplied the default value of the version input
(latest) will get the latest version available in the manifest. That
might not be the actual latest version available in the official uv
repo.
2025-06-19 21:23:43 +02:00
8 changed files with 247 additions and 20 deletions

View File

@@ -422,7 +422,7 @@ jobs:
- os: ubuntu-latest - os: ubuntu-latest
expected-cache-dir: "/home/runner/work/_temp/setup-uv-cache" expected-cache-dir: "/home/runner/work/_temp/setup-uv-cache"
- os: windows-latest - os: windows-latest
expected-cache-dir: "C:\\a\\_temp\\setup-uv-cache" expected-cache-dir: "D:\\a\\_temp\\setup-uv-cache"
- os: selfhosted-ubuntu-arm64 - os: selfhosted-ubuntu-arm64
expected-cache-dir: "/home/ubuntu/.cache/uv" expected-cache-dir: "/home/ubuntu/.cache/uv"
runs-on: ${{ matrix.inputs.os }} runs-on: ${{ matrix.inputs.os }}
@@ -540,7 +540,6 @@ jobs:
- name: Install from custom manifest file - name: Install from custom manifest file
uses: ./ uses: ./
with: with:
version: 0.7.12-alpha.1
manifest-file: "https://raw.githubusercontent.com/astral-sh/setup-uv/${{ github.ref }}/__tests__/download/custom-manifest.json" manifest-file: "https://raw.githubusercontent.com/astral-sh/setup-uv/${{ github.ref }}/__tests__/download/custom-manifest.json"
- run: uv sync - run: uv sync
working-directory: __tests__/fixtures/uv-project working-directory: __tests__/fixtures/uv-project

View File

@@ -430,6 +430,11 @@ This is useful if you maintain your own uv builds or want to override the defaul
manifest-file: "https://example.com/my-custom-manifest.json" manifest-file: "https://example.com/my-custom-manifest.json"
``` ```
> [!NOTE]
> When you use a custom manifest file and do not set the `version` input, its default value is `latest`.
> This means the action will install the latest version available in the custom manifest file.
> This is different from the default behavior of installing the latest version from the official uv releases.
## How it works ## How it works
This action downloads uv from the uv repo's official This action downloads uv from the uv repo's official

42
dist/setup/index.js generated vendored
View File

@@ -121563,6 +121563,24 @@ Object.defineProperty(exports, "__esModule", ({ value: true }));
exports.KNOWN_CHECKSUMS = void 0; exports.KNOWN_CHECKSUMS = void 0;
// AUTOGENERATED_DO_NOT_EDIT // AUTOGENERATED_DO_NOT_EDIT
exports.KNOWN_CHECKSUMS = { exports.KNOWN_CHECKSUMS = {
"aarch64-apple-darwin-0.7.14": "7cb9cb6b3005a16356493887d7e7e297237b754b5753b91e826ada98ab2da172",
"aarch64-pc-windows-msvc-0.7.14": "f28f27e529e30e96e7b289b724c8229cfc5ca25312c23bdae089d6998ffd0aae",
"aarch64-unknown-linux-gnu-0.7.14": "c0932f428d24d87aaad6a6b7ad48aa09f260d2da5c69e877acd87c3ac90fbbad",
"aarch64-unknown-linux-musl-0.7.14": "30e41b1f68b3e57c1375c0b2e7fe932a9eb5487fbcef7c4c7d03def3e05b9f7e",
"arm-unknown-linux-musleabihf-0.7.14": "3b494d3d6a892d9c03d1fa6dcec8ac6077653939a6645570ab6f1f40adbd0b3c",
"armv7-unknown-linux-gnueabihf-0.7.14": "d5d1f6c49559914678267ce9f3a57528ab45e26e907a816736306b4f10a7b4b8",
"armv7-unknown-linux-musleabihf-0.7.14": "0016d3138edc52de9f2f4b0587afb6b579dc3bb3abfe2df151f97cc43a4ab421",
"i686-pc-windows-msvc-0.7.14": "42391f3a71229342b17d944e956d116aabc5147b0ed28a26c59601feac1f24cd",
"i686-unknown-linux-gnu-0.7.14": "71c358c315da7ddd2de334fe52a54719f9bdac8d6970e7966e2d080ae73ad028",
"i686-unknown-linux-musl-0.7.14": "d02de9391fe7b7d7e97dc2fa63a539201a31eb51d2c6a87b7570cf8a5ac22398",
"powerpc64-unknown-linux-gnu-0.7.14": "a2a43332f860520f7cd3d32f5a4ed5e0d938cc59e025372f8f1bfe47ea64355a",
"powerpc64le-unknown-linux-gnu-0.7.14": "3c545528b601a75baad5e1cc93cbf973123e9e6df6d905b432d91ba9ca769c0b",
"riscv64gc-unknown-linux-gnu-0.7.14": "4085fd8d4acb0a50a012fa63ae37e50472bf8742d58f4943529b5b5bda95a1a9",
"s390x-unknown-linux-gnu-0.7.14": "b20a69092f3171dd99445fe0d71e3ed3e67ff85346cb0723a43a1b8d55ce0f33",
"x86_64-apple-darwin-0.7.14": "352a56bb3823040f19f936dd5e277340cd304da03e5b00c0959800a72a9f55ac",
"x86_64-pc-windows-msvc-0.7.14": "f9ac952c69d32b2263ba19ba93d18d9e708dcb9bddb8124555bbda96d6d5168f",
"x86_64-unknown-linux-gnu-0.7.14": "2b38641d02bf107c5099f09778fda93bbaa4a4a2ee44ba303a4097102254e5e5",
"x86_64-unknown-linux-musl-0.7.14": "8c62a823744630e6cf3fdf0bf38c4fe4558bfcbe082b076a76446a3aab2af5f5",
"aarch64-apple-darwin-0.7.13": "721f532b73171586574298d4311a91d5ea2c802ef4db3ebafc434239330090c6", "aarch64-apple-darwin-0.7.13": "721f532b73171586574298d4311a91d5ea2c802ef4db3ebafc434239330090c6",
"aarch64-pc-windows-msvc-0.7.13": "bb40708ad549ad6a12209cb139dd751bf0ede41deb679ce7513ce197bd9ef234", "aarch64-pc-windows-msvc-0.7.13": "bb40708ad549ad6a12209cb139dd751bf0ede41deb679ce7513ce197bd9ef234",
"aarch64-unknown-linux-gnu-0.7.13": "0b2ad9fe4295881615295add8cc5daa02549d29cc9a61f0578e397efcf12f08f", "aarch64-unknown-linux-gnu-0.7.13": "0b2ad9fe4295881615295add8cc5daa02549d29cc9a61f0578e397efcf12f08f",
@@ -124708,7 +124726,7 @@ async function downloadVersionFromGithub(serverUrl, platform, arch, version, che
async function downloadVersionFromManifest(manifestUrl, platform, arch, version, checkSum, githubToken) { async function downloadVersionFromManifest(manifestUrl, platform, arch, version, checkSum, githubToken) {
const downloadUrl = await (0, version_manifest_1.getDownloadUrl)(manifestUrl, version, arch, platform); const downloadUrl = await (0, version_manifest_1.getDownloadUrl)(manifestUrl, version, arch, platform);
if (!downloadUrl) { if (!downloadUrl) {
core.warning(`manifest-file does not contain version ${version}, arch ${arch}, platform ${platform}. Falling back to GitHub releases.`); core.info(`manifest-file does not contain version ${version}, arch ${arch}, platform ${platform}. Falling back to GitHub releases.`);
return await downloadVersionFromGithub("https://github.com", platform, arch, version, checkSum, githubToken); return await downloadVersionFromGithub("https://github.com", platform, arch, version, checkSum, githubToken);
} }
return await downloadVersion(downloadUrl, `uv-${arch}-${platform}`, platform, arch, version, checkSum, githubToken); return await downloadVersion(downloadUrl, `uv-${arch}-${platform}`, platform, arch, version, checkSum, githubToken);
@@ -124735,11 +124753,21 @@ async function downloadVersion(downloadUrl, artifactName, platform, arch, versio
function getExtension(platform) { function getExtension(platform) {
return platform === "pc-windows-msvc" ? ".zip" : ".tar.gz"; return platform === "pc-windows-msvc" ? ".zip" : ".tar.gz";
} }
async function resolveVersion(versionInput, githubToken) { async function resolveVersion(versionInput, manifestFile, githubToken) {
core.debug(`Resolving version: ${versionInput}`); core.debug(`Resolving version: ${versionInput}`);
const version = versionInput === "latest" let version;
if (manifestFile) {
version =
versionInput === "latest"
? await (0, version_manifest_1.getLatestKnownVersion)(manifestFile)
: versionInput;
}
else {
version =
versionInput === "latest"
? await getLatestVersion(githubToken) ? await getLatestVersion(githubToken)
: versionInput; : versionInput;
}
if (tc.isExplicitVersion(version)) { if (tc.isExplicitVersion(version)) {
core.debug(`Version ${version} is an explicit version.`); core.debug(`Version ${version} is an explicit version.`);
return version; return version;
@@ -125105,7 +125133,7 @@ function detectEmptyWorkdir() {
} }
} }
async function setupUv(platform, arch, checkSum, githubToken) { async function setupUv(platform, arch, checkSum, githubToken) {
const resolvedVersion = await determineVersion(); const resolvedVersion = await determineVersion(inputs_1.manifestFile);
const toolCacheResult = (0, download_version_1.tryGetFromToolCache)(arch, resolvedVersion); const toolCacheResult = (0, download_version_1.tryGetFromToolCache)(arch, resolvedVersion);
if (toolCacheResult.installedPath) { if (toolCacheResult.installedPath) {
core.info(`Found uv in tool-cache for ${toolCacheResult.version}`); core.info(`Found uv in tool-cache for ${toolCacheResult.version}`);
@@ -125127,16 +125155,16 @@ async function setupUv(platform, arch, checkSum, githubToken) {
version: downloadVersionResult.version, version: downloadVersionResult.version,
}; };
} }
async function determineVersion() { async function determineVersion(manifestFile) {
if (inputs_1.version !== "") { if (inputs_1.version !== "") {
return await (0, download_version_1.resolveVersion)(inputs_1.version, inputs_1.githubToken); return await (0, download_version_1.resolveVersion)(inputs_1.version, manifestFile, inputs_1.githubToken);
} }
const versionFromUvToml = (0, config_file_1.getUvVersionFromConfigFile)(`${inputs_1.workingDirectory}${path.sep}uv.toml`); const versionFromUvToml = (0, config_file_1.getUvVersionFromConfigFile)(`${inputs_1.workingDirectory}${path.sep}uv.toml`);
const versionFromPyproject = (0, config_file_1.getUvVersionFromConfigFile)(`${inputs_1.workingDirectory}${path.sep}pyproject.toml`); const versionFromPyproject = (0, config_file_1.getUvVersionFromConfigFile)(`${inputs_1.workingDirectory}${path.sep}pyproject.toml`);
if (versionFromUvToml === undefined && versionFromPyproject === undefined) { if (versionFromUvToml === undefined && versionFromPyproject === undefined) {
core.info("Could not determine uv version from uv.toml or pyproject.toml. Falling back to latest."); core.info("Could not determine uv version from uv.toml or pyproject.toml. Falling back to latest.");
} }
return await (0, download_version_1.resolveVersion)(versionFromUvToml || versionFromPyproject || "latest", inputs_1.githubToken); return await (0, download_version_1.resolveVersion)(versionFromUvToml || versionFromPyproject || "latest", manifestFile, inputs_1.githubToken);
} }
function addUvToPathAndOutput(cachedPath) { function addUvToPathAndOutput(cachedPath) {
core.setOutput("uv-path", `${cachedPath}${path.sep}uv`); core.setOutput("uv-path", `${cachedPath}${path.sep}uv`);

18
dist/update-known-versions/index.js generated vendored
View File

@@ -59221,6 +59221,24 @@ Object.defineProperty(exports, "__esModule", ({ value: true }));
exports.KNOWN_CHECKSUMS = void 0; exports.KNOWN_CHECKSUMS = void 0;
// AUTOGENERATED_DO_NOT_EDIT // AUTOGENERATED_DO_NOT_EDIT
exports.KNOWN_CHECKSUMS = { exports.KNOWN_CHECKSUMS = {
"aarch64-apple-darwin-0.7.14": "7cb9cb6b3005a16356493887d7e7e297237b754b5753b91e826ada98ab2da172",
"aarch64-pc-windows-msvc-0.7.14": "f28f27e529e30e96e7b289b724c8229cfc5ca25312c23bdae089d6998ffd0aae",
"aarch64-unknown-linux-gnu-0.7.14": "c0932f428d24d87aaad6a6b7ad48aa09f260d2da5c69e877acd87c3ac90fbbad",
"aarch64-unknown-linux-musl-0.7.14": "30e41b1f68b3e57c1375c0b2e7fe932a9eb5487fbcef7c4c7d03def3e05b9f7e",
"arm-unknown-linux-musleabihf-0.7.14": "3b494d3d6a892d9c03d1fa6dcec8ac6077653939a6645570ab6f1f40adbd0b3c",
"armv7-unknown-linux-gnueabihf-0.7.14": "d5d1f6c49559914678267ce9f3a57528ab45e26e907a816736306b4f10a7b4b8",
"armv7-unknown-linux-musleabihf-0.7.14": "0016d3138edc52de9f2f4b0587afb6b579dc3bb3abfe2df151f97cc43a4ab421",
"i686-pc-windows-msvc-0.7.14": "42391f3a71229342b17d944e956d116aabc5147b0ed28a26c59601feac1f24cd",
"i686-unknown-linux-gnu-0.7.14": "71c358c315da7ddd2de334fe52a54719f9bdac8d6970e7966e2d080ae73ad028",
"i686-unknown-linux-musl-0.7.14": "d02de9391fe7b7d7e97dc2fa63a539201a31eb51d2c6a87b7570cf8a5ac22398",
"powerpc64-unknown-linux-gnu-0.7.14": "a2a43332f860520f7cd3d32f5a4ed5e0d938cc59e025372f8f1bfe47ea64355a",
"powerpc64le-unknown-linux-gnu-0.7.14": "3c545528b601a75baad5e1cc93cbf973123e9e6df6d905b432d91ba9ca769c0b",
"riscv64gc-unknown-linux-gnu-0.7.14": "4085fd8d4acb0a50a012fa63ae37e50472bf8742d58f4943529b5b5bda95a1a9",
"s390x-unknown-linux-gnu-0.7.14": "b20a69092f3171dd99445fe0d71e3ed3e67ff85346cb0723a43a1b8d55ce0f33",
"x86_64-apple-darwin-0.7.14": "352a56bb3823040f19f936dd5e277340cd304da03e5b00c0959800a72a9f55ac",
"x86_64-pc-windows-msvc-0.7.14": "f9ac952c69d32b2263ba19ba93d18d9e708dcb9bddb8124555bbda96d6d5168f",
"x86_64-unknown-linux-gnu-0.7.14": "2b38641d02bf107c5099f09778fda93bbaa4a4a2ee44ba303a4097102254e5e5",
"x86_64-unknown-linux-musl-0.7.14": "8c62a823744630e6cf3fdf0bf38c4fe4558bfcbe082b076a76446a3aab2af5f5",
"aarch64-apple-darwin-0.7.13": "721f532b73171586574298d4311a91d5ea2c802ef4db3ebafc434239330090c6", "aarch64-apple-darwin-0.7.13": "721f532b73171586574298d4311a91d5ea2c802ef4db3ebafc434239330090c6",
"aarch64-pc-windows-msvc-0.7.13": "bb40708ad549ad6a12209cb139dd751bf0ede41deb679ce7513ce197bd9ef234", "aarch64-pc-windows-msvc-0.7.13": "bb40708ad549ad6a12209cb139dd751bf0ede41deb679ce7513ce197bd9ef234",
"aarch64-unknown-linux-gnu-0.7.13": "0b2ad9fe4295881615295add8cc5daa02549d29cc9a61f0578e397efcf12f08f", "aarch64-unknown-linux-gnu-0.7.13": "0b2ad9fe4295881615295add8cc5daa02549d29cc9a61f0578e397efcf12f08f",

View File

@@ -1,5 +1,41 @@
// AUTOGENERATED_DO_NOT_EDIT // AUTOGENERATED_DO_NOT_EDIT
export const KNOWN_CHECKSUMS: { [key: string]: string } = { export const KNOWN_CHECKSUMS: { [key: string]: string } = {
"aarch64-apple-darwin-0.7.14":
"7cb9cb6b3005a16356493887d7e7e297237b754b5753b91e826ada98ab2da172",
"aarch64-pc-windows-msvc-0.7.14":
"f28f27e529e30e96e7b289b724c8229cfc5ca25312c23bdae089d6998ffd0aae",
"aarch64-unknown-linux-gnu-0.7.14":
"c0932f428d24d87aaad6a6b7ad48aa09f260d2da5c69e877acd87c3ac90fbbad",
"aarch64-unknown-linux-musl-0.7.14":
"30e41b1f68b3e57c1375c0b2e7fe932a9eb5487fbcef7c4c7d03def3e05b9f7e",
"arm-unknown-linux-musleabihf-0.7.14":
"3b494d3d6a892d9c03d1fa6dcec8ac6077653939a6645570ab6f1f40adbd0b3c",
"armv7-unknown-linux-gnueabihf-0.7.14":
"d5d1f6c49559914678267ce9f3a57528ab45e26e907a816736306b4f10a7b4b8",
"armv7-unknown-linux-musleabihf-0.7.14":
"0016d3138edc52de9f2f4b0587afb6b579dc3bb3abfe2df151f97cc43a4ab421",
"i686-pc-windows-msvc-0.7.14":
"42391f3a71229342b17d944e956d116aabc5147b0ed28a26c59601feac1f24cd",
"i686-unknown-linux-gnu-0.7.14":
"71c358c315da7ddd2de334fe52a54719f9bdac8d6970e7966e2d080ae73ad028",
"i686-unknown-linux-musl-0.7.14":
"d02de9391fe7b7d7e97dc2fa63a539201a31eb51d2c6a87b7570cf8a5ac22398",
"powerpc64-unknown-linux-gnu-0.7.14":
"a2a43332f860520f7cd3d32f5a4ed5e0d938cc59e025372f8f1bfe47ea64355a",
"powerpc64le-unknown-linux-gnu-0.7.14":
"3c545528b601a75baad5e1cc93cbf973123e9e6df6d905b432d91ba9ca769c0b",
"riscv64gc-unknown-linux-gnu-0.7.14":
"4085fd8d4acb0a50a012fa63ae37e50472bf8742d58f4943529b5b5bda95a1a9",
"s390x-unknown-linux-gnu-0.7.14":
"b20a69092f3171dd99445fe0d71e3ed3e67ff85346cb0723a43a1b8d55ce0f33",
"x86_64-apple-darwin-0.7.14":
"352a56bb3823040f19f936dd5e277340cd304da03e5b00c0959800a72a9f55ac",
"x86_64-pc-windows-msvc-0.7.14":
"f9ac952c69d32b2263ba19ba93d18d9e708dcb9bddb8124555bbda96d6d5168f",
"x86_64-unknown-linux-gnu-0.7.14":
"2b38641d02bf107c5099f09778fda93bbaa4a4a2ee44ba303a4097102254e5e5",
"x86_64-unknown-linux-musl-0.7.14":
"8c62a823744630e6cf3fdf0bf38c4fe4558bfcbe082b076a76446a3aab2af5f5",
"aarch64-apple-darwin-0.7.13": "aarch64-apple-darwin-0.7.13":
"721f532b73171586574298d4311a91d5ea2c802ef4db3ebafc434239330090c6", "721f532b73171586574298d4311a91d5ea2c802ef4db3ebafc434239330090c6",
"aarch64-pc-windows-msvc-0.7.13": "aarch64-pc-windows-msvc-0.7.13":

View File

@@ -7,7 +7,10 @@ import { OWNER, REPO, TOOL_CACHE_NAME } from "../utils/constants";
import type { Architecture, Platform } from "../utils/platforms"; import type { Architecture, Platform } from "../utils/platforms";
import { validateChecksum } from "./checksum/checksum"; import { validateChecksum } from "./checksum/checksum";
import { Octokit } from "../utils/octokit"; import { Octokit } from "../utils/octokit";
import { getDownloadUrl } from "./version-manifest"; import {
getDownloadUrl,
getLatestKnownVersion as getLatestVersionInManifest,
} from "./version-manifest";
export function tryGetFromToolCache( export function tryGetFromToolCache(
arch: Architecture, arch: Architecture,
@@ -61,7 +64,7 @@ export async function downloadVersionFromManifest(
platform, platform,
); );
if (!downloadUrl) { if (!downloadUrl) {
core.warning( core.info(
`manifest-file does not contain version ${version}, arch ${arch}, platform ${platform}. Falling back to GitHub releases.`, `manifest-file does not contain version ${version}, arch ${arch}, platform ${platform}. Falling back to GitHub releases.`,
); );
return await downloadVersionFromGithub( return await downloadVersionFromGithub(
@@ -127,13 +130,22 @@ function getExtension(platform: Platform): string {
export async function resolveVersion( export async function resolveVersion(
versionInput: string, versionInput: string,
manifestFile: string | undefined,
githubToken: string, githubToken: string,
): Promise<string> { ): Promise<string> {
core.debug(`Resolving version: ${versionInput}`); core.debug(`Resolving version: ${versionInput}`);
const version = let version: string;
if (manifestFile) {
version =
versionInput === "latest"
? await getLatestVersionInManifest(manifestFile)
: versionInput;
} else {
version =
versionInput === "latest" versionInput === "latest"
? await getLatestVersion(githubToken) ? await getLatestVersion(githubToken)
: versionInput; : versionInput;
}
if (tc.isExplicitVersion(version)) { if (tc.isExplicitVersion(version)) {
core.debug(`Version ${version} is an explicit version.`); core.debug(`Version ${version} is an explicit version.`);
return version; return version;

View File

@@ -87,7 +87,7 @@ async function setupUv(
checkSum: string | undefined, checkSum: string | undefined,
githubToken: string, githubToken: string,
): Promise<{ uvDir: string; version: string }> { ): Promise<{ uvDir: string; version: string }> {
const resolvedVersion = await determineVersion(); const resolvedVersion = await determineVersion(manifestFile);
const toolCacheResult = tryGetFromToolCache(arch, resolvedVersion); const toolCacheResult = tryGetFromToolCache(arch, resolvedVersion);
if (toolCacheResult.installedPath) { if (toolCacheResult.installedPath) {
core.info(`Found uv in tool-cache for ${toolCacheResult.version}`); core.info(`Found uv in tool-cache for ${toolCacheResult.version}`);
@@ -127,9 +127,11 @@ async function setupUv(
}; };
} }
async function determineVersion(): Promise<string> { async function determineVersion(
manifestFile: string | undefined,
): Promise<string> {
if (versionInput !== "") { if (versionInput !== "") {
return await resolveVersion(versionInput, githubToken); return await resolveVersion(versionInput, manifestFile, githubToken);
} }
const versionFromUvToml = getUvVersionFromConfigFile( const versionFromUvToml = getUvVersionFromConfigFile(
`${workingDirectory}${path.sep}uv.toml`, `${workingDirectory}${path.sep}uv.toml`,
@@ -144,6 +146,7 @@ async function determineVersion(): Promise<string> {
} }
return await resolveVersion( return await resolveVersion(
versionFromUvToml || versionFromPyproject || "latest", versionFromUvToml || versionFromPyproject || "latest",
manifestFile,
githubToken, githubToken,
); );
} }

View File

@@ -1,4 +1,130 @@
[ [
{
"version": "0.7.14",
"artifactName": "uv-aarch64-apple-darwin.tar.gz",
"arch": "aarch64",
"platform": "apple-darwin",
"downloadUrl": "https://github.com/astral-sh/uv/releases/download/0.7.14/uv-aarch64-apple-darwin.tar.gz"
},
{
"version": "0.7.14",
"artifactName": "uv-aarch64-pc-windows-msvc.zip",
"arch": "aarch64",
"platform": "pc-windows-msvc",
"downloadUrl": "https://github.com/astral-sh/uv/releases/download/0.7.14/uv-aarch64-pc-windows-msvc.zip"
},
{
"version": "0.7.14",
"artifactName": "uv-aarch64-unknown-linux-gnu.tar.gz",
"arch": "aarch64",
"platform": "unknown-linux-gnu",
"downloadUrl": "https://github.com/astral-sh/uv/releases/download/0.7.14/uv-aarch64-unknown-linux-gnu.tar.gz"
},
{
"version": "0.7.14",
"artifactName": "uv-aarch64-unknown-linux-musl.tar.gz",
"arch": "aarch64",
"platform": "unknown-linux-musl",
"downloadUrl": "https://github.com/astral-sh/uv/releases/download/0.7.14/uv-aarch64-unknown-linux-musl.tar.gz"
},
{
"version": "0.7.14",
"artifactName": "uv-arm-unknown-linux-musleabihf.tar.gz",
"arch": "arm",
"platform": "unknown-linux-musleabihf",
"downloadUrl": "https://github.com/astral-sh/uv/releases/download/0.7.14/uv-arm-unknown-linux-musleabihf.tar.gz"
},
{
"version": "0.7.14",
"artifactName": "uv-armv7-unknown-linux-gnueabihf.tar.gz",
"arch": "armv7",
"platform": "unknown-linux-gnueabihf",
"downloadUrl": "https://github.com/astral-sh/uv/releases/download/0.7.14/uv-armv7-unknown-linux-gnueabihf.tar.gz"
},
{
"version": "0.7.14",
"artifactName": "uv-armv7-unknown-linux-musleabihf.tar.gz",
"arch": "armv7",
"platform": "unknown-linux-musleabihf",
"downloadUrl": "https://github.com/astral-sh/uv/releases/download/0.7.14/uv-armv7-unknown-linux-musleabihf.tar.gz"
},
{
"version": "0.7.14",
"artifactName": "uv-i686-pc-windows-msvc.zip",
"arch": "i686",
"platform": "pc-windows-msvc",
"downloadUrl": "https://github.com/astral-sh/uv/releases/download/0.7.14/uv-i686-pc-windows-msvc.zip"
},
{
"version": "0.7.14",
"artifactName": "uv-i686-unknown-linux-gnu.tar.gz",
"arch": "i686",
"platform": "unknown-linux-gnu",
"downloadUrl": "https://github.com/astral-sh/uv/releases/download/0.7.14/uv-i686-unknown-linux-gnu.tar.gz"
},
{
"version": "0.7.14",
"artifactName": "uv-i686-unknown-linux-musl.tar.gz",
"arch": "i686",
"platform": "unknown-linux-musl",
"downloadUrl": "https://github.com/astral-sh/uv/releases/download/0.7.14/uv-i686-unknown-linux-musl.tar.gz"
},
{
"version": "0.7.14",
"artifactName": "uv-powerpc64-unknown-linux-gnu.tar.gz",
"arch": "powerpc64",
"platform": "unknown-linux-gnu",
"downloadUrl": "https://github.com/astral-sh/uv/releases/download/0.7.14/uv-powerpc64-unknown-linux-gnu.tar.gz"
},
{
"version": "0.7.14",
"artifactName": "uv-powerpc64le-unknown-linux-gnu.tar.gz",
"arch": "powerpc64le",
"platform": "unknown-linux-gnu",
"downloadUrl": "https://github.com/astral-sh/uv/releases/download/0.7.14/uv-powerpc64le-unknown-linux-gnu.tar.gz"
},
{
"version": "0.7.14",
"artifactName": "uv-riscv64gc-unknown-linux-gnu.tar.gz",
"arch": "riscv64gc",
"platform": "unknown-linux-gnu",
"downloadUrl": "https://github.com/astral-sh/uv/releases/download/0.7.14/uv-riscv64gc-unknown-linux-gnu.tar.gz"
},
{
"version": "0.7.14",
"artifactName": "uv-s390x-unknown-linux-gnu.tar.gz",
"arch": "s390x",
"platform": "unknown-linux-gnu",
"downloadUrl": "https://github.com/astral-sh/uv/releases/download/0.7.14/uv-s390x-unknown-linux-gnu.tar.gz"
},
{
"version": "0.7.14",
"artifactName": "uv-x86_64-apple-darwin.tar.gz",
"arch": "x86_64",
"platform": "apple-darwin",
"downloadUrl": "https://github.com/astral-sh/uv/releases/download/0.7.14/uv-x86_64-apple-darwin.tar.gz"
},
{
"version": "0.7.14",
"artifactName": "uv-x86_64-pc-windows-msvc.zip",
"arch": "x86_64",
"platform": "pc-windows-msvc",
"downloadUrl": "https://github.com/astral-sh/uv/releases/download/0.7.14/uv-x86_64-pc-windows-msvc.zip"
},
{
"version": "0.7.14",
"artifactName": "uv-x86_64-unknown-linux-gnu.tar.gz",
"arch": "x86_64",
"platform": "unknown-linux-gnu",
"downloadUrl": "https://github.com/astral-sh/uv/releases/download/0.7.14/uv-x86_64-unknown-linux-gnu.tar.gz"
},
{
"version": "0.7.14",
"artifactName": "uv-x86_64-unknown-linux-musl.tar.gz",
"arch": "x86_64",
"platform": "unknown-linux-musl",
"downloadUrl": "https://github.com/astral-sh/uv/releases/download/0.7.14/uv-x86_64-unknown-linux-musl.tar.gz"
},
{ {
"version": "0.7.13", "version": "0.7.13",
"artifactName": "uv-aarch64-apple-darwin.tar.gz", "artifactName": "uv-aarch64-apple-darwin.tar.gz",