Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
26 changes: 8 additions & 18 deletions .github/workflows/ci.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -73,7 +73,9 @@ jobs:
strategy:
fail-fast: false
matrix:
python-version: [3.9, "3.10", 3.11, 3.12, 3.13]
# Note: Python 3.15 removed until upstream pip supports it
# (pip's typing_extensions uses typing.no_type_check_decorator which was removed in 3.15)
python-version: ["3.10", 3.11, 3.12, 3.13, 3.14]
os: [MacOS, Ubuntu, Windows]

steps:
Expand Down Expand Up @@ -102,30 +104,18 @@ jobs:
run: |
git submodule sync
git submodule update --init --recursive
python -m pip install -e .[safety] --upgrade
python -m pip install -e . --upgrade
pipenv install --deploy --dev --python=${{ matrix.python-version }}
- name: Run pypiserver without pipenv (Python 3.9-3.11)
run: |
python -m pip install gunicorn pypiserver==2.3.2
python -m pypiserver --version
python -m pypiserver run -v --host=0.0.0.0 --port=8080 --hash-algo=sha256 --disable-fallback ./tests/pypi/ ./tests/fixtures &
if: (contains(matrix.os, 'Ubuntu') || contains(matrix.os, 'macOS')) && (startsWith(matrix.python-version, '3.9') || startsWith(matrix.python-version, '3.10') || startsWith(matrix.python-version, '3.11'))
- name: Run pypiserver with pipenv (Python 3.12+)
- name: Run pypiserver with pipenv (Python 3.10+)
run: |
pipenv run pypi-server --version
pipenv run pypi-server run -v --host=0.0.0.0 --port=8080 --hash-algo=sha256 --disable-fallback ./tests/pypi/ ./tests/fixtures &
if: (contains(matrix.os, 'Ubuntu') || contains(matrix.os, 'macOS')) && (startsWith(matrix.python-version, '3.12') || startsWith(matrix.python-version, '3.13'))
- name: Run pypiserver without pipenv on Windows (Python 3.9-3.11)
run: |
python -m pip install waitress pypiserver==2.3.2
python -m pypiserver --version
cmd /c start pypi-server run -v --host=0.0.0.0 --port=8080 --hash-algo=sha256 --disable-fallback ./tests/pypi/ ./tests/fixtures
if: contains(matrix.os, 'Windows') && (startsWith(matrix.python-version, '3.9') || startsWith(matrix.python-version, '3.10') || startsWith(matrix.python-version, '3.11'))
- name: Run pypiserver with pipenv on Windows (Python 3.12+)
if: (contains(matrix.os, 'Ubuntu') || contains(matrix.os, 'macOS'))
- name: Run pypiserver with pipenv on Windows (Python 3.10+)
run: |
pipenv run pypi-server --version
cmd /c start pipenv run pypi-server run -v --host=0.0.0.0 --port=8080 --hash-algo=sha256 --disable-fallback ./tests/pypi/ ./tests/fixtures
if: contains(matrix.os, 'Windows') && (startsWith(matrix.python-version, '3.12') || startsWith(matrix.python-version, '3.13'))
if: contains(matrix.os, 'Windows')
- name: Run tests
env:
PIPENV_DEFAULT_PYTHON_VERSION: ${{ matrix.python-version }}
Expand Down
2 changes: 2 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -175,3 +175,5 @@ pipenv/vendor/markupsafe/_speedups.c

# ignore all vim files
.sw[p,o]

pip/
2 changes: 1 addition & 1 deletion .pre-commit-config.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@ repos:
- id: check-yaml
- id: debug-statements
- id: end-of-file-fixer
exclude: WHEEL
exclude: WHEEL|\.patch$
- id: forbid-new-submodules
- id: trailing-whitespace
exclude: .patch
Expand Down
2 changes: 1 addition & 1 deletion pipenv/environment.py
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,7 @@
import site
import sys
import typing
from collections.abc import Iterable
from functools import cached_property
from itertools import chain
from pathlib import Path
Expand All @@ -22,7 +23,6 @@
from pipenv.patched.pip._vendor.packaging.utils import canonicalize_name
from pipenv.patched.pip._vendor.packaging.version import Version
from pipenv.patched.pip._vendor.packaging.version import parse as parse_version
from pipenv.patched.pip._vendor.typing_extensions import Iterable
from pipenv.utils import console
from pipenv.utils.fileutils import normalize_path, temp_path
from pipenv.utils.funktools import chunked, unnest
Expand Down
2 changes: 1 addition & 1 deletion pipenv/patched/patched.txt
Original file line number Diff line number Diff line change
@@ -1 +1 @@
pip==25.1.1
pip==25.3
3 changes: 0 additions & 3 deletions pipenv/patched/pip/LICENSE-HEADER

This file was deleted.

6 changes: 3 additions & 3 deletions pipenv/patched/pip/__init__.py
Original file line number Diff line number Diff line change
@@ -1,9 +1,9 @@
from typing import List, Optional
from __future__ import annotations

__version__ = "25.1.1"
__version__ = "25.3"


def main(args: Optional[List[str]] = None) -> int:
def main(args: list[str] | None = None) -> int:
"""This is an internal API only meant for use by pip's own console scripts.

For additional details, see https://github.com/pypa/pip/issues/7498.
Expand Down
4 changes: 2 additions & 2 deletions pipenv/patched/pip/_internal/__init__.py
100644 → 100755
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
from typing import List, Optional
from __future__ import annotations

from pipenv.patched.pip._internal.utils import _log

Expand All @@ -7,7 +7,7 @@
_log.init_logging()


def main(args: Optional[List[str]] = None) -> int:
def main(args: list[str] | None = None) -> int:
"""This is preserved for old console scripts that may still be referencing
it.

Expand Down
Loading
Loading