* 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.
We get this when we have subtables that do not
directly follow their parent table.
Fixes: #5794
Signed-off-by: Frank Lichtenheld <frank@lichtenheld.com>
* This pre pip install path should no longer be neccessary when adding packages.
* Fix test -- not sure how this was ever correct.
* Address test edge case
Unnamed sources will break with the following error:
pipenv.vendor.plette.models.base.ValidationError: {'url': 'https://pypi.org/simple', 'verify_ssl': True}
name: required field
* 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.
* Reduce the amount of calls to pip and the number of temp files in batch_install.
* Add logic to read the progress of the install in realtime from pip and stop using progress bar.
* refactor based on PR feedback.
* 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.
* Allow PIPENV_VENV_IN_PROJECT to be read in as None, and ensure if it is set to False that it does not use .venv directory.
* refactor based on PR feedback and add news fragment.
* Review unit test coverage and add new tests. Remove unneccesary bits from other tests.
- 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>
pytz exists in the build environment, which will typically
be added to the PYTHONPATH when running the tests in rpmbuild.
The alternative is to create a virtualenv containing only the
pipenv dependencies, which is cumbersome to do when devendoring.
As the pytz library here is not critical to the logic of the
test method, replace it with tablib to reduce unintentionally
errors when packaging.
Continuation of https://github.com/pypa/pipenv/issues/3644
- 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>