- Fix how `use_pep517` and `build_isolation` are read from the
environment -- introduce a new environment helper to detect
`<PREFIX>_<SETTING>` and `<PREFIX>_NO_<SETTING>`, check for booleans
and return appropriately boolean, str, or None types
- Check for `False` values when adding `--no-use-pep517` and
`--no-build-isolation` during resolution rather than falsey values
- Change environment variable name from `PIP_PYTHON_VERSION` to
`PIPENV_REQUESTED_PYTHON_VERSION` to avoid causing `pip` to fail due
to accidentally percieving the `python_version` flag as being set --
this is an artifact from attempting to resolve outside of the
virtualenv
- Add `pipenv` to the path of patched `notpip.__main__` to accommodate
updated import fully qualified module names
- Update `pip` and `piptools` patches
- Add test packages for each of two known failure modes: outdated
`setuptools` with a missing `build-backend` (which `pip` forces to
`build_meta:__legacy__` & which doesn't exist before `40.8`), and
`import Cython` statements in `setup.py` in packages with properly
defined `pyproject.toml` `build-backend` lines.
- Fixes#4231
- Replaces, includes, and closes#4242
Signed-off-by: Dan Ryan <dan.ryan@canonical.com>
Add integration tests for #4231
Signed-off-by: Dan Ryan <dan.ryan@canonical.com>
- Recursively resolve PEP 508 URLs in subdependencies
- Fix `piptools` cache storage of VCS dependencies as results
- Avoid saving VCS dependency versions to `Pipfile.lock`
- Fixes#3396
- Fixes#4217
Signed-off-by: Dan Ryan <dan.ryan@canonical.com>
- Drop pytest-tap
- Update azure pipelines config
- Borrow ramdisk configuration from pip
- Fix pyinstaller ref for python 2
- Add 0-minute timeout and add github workflow
- Add skip for pywin32
- Scale down to `-n auto` to reduce race conditions on windows
- Skip pywin32 on python 3.8 as the relevant dependencies aren't
compatible
- Use default pip exists action = ignore to work around VCS race
condition
- Create local temp directory to avoid crossing drive letter boundary on
azure during CI runs
- Monkeypatch click windows console detection to return False in CI
Signed-off-by: Dan Ryan <dan.ryan@canonical.com>
The canonical Pipenv documentation is now at pipenv.pypa.io.
Also, the canonical GitHub repositories for Pipenv and
Requests have changed, and some other communications links
(Twitter, mailing list, "thank you") were no longer
operational. This commit updates those and clarifies that
Pipenv is a project maintained by the PyPA.
Fixes#4137.
Signed-off-by: Sumana Harihareswara <sh@changeset.nyc>
- Verbose logs will now write gracefully to the terminal even while the
spinner is running (i.e. during locking)
- This PR also cuts over to Devpi for a backing cache rather than a
hacked httpbin instance
- Inclues a refactor of `pip_install` to deduplicate logic
- Attempts to switch back to relying on native editable installs in pip
as the current implementation is broken on master (i.e. nothing is
installed in the virtualenv)
- Fixes#3809
Signed-off-by: Dan Ryan <dan@danryan.co>
Signed-off-by: Dan Ryan <dan@danryan.co>
probably need to sync submodules for this to work
Signed-off-by: Dan Ryan <dan@danryan.co>
Update to new version of artifacts
Signed-off-by: Dan Ryan <dan@danryan.co>
Fix windows failure
Signed-off-by: Dan Ryan <dan@danryan.co>
Update azure-pipelines.yml for Azure Pipelines
Update lockfile test for windows
Signed-off-by: Dan Ryan <dan@danryan.co>
Fix scandir test
Signed-off-by: Dan Ryan <dan@danryan.co>
Update azure test steps
Signed-off-by: Dan Ryan <dan@danryan.co>
Fix virtualenv test
Signed-off-by: Dan Ryan <dan@danryan.co>
Fix python discovery when nothing is supplied
Signed-off-by: Dan Ryan <dan@danryan.co>
Fix cli ensure_project call
Signed-off-by: Dan Ryan <dan@danryan.co>
Fix run in virtualenv test
Signed-off-by: Dan Ryan <dan@danryan.co>
Show why virtualenv test failed if it did
Signed-off-by: Dan Ryan <dan@danryan.co>
Fix python interpreter discovery
Signed-off-by: Dan Ryan <dan@danryan.co>
scale down lock test modifications and increase error logging
Signed-off-by: Dan Ryan <dan@danryan.co>
Fix spinner bugs on windows and python discovery
Signed-off-by: Dan Ryan <dan@danryan.co>
Fix pythonfinder search algorithm to dodge false paths on win
Signed-off-by: Dan Ryan <dan@danryan.co>
use pipenv directly
Signed-off-by: Dan Ryan <dan@danryan.co>
author Dan Ryan <dan@danryan.co> 1554074378 -0400
committer Dan Ryan <dan@danryan.co> 1558982736 -0400
gpgsig -----BEGIN PGP SIGNATURE-----
iQIzBAABCgAdFiEEb6jpcpb+5zzDideCsyDQTvvOpJUFAlzsMFAACgkQsyDQTvvO
pJWZmRAAtge5wdprlLnKdWUYK5USZb7Uk3zJHi9UIvnO7nKP6UA/L2D/5nxZitvx
pZI7cGG+8sLp2yZNtQZdW6LNM1jmRXgzdMLYQh/5zo5gbj6KLOw7erh0FU3L3uM6
wNBNM135Eqt7b+4a4C5TEK2UjwRxBHAsF+3ZzUy+UJQqgQEKxFVxW4gC4yxpfMtL
jipE8ludwuOIM88ZJapmLpv2R6adQTxWZedTlmczdsy2/WKGHTCCpWs96PBbntdI
pVBmoXfMhgZi+IuGR3iBYU0qS97vjJ8Te9tQZAaB9JGSqv3hHDWo1ht/rrG2RXzp
3i0Cf2vG4035EUh56VYE9FCC9m6Vu3U9iIR34BZG9K5+lDP7pmJmjT+GymEgMP0N
GoP3LYUO+dJjMjaUEMsC6QIi6DAots3uk4lxIw3wcA4Im/N/i5xafsRj1Eu3UdBL
wBDKMz/FQjH+tD+mnvTlzaxD5vdhhCdBu1gK59rjNMlzg8hz6EF61QbHCaQHd4UI
VOGIa8ThLlLI3addxzq/McceAc+OsLJ9hm06jkjvvoIuKrHyE3DybdbYQC7uEwyw
2AvVuMDCPcciYQnkJhNTKmGvPcUDYD7cF91GKcUJKdPdyzDCeFEo5SUTKnLV4Cj2
VD2sdVUk4jnmYfE4pCFvHKYooxQDMKQk/VCKl1c9QHL9/ijCx+o=
=b+H1
-----END PGP SIGNATURE-----
Ensure resolver doesn't compare editable specifiers
- Don't compare versions of editable dependencies when updating using
`--keep-outdated` -- editable dependencies will now be updated to
the latest version
- Ensure we don't drop markers from the lockfile when versions are not
updated
- Fixes#3656
- Fixes#3659
Signed-off-by: Dan Ryan <dan@danryan.co>
Add future import for print function
Signed-off-by: Dan Ryan <dan@danryan.co>
Handle all possible markers in lockfiles
Signed-off-by: Dan Ryan <dan@danryan.co>
Fix json import
Signed-off-by: Dan Ryan <dan@danryan.co>
point to correct reference for lockfile
Signed-off-by: Dan Ryan <dan@danryan.co>
Fix marker merging errors
Signed-off-by: Dan Ryan <dan@danryan.co>
Prevent automatically setting `editable=True`
- Fixes#3647
Signed-off-by: Dan Ryan <dan@danryan.co>
Add new feature toggle for VCS dependency resolution
- Fixes#3577
Signed-off-by: Dan Ryan <dan@danryan.co>
Fix syntax error
Signed-off-by: Dan Ryan <dan@danryan.co>
Use string for environment
Signed-off-by: Dan Ryan <dan@danryan.co>
Fix class name resolution for py27
Signed-off-by: Dan Ryan <dan@danryan.co>
Write json files as unicode
Signed-off-by: Dan Ryan <dan@danryan.co>
Fix resolution with env var
Signed-off-by: Dan Ryan <dan@danryan.co>
- Test that the lockfile doesn't get updated if satisfying constraints
are pinned already in the lockfile
- Test that pipfile pins are respected
- Test that dependencies in the lockfile with markers that don't apply
to the current system stay in the lockfile
Signed-off-by: Dan Ryan <dan@danryan.co>
- Stop preferring resolution of VCS dependencies in all cases
- Resolve vcs dependencies together with non-vcs dependencies
- Clarify blocking and no-deps logic
- Add artifacts and tests
- Add vendoring task for artifacts
- Clean up release tasks
- Fixes#3296
Signed-off-by: Dan Ryan <dan@danryan.co>
Signed-off-by: Dan Ryan <dan@danryan.co>
Update vendored dependencies
Signed-off-by: Dan Ryan <dan@danryan.co>
Fix file handle leaks
- Fix#3020
- Fix#3088
- Patch delegator
- Add weakref finalizer for tempfiles
Signed-off-by: Dan Ryan <dan@danryan.co>
Fix spinner handlers on windows
Signed-off-by: Dan Ryan <dan@danryan.co>
Fix spinner output and encoding issue
Signed-off-by: Dan Ryan <dan@danryan.co>
fix encoding
Signed-off-by: Dan Ryan <dan@danryan.co>
Fix unicode output on windows, fix tomlkit imports
Signed-off-by: Dan Ryan <dan@danryan.co>
Unvendor boltons, fix compatibility, update merge functionalities
Signed-off-by: Dan Ryan <dan@danryan.co>
Update pythonfinder, vistir version, requirementslib version
Signed-off-by: Dan Ryan <dan@danryan.co>
Fix vendoring script
Signed-off-by: Dan Ryan <dan@danryan.co>
Silence pip version checks
Signed-off-by: Dan Ryan <dan@danryan.co>
Add debugging to locking
Signed-off-by: Dan Ryan <dan@danryan.co>