When installing any package, sort all package names alphabetically inside the category, for easier reading.
Unsure if this is the best place or way to implement.
Small prototype to add to discussion in https://github.com/pypa/pipenv/issues/5964
Tests:
before patch:
```
AssertionError: assert ['atomicwrite...ama', 'build'] == ['atomicwrite...', 'colorama']
At index 1 diff: 'colorama' != 'build'
Full diff:
- ['atomicwrites', 'build', 'colorama']
? ---------
+ ['atomicwrites', 'colorama', 'build']
? +++++++++
```
after patch: pass.
* Solving issue 5934 where slashes or other less usual symbols in vcs refs were not being interpreted correctly.
* add some new unit-style integration tests
* Attempt to fix the local/editable file installs
* More refinements to handling directories vs files and when it is relative vs not
* Add back missing egg fragment (I removed it during the initial removal of requirementslib). Also fix the latest ruff error.
* 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>
* Fix extras not being included for pypi packages in requirements command
* fix for issue with requirements command not handling file based requirements.
* add news fragment
* 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.
* 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
* Split apart core using pycharm refactor move methods.
* move init to remove cicular import.
* Fix imports.
* Check in concept for pipenv upgrade command
* Fix upgrade command expectation on how it updates the lockfile.
* Actually write the result to the Pipfile, and fix secondary bug with items not being written to the Pipfile.
* Fix issue where package being upgraded already exists.
* Add news fragment.
* Integrate upgrade with a refactor of update.
* Handle cases where there is nothing to upgrade.
* Add lock-only option.