* Move away from requirementslib models
* Revise test since PEP-440 does not support wildcard versions but does support equivalent compatible release specifiers.
* simplify and remove dead code
* Ensure the os_name marker is AND with the other markers.
* Move what we still need from requirementslib into the pipenv utils and stop vendoring it.
* Remove requirementslib.
* force upgrade of virtualenv for python 3.12
* remove virtualenv-clone
* Update vcs specifiers documentation; infer name from specific pip line formats where possible.
* Provide helpful text and error for recently removed commands
* Set the right log levels and verbosity to show users the errors generated by pip resolver when supplying -v flag
* Fix the collection of all matching package hashes for non-pypi indexes. Plus lesson from testing torch which contains local identifiers.
* Port over latest requirementslib sample changes to pydantic.
* fix import
* port over more changes from other attempt.
* port over more changes from other attempt.
* Iterate
* fix some tests
* fix markers tests
* Spot check changes back towards what was passing in pipenv prior.
* Parity with latest requirementslib changes
* latest changes that work for both pipenv and requirementslib.
* Hack for cross-test contamination looking for version of six that isn't in the private pypi.
* Differences between reqlib3 and prototype branch
* corrrect re-written imports that were wrong.
The repo https://github.com/Rapptz/discord.py was removed by the owner.
In order for this test to work, we need a package which has a setup
with version and extras in it.
* Check point progress on moving tests to pypiserver.
* Allow other indexes to mimic the pypi json API for package hashes.
* Fix these tests that run on lower python versions only.
* Try adding the pypiserver to the github actions to only run once.
* Expand the scope of fixtures for pypiserver.
* try to accomedate microsoft runner.
* Windows networking troubles.
* Remove running as a background job.
* Try to condtionally invoke different start pypi-server commands
* Try to condtionally invoke different start pypi-server commands
* Try to condtionally invoke different start pypi-server commands
* Try to condtionally invoke different start pypi-server commands
* Try to condtionally invoke different start pypi-server commands
* Try to condtionally invoke different start pypi-server commands
* Try to condtionally invoke different start pypi-server commands
* Try to introduce pypi as the root index because setuptools-scm is not in our pypi artifacts.
* see if the windows tests run faster (and the other tests) by supplying waitress.
* Only use waitress on windows because the others are fast on the default. Fix requests pollution.
* Supply a suitable Pipfile instead for these two failing tests.
* More requests resolver cross test contamination cleanup.
* remove problematic tests because even on my version of python 3.8.12 this does not work due to AttributeError: 'HTMLParser' object has no attribute 'unescape'
* fix mirror install test.
* Fix Pipfile.
* Fix Pipfile for real
* Fix tests
* Cleanup test naming and more test enhancements.
* Save this optimization for a subsequent PR.
* Cleanup the TemporaryDirectory between tests.
* resolve merge conflict.
* Cleanup path initalization -- it hsould always be a TemporaryDirectory for tests that gets cleanedup.
* Cleanup path initalization -- it hsould always be a TemporaryDirectory for tests that gets cleanedup.
* tableflip on those requests tests that read the setup metadata in reqlib from other tests.
* Update developer documentation for running tests.
* add news fragment.
* Try gunicorn perfoormance for linux/mac
* Only use gunicorn on linux based on the results of last run.
Fix a regression from commit dbea3f5 where `pip install --system` tries
to install using the `python` executable first which, on some systems
may point to Python 2. Instead try `python3` first.
* Add test, ensure dev lock use default packages as constraints.
* Use default packages as constraints when locking develop packages.
* Add test, ensure installing dev-packages use default packages as constraints. (#4371) (#2987)
* Use default packages as constraints when installing provided dev packages.
* change vistir.path.normalize_path to pipenv.utils.shell.normalize_path
* Add function that get contraints from packages.
* Add test for get_constraints_from_deps function
* Use get_constraints_from_deps to get constraints
* Use @cached_property instead of @property
* Use standalone utility to write constraints file
* prepare_constraint_file use precomputed constraints.
* Add news fragment.
Previously, due to a probable typo in the code for importing a
requirements file to create a new pipenv project, SSL/TLS validation was
disabled by default for any package index servers specified in the
requirements file with the `--index-url` or `--extra-index-url` options.
In addition, `--trusted-host` options in the requirements file would not
work as intended, because any host or host:port pair provided with these
options was incorrectly being matched against the full URLs of the
configured index server(s) (i.e. including the scheme, path, etc.),
instead of extracting and comparing with the host and port parts only,
as intended.
This PR fixes both of these issues, flipping the existing behavior to
require SSL/TLS validation by default, and optionally allowing TLS
validation to be disabled explicitly for specific host:port with the
`--trusted-host` option if provided.
- 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>
- Begin a refactor of `delegator.run` invocation to ensure we capture
and handle failures with our own exception wrappers
- Additoinally capture output and error logging and command information
when running in verbose mode (should avoid significant repitition in
the codebase)
- Refactor `which` and `system_which` to fallback to pythonfinder's
implementation
- Abstract `is_python_command` to identify whether we are looking for
python, this enables us to rely on `pythonfinder.Finder.find_all_python_versions()`
to ensure we aren't skipping python versions
- Fixes#2783
Signed-off-by: Dan Ryan <dan@danryan.co>
- Resolve all VCS and non-piptools-resolveable deps in venv
- Implement pep517 for resolution of non-setuptools builds
- Add full support for the new dependency link format
- Fix breakages from pip 19* rollout and subsequent setuptools breakage
Signed-off-by: Dan Ryan <dan.ryan@xyleminc.com>
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>