Skip to content
Permalink

Comparing changes

Choose two branches to see what’s changed or to start a new pull request. If you need to, you can also or learn more about diff comparisons.

Open a pull request

Create a new pull request by comparing changes across two branches. If you need to, you can also . Learn more about diff comparisons here.
base repository: pypa/pip
Failed to load repositories. Confirm that selected base ref is valid, then try again.
Loading
base: 18.1
Choose a base ref
...
head repository: pypa/pip
Failed to load repositories. Confirm that selected head ref is valid, then try again.
Loading
compare: 19.2
Choose a head ref
Loading
Showing 373 changed files with 24,311 additions and 7,775 deletions.
23 changes: 13 additions & 10 deletions appveyor.yml → .appveyor.yml
Original file line number Diff line number Diff line change
@@ -1,24 +1,27 @@
environment:
matrix:
# Unit and integration tests.
- PYTHON: "C:\\Python27"
- PYTHON: "C:\\Python36-x64"
- PYTHON: "C:\\Python27"
RUN_INTEGRATION_TESTS: "True"
- PYTHON: "C:\\Python36-x64"
RUN_INTEGRATION_TESTS: "True"
# Unit tests only.
- PYTHON: "C:\\Python27-x64"
- PYTHON: "C:\\Python34"
- PYTHON: "C:\\Python34-x64"
- PYTHON: "C:\\Python35"
- PYTHON: "C:\\Python35-x64"
- PYTHON: "C:\\Python36"

matrix:
fast_finish: true

clone_depth: 50

install:
- "SET PATH=%PYTHON%;%PYTHON%\\Scripts;%PATH%"
- "python --version"
- "pip install certifi tox"
- "python -m pip install --upgrade --disable-pip-version-check pip setuptools wheel"
- "pip install --upgrade certifi tox tox-venv"
- "pip freeze --all"
# Fix git SSL errors.
- "python -m certifi >cacert.txt"
- "set /p GIT_SSL_CAINFO=<cacert.txt"
@@ -31,6 +34,8 @@ cache:

test_script:
- ps: |
$ErrorActionPreference = "Stop"
function should_run_tests {
if ("$env:APPVEYOR_PULL_REQUEST_NUMBER" -eq "") {
Write-Host "Not a pull request - running tests"
@@ -60,10 +65,8 @@ test_script:
subst T: $env:TEMP
$env:TEMP = "T:\"
$env:TMP = "T:\"
if ($env:RUN_INTEGRATION_TESTS -eq "True") {
tox -e py -- -m integration -n 3 --duration=5
}
else {
tox -e py -- -m unit -n 3
tox -e py -- -m unit
if ($LastExitCode -eq 0 -and $env:RUN_INTEGRATION_TESTS -eq "True") {
tox -e py -- --use-venv -m integration -n2 --durations=20
}
}
37 changes: 37 additions & 0 deletions .azure-pipelines/jobs/package.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,37 @@
parameters:
vmImage:

jobs:
- job: Package
dependsOn:
- Test_Primary
- Test_Secondary
pool:
vmImage: ${{ parameters.vmImage }}

steps:
- task: UsePythonVersion@0
displayName: Use Python 3 latest
inputs:
versionSpec: '3'

- bash: pip install setuptools tox wheel invoke towncrier requests
displayName: Install dependencies

- bash: invoke generate.authors
displayName: Generate AUTHORS.txt

- bash: invoke generate.news --yes
displayName: Generate NEWS.rst

- bash: tox -e packaging
displayName: Run Tox packaging

- bash: python setup.py sdist bdist_wheel
displayName: Create sdist and wheel

- task: PublishBuildArtifacts@1
displayName: 'Publish Artifact: dist'
inputs:
pathtoPublish: dist
artifactName: dist
59 changes: 59 additions & 0 deletions .azure-pipelines/jobs/test-windows.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,59 @@
parameters:
vmImage:

jobs:
- job: Test_Primary
displayName: Test Primary

pool:
vmImage: ${{ parameters.vmImage }}
strategy:
matrix:
Python27-x64:
python.version: '2.7'
python.architecture: x64
Python36-x64:
python.version: '3.6'
python.architecture: x64
maxParallel: 2

steps:
- template: ../steps/run-tests-windows.yml
parameters:
runIntegrationTests: true

- job: Test_Secondary
displayName: Test Secondary
# Don't run integration tests for these runs
# Run after Test_Primary so we don't devour time and jobs if tests are going to fail
dependsOn: Test_Primary

pool:
vmImage: ${{ parameters.vmImage }}
strategy:
matrix:
Python35-x64:
python.version: '3.5'
python.architecture: x64
Python37-x64:
python.version: '3.7'
python.architecture: x64
# This is for Windows, so test x86 builds
Python27-x86:
python.version: '2.7'
python.architecture: x86
Python35-x86:
python.version: '3.5'
python.architecture: x86
Python36-x86:
python.version: '3.6'
python.architecture: x86
Python37-x86:
python.version: '3.7'
python.architecture: x86
maxParallel: 5

steps:
- template: ../steps/run-tests-windows.yml
parameters:
runIntegrationTests: false
41 changes: 41 additions & 0 deletions .azure-pipelines/jobs/test.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,41 @@
parameters:
vmImage:

jobs:
- job: Test_Primary
displayName: Test Primary

pool:
vmImage: ${{ parameters.vmImage }}
strategy:
matrix:
Python27:
python.version: '2.7'
python.architecture: x64
Python36:
python.version: '3.6'
python.architecture: x64
maxParallel: 2

steps:
- template: ../steps/run-tests.yml

- job: Test_Secondary
displayName: Test Secondary
# Run after Test_Primary so we don't devour time and jobs if tests are going to fail
dependsOn: Test_Primary

pool:
vmImage: ${{ parameters.vmImage }}
strategy:
matrix:
Python35:
python.version: '3.5'
python.architecture: x64
Python37:
python.version: '3.7'
python.architecture: x64
maxParallel: 3

steps:
- template: ../steps/run-tests.yml
8 changes: 8 additions & 0 deletions .azure-pipelines/linux.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
jobs:
- template: jobs/test.yml
parameters:
vmImage: ubuntu-16.04

- template: jobs/package.yml
parameters:
vmImage: ubuntu-16.04
8 changes: 8 additions & 0 deletions .azure-pipelines/macos.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
jobs:
- template: jobs/test.yml
parameters:
vmImage: xcode9-macos10.13

- template: jobs/package.yml
parameters:
vmImage: xcode9-macos10.13
38 changes: 38 additions & 0 deletions .azure-pipelines/steps/run-tests-windows.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,38 @@
parameters:
runIntegrationTests:

steps:
- task: UsePythonVersion@0
displayName: Use Python $(python.version)
inputs:
versionSpec: '$(python.version)'
architecture: '$(python.architecture)'

- bash: pip install --upgrade setuptools tox
displayName: Install Tox

- script: tox -e py -- -m unit -n 3 --junit-xml=junit/unit-test.xml
displayName: Tox run unit tests

- ${{ if eq(parameters.runIntegrationTests, 'true') }}:
- powershell: |
# Fix Git SSL errors
pip install certifi tox
python -m certifi > cacert.txt
$env:GIT_SSL_CAINFO = $(Get-Content cacert.txt)
# Shorten paths to get under MAX_PATH or else integration tests will fail
# https://bugs.python.org/issue18199
subst T: $env:TEMP
$env:TEMP = "T:\"
$env:TMP = "T:\"
tox -e py -- -m integration -n 3 --duration=5 --junit-xml=junit/integration-test.xml
displayName: Tox run integration tests
- task: PublishTestResults@2
displayName: Publish Test Results
inputs:
testResultsFiles: junit/*.xml
testRunTitle: 'Python $(python.version)'
condition: succeededOrFailed()
25 changes: 25 additions & 0 deletions .azure-pipelines/steps/run-tests.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@
steps:
- task: UsePythonVersion@0
displayName: Use Python $(python.version)
inputs:
versionSpec: '$(python.version)'

- bash: pip install --upgrade setuptools tox
displayName: Install Tox

- script: tox -e py -- -m unit --junit-xml=junit/unit-test.xml
displayName: Tox run unit tests

# Run integration tests in two groups so we will fail faster if there is a failure in the first group
- script: tox -e py -- -m integration -n 4 --duration=5 -k "not test_install" --junit-xml=junit/integration-test-group0.xml
displayName: Tox run Group 0 integration tests

- script: tox -e py -- -m integration -n 4 --duration=5 -k "test_install" --junit-xml=junit/integration-test-group1.xml
displayName: Tox run Group 1 integration tests

- task: PublishTestResults@2
displayName: Publish Test Results
inputs:
testResultsFiles: junit/*.xml
testRunTitle: 'Python $(python.version)'
condition: succeededOrFailed()
8 changes: 8 additions & 0 deletions .azure-pipelines/windows.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
jobs:
- template: jobs/test-windows.yml
parameters:
vmImage: vs2017-win2016

- template: jobs/package.yml
parameters:
vmImage: vs2017-win2016
3 changes: 3 additions & 0 deletions .github/CONTRIBUTING.md
Original file line number Diff line number Diff line change
@@ -7,6 +7,9 @@ As a reminder, all contributors are expected to follow our [Code of Conduct][coc

[coc]: https://www.pypa.io/en/latest/code-of-conduct/

## Development Documentation

Our [development documentation](https://pip.pypa.io/en/latest/development/) contains details on how to get started with contributing to pip, and details of our development processes.

## Bot Commands

8 changes: 8 additions & 0 deletions .github/lock.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
# Number of days of inactivity before a closed issue or pull request is locked
daysUntilLock: 30
# Issues and pull requests with these labels will not be locked.
exemptLabels: []
# Label to add before locking, such as `outdated`. Set to `false` to disable
lockLabel: "S: auto-locked"
# Comment to post before locking. Set to `false` to disable
lockComment: false
11 changes: 11 additions & 0 deletions .github/no-response.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
# Number of days of inactivity before issue is closed for lack of response
daysUntilClose: 30
# Label requiring a response
responseRequiredLabel: "S: awaiting response"
# Comment to post when closing an Issue for lack of response. Set to `false` to disable
closeComment: >
This issue has been automatically closed because there has been no response
to our request for more information from the original author. With only the
information that is currently in the issue, we don't have enough information
to take action. Please reach out if you have or find the answers we need so
that we can investigate further.
7 changes: 7 additions & 0 deletions .github/triage-new-issues.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
# This is based off of reading the actual source code of the bot. :/
# https://github.com/tunnckoCoreLabs/triage-new-issues/blob/2ff406030ecce4c25f7bdd454125ba54db1301bd/src/index.js#L7
#
# While this file is currently a no-op, it serves the purpose of
# documenting that this bot is indeed being used, since this is a
# non-standard probot bot.
label: "needs triage"
9 changes: 9 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -26,13 +26,22 @@ htmlcov/
nosetests.xml
coverage.xml
*.cover
tests/data/common_wheels/
pip-wheel-metadata

# Misc
*~
.*.sw?
.env/

# For IntelliJ IDEs (basically PyCharm)
.idea/

# For Visual Studio Code
.vscode/

# Scratch Pad for experiments
.scratch/

# Mac
.DS_Store
2 changes: 2 additions & 0 deletions .mailmap
Original file line number Diff line number Diff line change
@@ -1,4 +1,6 @@
Adam Wentz <awentz@theonion.com>
Alethea Flowers <magicalgirl@google.com> <jjramone13@gmail.com>
Alethea Flowers <magicalgirl@google.com> Thea Flowers <theaflowers@google.com>
Alex Grönholm <alex.gronholm@nextday.fi>
Alex Grönholm <alex.gronholm@nextday.fi> <alex.gronholm+git@nextday.fi>
Anatoly Techtonik <techtonik@gmail.com>
Loading