PEP 751: lock files (again)

Sorry for the delay. I have a PR here that modifies the lockfile to include the “fully-resolved” markers for each node. I spot-checked some of the simpler examples but I should do a bit more work to ensure that (e.g.) the transformers markers are correct.

The largest marker that I see just from scanning visually is


Just scanning visually, the largest I see is `greenlet` in the `transformers` lockfile, which is 463 characters long:

markers = "(python_full_version < '3.13' and platform_machine == 'AMD64') or (python_full_version < '3.13' and platform_machine == 'WIN32') or (python_full_version < '3.13' and platform_machine == 'aarch64') or (python_full_version < '3.13' and platform_machine == 'amd64') or (python_full_version < '3.13' and platform_machine == 'ppc64le') or (python_full_version < '3.13' and platform_machine == 'win32') or (python_full_version < '3.13' and platform_machine == 'x86_64')"

(Edit: Ibraheem from our team pointed out to me that this marker is actually very simple as CNF but our normalization uses DNF by default. We could probably toggle to CNF in some cases.)

1 Like