* 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>
Carets introduce a difficult situation since they are essentially
"lossy" when parses. Consider this in cmd.exe:
> echo "foo^bar"
"foo^bar"
> echo foo^^bar
foo^bar
The two commands produce different results, but are both parsed by the
shell as `foo^bar`, and there's essentially no sensible way to tell what
was actually passed in. This implementation assumes the quoted variation
(the first) since it is easier to implement, and arguably the more common
case.