From e223503b0303b6e257f6e264bcb0815dde8528b0 Mon Sep 17 00:00:00 2001 From: Teknium <127238744+teknium1@users.noreply.github.com> Date: Wed, 3 Jun 2026 14:43:49 -0700 Subject: [PATCH] fix(packaging): modernize project.license to PEP 639 SPDX string (#38353) * fix(packaging): modernize project.license to PEP 639 SPDX string Drops the SetuptoolsDeprecationWarning ('project.license as a TOML table is deprecated') emitted on every editable build under setuptools>=77 by switching license = { text = "MIT" } to the SPDX string form plus an explicit license-files entry. Bumps build-system requires to setuptools>=77 so an older build backend can't reject the string form. The warning was non-fatal (builds succeed with it) but surfaces prominently in install.ps1 build-failure output, where it gets mistaken for the cause of unrelated Windows build_editable crashes. * fix(packaging): bound setuptools build requirement per supply-chain policy Add the <83 upper bound to setuptools>=77.0 so the dep-bounds supply-chain gate (>=floor,=77. Keep this floor in lockstep with the `license` form in +# [project]; an older build backend rejects the string form. [build-system] -requires = ["setuptools>=61.0"] +requires = ["setuptools>=77.0,<83"] build-backend = "setuptools.build_meta" [project] @@ -9,7 +12,8 @@ description = "The self-improving AI agent — creates skills from experience, i readme = "README.md" requires-python = ">=3.11" authors = [{ name = "Nous Research" }] -license = { text = "MIT" } +license = "MIT" +license-files = ["LICENSE"] dependencies = [ # Core — every direct dep is exact-pinned to ==X.Y.Z (no ranges). # Rationale: ranges allow PyPI to ship a fresh version of a transitive