* Upgrade `pythonfinder==2.1.0`
* Try to normalize on using pathlib basics and storing string paths in dataclass to compare against.
* Completely remove posix path conversions.
* Round 2 of pydantic conversions -- pydantic removal from pipenv.
* Add news fragment
* Update release script to enforce semver going forward in 2024
* Update pipfile/lock for semver
* fix readme
* Update CI vendoring step for semver
* Dependeapot warning about version of pytest we are on
* remove options from help
If there are markers specified in requirements.txt they are not currently transferred to Pipfile while generating it. This commit adds markers to Pipfile as defined in requirements.txt
I generated this patch with:
```
$ pip install -t . tomlkit==0.12.3 --upgrade
$ rm -rf tomlkit-0.12.3.dist-info
```
from pipenv/vendor folder.
Then seearch and replace "from tomlkit" with "from
pipenv.vendor.tomlkit", and restore the LICENSE file that got removed
for some reason.
Otherwise using pipenv with a Pipfile the defaults a source without a
name causes a KeyError like:
```
Traceback (most recent call last):
File "/usr/local/.pyenv/versions/3.11.5/lib/python3.11/site-packages/pipenv/resolver.py", line 675, in <module>
main()
File "/usr/local/.pyenv/versions/3.11.5/lib/python3.11/site-packages/pipenv/resolver.py", line 661, in main
_main(
File "/usr/local/.pyenv/versions/3.11.5/lib/python3.11/site-packages/pipenv/resolver.py", line 645, in _main
resolve_packages(
File "/usr/local/.pyenv/versions/3.11.5/lib/python3.11/site-packages/pipenv/resolver.py", line 612, in resolve_packages
results, resolver = resolve(
^^^^^^^^
File "/usr/local/.pyenv/versions/3.11.5/lib/python3.11/site-packages/pipenv/resolver.py", line 592, in resolve
return resolve_deps(
^^^^^^^^^^^^^
File "/usr/local/.pyenv/versions/3.11.5/lib/python3.11/site-packages/pipenv/utils/resolver.py", line 910, in resolve_deps
results, hashes, internal_resolver = actually_resolve_deps(
^^^^^^^^^^^^^^^^^^^^^^
File "/usr/local/.pyenv/versions/3.11.5/lib/python3.11/site-packages/pipenv/utils/resolver.py", line 672, in actually_resolve_deps
resolver = Resolver.create(
^^^^^^^^^^^^^^^^
File "/usr/local/.pyenv/versions/3.11.5/lib/python3.11/site-packages/pipenv/utils/resolver.py", line 222, in create
index_lookup[package_name] = project.get_default_index()["name"]
~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^
KeyError: 'name'
```
* Refactor this path logic to file url bug and re-use relative pathing logic.
* Handle case where the drive letter is different and so relative path may not be possible
* Add news fragment