- 10月 29, 2024
-
-
由 John Sirois 创作于
You can now specify one or more `--group <name>@<project_dir>` as sources of requirements when building a PEX or creating a lock. See: https://peps.python.org/pep-0735
-
由 John Sirois 创作于
The changelog is here: https://pip.pypa.io/en/stable/news/#v24-3-1
-
- 10月 28, 2024
-
-
由 John Sirois 创作于
The changelog is here: https://pip.pypa.io/en/stable/news/#v24-3
-
- 10月 27, 2024
-
-
由 John Sirois 创作于
Previously, the work dir path of the `atomic_directory` used to create the venv would leak into various cached paths in the `PythonInterpreter` `INTERP-INFO` file. Now, these paths are corrected at creation time. This is work towards `pex3 cache prune --last-access` which will need to iterate cached interpreters to find any associated with venvs such that the interpreter can be pruned when the venv is pruned.
-
由 John Sirois 创作于
-
- 10月 26, 2024
-
-
由 John Sirois 创作于
-
- 10月 25, 2024
-
-
由 John Sirois 创作于
-
由 John Sirois 创作于
I claimed there was already one of these in #2569 but I was wrong because the existing complex case test include an update; so is not a pure delete. Add a new test of the pure delete case where the deleted node's graph is partially retained.
-
由 John Sirois 创作于
-
由 John Sirois 创作于
Fixes #2572
-
由 John Sirois 创作于
Previously, when only 1 resolve target was specified, a `--pip-log` would be re-used which would append the current Pip log outout with the prior output. For a normal PEX build, this was potentially confusing, but for a `pex3 lock` command it could lead to errors since the log is used to generate the lock. Fixes #2568
-
由 John Sirois 创作于
Fixes #2573
-
- 10月 24, 2024
-
-
由 John Sirois 创作于
When a lock update only asks for deletes, we now process the "resolve" offline without consulting Pip. Fixes #2566
-
- 10月 22, 2024
-
-
由 John Sirois 创作于
This fixes some root ownership issues from docker use as well as trimming pytest disk usage by just retaining failed tmpdirs. The latter required re-implementing the tmpdir fixture to work around a hard-coded pytest 30 character test name disambiguation limit as well as parameterizing Pip installations and Pex isolations by PEX_ROOT to support test tmpdir teardowns.
-
- 10月 20, 2024
-
-
由 John Sirois 创作于
-
- 10月 15, 2024
-
-
由 John Sirois 创作于
The internal PEP-517/518 build system PEXes and the Pip PEXes now both uniformly use the equivalent of `--layout loose --venv` where distribution dependencies are always symlinks to the `installed_wheels` cache. This helps cut down on overall cache size slightly, but also improves the uniformity of the dogfood.
-
由 John Sirois 创作于
-
- 10月 13, 2024
-
-
由 John Sirois 创作于
-
- 10月 10, 2024
-
-
由 John Sirois 创作于
This helps reduce cache sizes where sdists are built into wheels as well as expanding the set of sdists Pex can lock reproducibly.
-
- 10月 09, 2024
-
-
由 John Sirois 创作于
-
- 10月 06, 2024
-
-
由 John Sirois 创作于
Use a `dbs` cache entry for all databases starting with PEP-691 fingerprints and hide this cache entry as a choice when purging individual entries using `pex3 cache purge`. Work towards #2528.
-
- 10月 04, 2024
-
-
由 John Sirois 创作于
-
由 John Sirois 创作于
Updated `package/package.toml` and then ran: `tox -e gen-scie-platform -- --all`.
-
- 10月 03, 2024
-
-
由 John Sirois 创作于
-
由 John Sirois 创作于
Previously the package/complete-platforms was used as the gen dest dir, which is wrong for all but the 1st round of complete platform gen.
-
由 John Sirois 创作于
-
由 John Sirois 创作于
-
- 10月 01, 2024
-
-
由 John Sirois 创作于
Previously, zips with non-ASCII file names could cause extraction errors under Python 2.7 on Linux. Fixes #298
-
由 John Sirois 创作于
This is new CPython env var knob in Python 3.13.
-
- 9月 29, 2024
-
-
由 John Sirois 创作于
-
- 9月 20, 2024
-
-
由 John Sirois 创作于
When `--interpreter-constraint`s are specified that are unsatisfiable, Pex now either errors if all given interpreter constraints are unsatisfiable or else warns and continues with only the remaining valid interpreter constraints after culling the unsatisfiable ones. Fixes #432 --------- Co-authored-by:
Benjy Weinberger <benjyw@gmail.com>
-
- 9月 19, 2024
-
-
由 John Sirois 创作于
Also turn on CI IT sharding for a ~40% wall time reduction, fixing up some existing test issues this smoked out.
-
由 John Sirois 创作于
I've not had a report in the wild, but CI intermittently fails in PEP-517 tests, not finding the json communication file on the read end. This exposes a race where the PEP-517 process completes before the temporary file context manager is exited and the communication file, with the results therein, is deleted before it can be read. Switch from a temporary file that deletes on context exit (it's amazing this worked as reliably as it did - it was a bug from day 1!) to one that deletes only upon the Pex process exit.
-
由 John Sirois 创作于
This fixes a long-standing discrepency between the selected `--pip-version` and the Pip actually used to determine abbreviated `--platform` compatibility tags. With the `--pip-log` enhancement from #2536 the calculated abbreviated platform tags are now always logged to the Pip log, which is very useful for debugging failed resolves using abbreviated platforms. Fixes #1894
-
- 9月 18, 2024
-
-
由 John Sirois 创作于
Create a pytest plugin that supports recording test timings and then sharding tests based on timings. The initial timing baseline is included and the plugin is made to handle the case of out of date timings by assuming an average time for any test not found in the timings database. N.B.: This will be used in a forthcoming change to shard CI integration tests and bring CI times down by ~30%.
-
由 John Sirois 创作于
Although `--pip-log` is just an alias for the pre-existing `--preserve-pip-download-log` option, the option gains the ability to accept an optional log path value. In addition to this pro-active means of starting a debuggable Pex session with Pip, the log is also made more useful in the face of a multi-target resolve by serializing the log on targets and prefixing log lines per target. The log now also includes the compatibility tags calculated via `pip -v debug ...` for any abbreviated `--platform`s used in the resolve.
-
由 John Sirois 创作于
The new setup allows for safe upgrades by just bumping pyenv Python versions. Also re-work atomic_directory to support this cleanly, allow obtaining an independent lock on an atomic directory after it has been established. This can be useful when reads of the directory contents all happen in the same code path as the writes.
-
- 9月 17, 2024
-
-
由 John Sirois 创作于
The addition of a wheel tag compatibility check to the overall post-resolve check in #2512 regressed users of abbreviated `--platform` in some cases by failing PEX builds that would otherwise succeed and, later, actually work at runtime. Keep the spirit of #2512 by emitting a detailed warning at build time with remediation steps instead of failing the build outright. Fixes #2532
-
- 9月 15, 2024
-
-
由 John Sirois 创作于
When building a PEX or creating a venv via `pex3 venv create` you can now tell Pex to use a set of pre-resolved distributions. This is similar to using `--no-pypi --find-links ...` except that: 1. Its roughly 3x faster since Pip is not asked to do any resolution. 2. It requires all the distributions specified form an already complete resolve. One way to obtain distributions that meet criteria 2 is to use `pip download -d ...` or `pip wheel -w ...` to pre-resolve the distributions you need. Closes #1907
-
由 John Sirois 创作于
This was mostly already working save for a few tests that needed adjustment to be able to run consistently in isolation or under xdist or both.
-