Currently these fail. Will be fixed shortly in the next patch.
Pipfiles can contain different formats for package specifications.
Current default behaivour is to sort packages into groups - all string values will be sorted first, followed by all dictionary values. e.g.
```
aa = "*"
bb = "*"
cc = "*"
aaa = {version = "*"}
bbb = {version = "*"}
ccc = {version = "*"}
```
This will have to be fixed.
* 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.
* 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.
- 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>
- 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>
Adds support for the --pypi-mirror command line parameter and the
PIPENV_PYPI_MIRROR environment variable for most pipenv operations.
This permits pipenv to function without pypi.org, which is necessary for
users:
1. behind restrictive networks
2. facing strict artifact sourcing policies
3. experiencing poor performance connecting to pypi.org
4. who've configured a local cache for performance reasons
When specified, the value of this parameter replaces all instances of
pypi.org and pypi.python.org within pipenv operations without modifying
or requring the modification of Pipfiles.
- Resolves#2075