-
-
Notifications
You must be signed in to change notification settings - Fork 468
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Replace pip-tools with Monotrail or Similar #192
Comments
Hi 👋 Maybe you find this .PHONY: lint
## Run linting
lint:
pre-commit run --all-files
.PHONY: test
## Run tests
test:
python -m pytest
.PHONY: install
## Install this repo, plus dev requirements, in editable mode
install:
test -e requirements/pipgrip.lock || make lockfile
pip install -r requirements/ci.txt -e . --constraint=requirements/pipgrip.lock
pre-commit install
.PHONY: lockfile
## Create a lockfile for all python requirements.
lockfile:
pip install -U pipgrip
pipgrip -vv --sort --lock --tree .
mv pipgrip.lock requirements/pipgrip.lock
.PHONY: help
## Print Makefile documentation
help:
@perl -0 -nle 'printf("%-25s - %s\n", "$$2", "$$1") while m/^##\s*([^\r\n]+)\n^([\w-]+):[^=]/gm' $(MAKEFILE_LIST) | sort
.DEFAULT_GOAL := help in Github Actions, we block PRs if they updated - name: Check whether requirements/prod.txt changed
id: requirements-changed
uses: tj-actions/changed-files@v34
with:
files: |
requirements/prod.txt
- name: Check whether make lockfile was forgotten
if: steps.requirements-changed.outputs.any_changed == 'true'
env:
PIP_INDEX_URL: ${{ secrets.PIP_INDEX_URL }}
run: |
make lockfile
test ! "$(git diff)" && echo "no changes" || ( git diff && exit 1 ) |
That might be an interesting alternative to try. |
Hi, You also might look at rustine and pubgrub-pyo3 but this is a rather quick hack, nothing production ready :-) Regards, |
See also the prefix.dev resolver |
There's also a noteworthy blog post from the developers of Rattler Resolver which is a port of |
Seems like they already delivered: RIP (pip in Rust) 🦀 |
I think this can be closed now |
xref #1185 |
Yes sorry -- we now use uv here. |
The use of
pip-tools
in rye is because this is what we use at @getsentry. It's however by no means perfect, among other things it does not have proper locking support and the resolver is very hacky. I would like to investigate alternatives. Options that might exist:Related issues that this would close:
pip-compile
resolves against internal python version #82The text was updated successfully, but these errors were encountered: