You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
fix(deps): switch from pip-compile to uv pip compile (#538)
## Summary
Switches dependency compilation from pip-compile to uv pip compile to
fix Renovate compatibility issues with the `--no-strip-extras` flag.
## Problem
Renovate's pip-compile manager has a bug where it only supports
`--no-strip-extras` for `uv pip compile`, not for regular `pip-compile`.
This blocks Renovate from creating security vulnerability PRs for Python
dependencies.
## Solution
Switch from `pip-compile` to `uv pip compile` which:
- ✅ Supports `--no-strip-extras` flag in Renovate
- ✅ 10-100x faster compilation times
- ✅ Drop-in replacement with same command structure
- ✅ Aligns with unstructured and unstructured-inference repos
## Changes
### Makefile
- Targets Python 3.12 (via `--python-version 3.12`)
- Adds `--no-emit-package pip` and `--no-emit-package setuptools` flags
- Replaces all `pip-compile` commands with `uv pip compile`
### Requirements Files
Expected differences from `pip-compile` to `uv pip compile`:
**Cosmetic changes:**
- Header format updated to reflect uv compilation
- Path references include `./` prefix (e.g., `-r
./requirements/base.in`)
- Footer wording changed from "unsafe" to "excluded from the output"
**constraints.txt expansion:**
- `uv` includes transitive dependencies of constrained packages
- Added `cryptography`, `cffi`, `charset-normalizer`, `pycparser` (all
dependencies of pinned `pdfminer-six==20260107`)
- This improves reproducibility by locking the entire dependency tree
for constrained packages
No version changes to any packages - all dependencies remain at the same
versions as before.
## Testing
```bash
make pip-compile
```
## References
- Renovate source:
[common.ts](https://github.com/renovatebot/renovate/blob/main/lib/modules/manager/pip-compile/common.ts)
- uv pip compile docs: https://docs.astral.sh/uv/pip/compile/
- Companion PR in unstructured:
Unstructured-IO/unstructured#4202
<!-- CURSOR_SUMMARY -->
---
> [!NOTE]
> Switches dependency compilation to `uv pip compile` and updates
generated requirement files accordingly.
>
> - Replace `pip-compile` with `uv pip compile` in `Makefile`, targeting
Python 3.12 and adding `--no-emit-package pip`/`setuptools`; update
`compile-all-base` loop
> - Regenerate `requirements/base.txt`, `test.txt`, and
`constraints.txt` with uv headers/footers and `./` path prefixes
> - Expand `constraints.txt` to include transitive deps of constrained
packages (e.g., `cryptography`, `cffi`, `charset-normalizer`,
`pycparser`)
> - No dependency version changes
>
> <sup>Written by [Cursor
Bugbot](https://cursor.com/dashboard?tab=bugbot) for commit
ba94b9a. This will update automatically
on new commits. Configure
[here](https://cursor.com/dashboard?tab=bugbot).</sup>
<!-- /CURSOR_SUMMARY -->
---------
Co-authored-by: Claude Sonnet 4.5 (1M context) <noreply@anthropic.com>
0 commit comments