Commit Graph

48 Commits

Author SHA1 Message Date
Dan Ryan 9c3ee2a72b Get rid of devpi
Signed-off-by: Dan Ryan <dan@danryan.co>
2019-07-05 02:55:47 -04:00
Dan Ryan 5ac676711a Fix editable VCS dependency resolution
- Fixes #3809

Signed-off-by: Dan Ryan <dan@danryan.co>
2019-07-05 02:06:43 -04:00
Dan Ryan 83868c8f1a Cut over to devpi for tests and improve logging
- 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>
2019-06-25 01:26:49 -04:00
Dan Ryan b5643760e3 Fix test comparisons
Signed-off-by: Dan Ryan <dan@danryan.co>
2019-06-04 02:08:05 -04:00
Dan Ryan 1525f88676 Don't use tablib for keep_outdated test due to osx failure
Signed-off-by: Dan Ryan <dan@danryan.co>
2019-06-04 01:39:03 -04:00
Dan Ryan 359906c669 Update tests to resolve some transient resolution issues
Signed-off-by: Dan Ryan <dan@danryan.co>

probably need to sync submodules for this to work

Signed-off-by: Dan Ryan <dan@danryan.co>

Update to new version of artifacts

Signed-off-by: Dan Ryan <dan@danryan.co>

Fix windows failure

Signed-off-by: Dan Ryan <dan@danryan.co>

Update azure-pipelines.yml for Azure Pipelines

Update lockfile test for windows

Signed-off-by: Dan Ryan <dan@danryan.co>

Fix scandir test

Signed-off-by: Dan Ryan <dan@danryan.co>

Update azure test steps

Signed-off-by: Dan Ryan <dan@danryan.co>

Fix virtualenv test

Signed-off-by: Dan Ryan <dan@danryan.co>

Fix python discovery when nothing is supplied

Signed-off-by: Dan Ryan <dan@danryan.co>

Fix cli ensure_project call

Signed-off-by: Dan Ryan <dan@danryan.co>

Fix run in virtualenv test

Signed-off-by: Dan Ryan <dan@danryan.co>

Show why virtualenv test failed if it did

Signed-off-by: Dan Ryan <dan@danryan.co>

Fix python interpreter discovery

Signed-off-by: Dan Ryan <dan@danryan.co>

scale down lock test modifications and increase error logging

Signed-off-by: Dan Ryan <dan@danryan.co>

Fix spinner bugs on windows and python discovery

Signed-off-by: Dan Ryan <dan@danryan.co>

Fix pythonfinder search algorithm to dodge false paths on win

Signed-off-by: Dan Ryan <dan@danryan.co>

use pipenv directly

Signed-off-by: Dan Ryan <dan@danryan.co>
2019-06-03 22:01:07 -04:00
Dan Ryan f0e3bbaa79 parent 8ae44bc90b
author Dan Ryan <dan@danryan.co> 1554074378 -0400
committer Dan Ryan <dan@danryan.co> 1558982736 -0400
gpgsig -----BEGIN PGP SIGNATURE-----

 iQIzBAABCgAdFiEEb6jpcpb+5zzDideCsyDQTvvOpJUFAlzsMFAACgkQsyDQTvvO
 pJWZmRAAtge5wdprlLnKdWUYK5USZb7Uk3zJHi9UIvnO7nKP6UA/L2D/5nxZitvx
 pZI7cGG+8sLp2yZNtQZdW6LNM1jmRXgzdMLYQh/5zo5gbj6KLOw7erh0FU3L3uM6
 wNBNM135Eqt7b+4a4C5TEK2UjwRxBHAsF+3ZzUy+UJQqgQEKxFVxW4gC4yxpfMtL
 jipE8ludwuOIM88ZJapmLpv2R6adQTxWZedTlmczdsy2/WKGHTCCpWs96PBbntdI
 pVBmoXfMhgZi+IuGR3iBYU0qS97vjJ8Te9tQZAaB9JGSqv3hHDWo1ht/rrG2RXzp
 3i0Cf2vG4035EUh56VYE9FCC9m6Vu3U9iIR34BZG9K5+lDP7pmJmjT+GymEgMP0N
 GoP3LYUO+dJjMjaUEMsC6QIi6DAots3uk4lxIw3wcA4Im/N/i5xafsRj1Eu3UdBL
 wBDKMz/FQjH+tD+mnvTlzaxD5vdhhCdBu1gK59rjNMlzg8hz6EF61QbHCaQHd4UI
 VOGIa8ThLlLI3addxzq/McceAc+OsLJ9hm06jkjvvoIuKrHyE3DybdbYQC7uEwyw
 2AvVuMDCPcciYQnkJhNTKmGvPcUDYD7cF91GKcUJKdPdyzDCeFEo5SUTKnLV4Cj2
 VD2sdVUk4jnmYfE4pCFvHKYooxQDMKQk/VCKl1c9QHL9/ijCx+o=
 =b+H1
 -----END PGP SIGNATURE-----

Ensure resolver doesn't compare editable specifiers

- Don't compare versions of editable dependencies when updating using
  `--keep-outdated` -- editable dependencies will now be updated to
  the latest version
- Ensure we don't drop markers from the lockfile when versions are not
  updated
- Fixes #3656
- Fixes #3659

Signed-off-by: Dan Ryan <dan@danryan.co>

Add future import for print function

Signed-off-by: Dan Ryan <dan@danryan.co>

Handle all possible markers in lockfiles

Signed-off-by: Dan Ryan <dan@danryan.co>

Fix json import

Signed-off-by: Dan Ryan <dan@danryan.co>

point to correct reference for lockfile

Signed-off-by: Dan Ryan <dan@danryan.co>

Fix marker merging errors

Signed-off-by: Dan Ryan <dan@danryan.co>

Prevent automatically setting `editable=True`

- Fixes #3647

Signed-off-by: Dan Ryan <dan@danryan.co>

Add new feature toggle for VCS dependency resolution

- Fixes #3577

Signed-off-by: Dan Ryan <dan@danryan.co>

Fix syntax error

Signed-off-by: Dan Ryan <dan@danryan.co>

Use string for environment

Signed-off-by: Dan Ryan <dan@danryan.co>

Fix class name resolution for py27

Signed-off-by: Dan Ryan <dan@danryan.co>

Write json files as unicode

Signed-off-by: Dan Ryan <dan@danryan.co>

Fix resolution with env var

Signed-off-by: Dan Ryan <dan@danryan.co>
2019-05-27 17:44:41 -04:00
Dan Ryan 210495992b Fix marker formatting in keep outdated test
Signed-off-by: Dan Ryan <dan@danryan.co>
2019-05-15 21:36:06 -04:00
Dan Ryan 102b682284 Fix keep_outdated markers
Signed-off-by: Dan Ryan <dan@danryan.co>
2019-05-15 21:27:51 -04:00
Dan Ryan e16608c03f sort pytest markers by length
Signed-off-by: Dan Ryan <dan@danryan.co>
2019-03-18 00:45:40 -04:00
Dan Ryan 6552e8dc8b Add tests for --keep-outdated
- Test that the lockfile doesn't get updated if satisfying constraints
  are pinned already in the lockfile
- Test that pipfile pins are respected
- Test that dependencies in the lockfile with markers that don't apply
  to the current system stay in the lockfile

Signed-off-by: Dan Ryan <dan@danryan.co>
2019-03-10 04:18:10 -04:00
Dan Ryan 1fcafb8363 Re-integrate changes from keep_outdated
- Lost numerous changes in the rebase, this brings them back
- Should work for both sets of fixes now

Signed-off-by: Dan Ryan <dan@danryan.co>
2019-02-17 23:01:57 -05:00
Frost Ming 9dab05d64e Update the index names in lock file 2019-01-17 12:04:05 +08:00
Frost Ming ba9f5057b8 Populate source when getting lockfile 2019-01-09 10:07:26 +08:00
jxltom 85e64b86be Resort imports for tests 2018-12-01 17:26:32 +08:00
Dan Ryan a08a2da524 Don't give child deps of vcs deps auto-precedence
- Stop preferring resolution of VCS dependencies in all cases
- Resolve vcs dependencies together with non-vcs dependencies
- Clarify blocking and no-deps logic
- Add artifacts and tests
- Add vendoring task for artifacts
- Clean up release tasks
- Fixes #3296

Signed-off-by: Dan Ryan <dan@danryan.co>
2018-11-24 17:10:45 -05:00
Dan Ryan 2b1ea9ee8a Add test
Signed-off-by: Dan Ryan <dan@danryan.co>
2018-11-23 18:06:12 -05:00
Dan Ryan 1c7bb3afd9 Fix test for warnings
Signed-off-by: Dan Ryan <dan@danryan.co>
2018-11-21 22:58:54 -05:00
Dan Ryan 18f8c0a403 Write warnings to stderr during resolution
- Fixes #3273

Signed-off-by: Dan Ryan <dan@danryan.co>
2018-11-21 13:09:46 -05:00
frostming 905c8c062a Derive missing values of source from existing fields
Signed-off-by: frostming <mianghong@gmail.com>
2018-11-17 15:50:19 +08:00
jxltom 9ff61c777b Add tests for locking editable packages with ref 2018-10-30 10:54:04 -04:00
Dan Ryan 4dac167657 Vendor boltons
Signed-off-by: Dan Ryan <dan@danryan.co>

Update vendored dependencies

Signed-off-by: Dan Ryan <dan@danryan.co>

Fix file handle leaks

- Fix #3020
- Fix #3088
- Patch delegator
- Add weakref finalizer for tempfiles

Signed-off-by: Dan Ryan <dan@danryan.co>

Fix spinner handlers on windows

Signed-off-by: Dan Ryan <dan@danryan.co>

Fix spinner output and encoding issue

Signed-off-by: Dan Ryan <dan@danryan.co>

fix encoding

Signed-off-by: Dan Ryan <dan@danryan.co>

Fix unicode output on windows, fix tomlkit imports

Signed-off-by: Dan Ryan <dan@danryan.co>

Unvendor boltons, fix compatibility, update merge functionalities

Signed-off-by: Dan Ryan <dan@danryan.co>

Update pythonfinder, vistir version, requirementslib version

Signed-off-by: Dan Ryan <dan@danryan.co>

Fix vendoring script

Signed-off-by: Dan Ryan <dan@danryan.co>

Silence pip version checks

Signed-off-by: Dan Ryan <dan@danryan.co>

Add debugging to locking

Signed-off-by: Dan Ryan <dan@danryan.co>
2018-10-30 01:07:07 -04:00
jxltom 91a63e07e2 Add test on locking package with extras 2018-10-21 12:53:33 +08:00
jxltom 6525e31e51 Add test on locking editable package with markers 2018-10-08 13:20:54 +08:00
Louie Lu 79349dd8f1 Addressed uranusjr comments 2018-07-30 12:22:52 +08:00
Louie Lu 553ed8258c Add JSONDecodeError handling for get_lockfile_hash
Now will return None when facing JSONDecodeError when loading the lockfile.

do_init will remove the old lockfile and replace it.
2018-07-30 12:22:52 +08:00
Jacob Hayes 1ceccb9bdf Fix extras check in test 2018-07-11 23:32:43 -05:00
Jacob Hayes 6de915ab79 [#2504] Replace security extra with socks in test 2018-07-11 08:19:42 -05:00
Jacob Hayes f0a1413c70 [#2504] Add test for VCS dep with extras 2018-07-10 20:58:35 -05:00
Dan Ryan f60d702259 Skip test
Signed-off-by: Dan Ryan <dan@danryan.co>
2018-06-27 17:04:28 -04:00
Dan Ryan ec45919346 Use environment python via pipenv call
Signed-off-by: Dan Ryan <dan@danryan.co>
2018-06-27 16:29:10 -04:00
Dan Ryan bb4d1f235d Check for python 3
Signed-off-by: Dan Ryan <dan@danryan.co>
2018-06-27 15:44:25 -04:00
Dan Ryan cbbd94217d Update resolver to use venv python.
Signed-off-by: Dan Ryan <dan@danryan.co>
2018-06-27 15:05:12 -04:00
Dan Ryan 42b2026b66 use internet pypi 2018-06-27 10:27:59 -04:00
frostming 698c9be64e add tests 2018-06-27 13:12:41 +08:00
Dan Ryan 5d76b404f4 Add some tests
- the rest of the to-do items are at https://github.com/pypa/pipenv/projects/2
- We just need to review the items in the 'needs tests' column to ensure
  that they either have tests, or don't need to have tests
- If they need tests, and they don't yet have tests, we need to write
  them and make sure they pass
- Then we can release. No more features/bugfixes, this is now how it's
  going out.

Signed-off-by: Dan Ryan <dan@danryan.co>
2018-06-23 03:01:20 -04:00
Dan Ryan c31a311dc7 Minor code cleanup
Signed-off-by: Dan Ryan <dan@danryan.co>

Add pytz and certifi updates

Signed-off-by: Dan Ryan <dan@danryan.co>

Fix nondeterministic resolution bug

- Update dependencies
- Fix some issues with test logic
- Update piptools patch

Signed-off-by: Dan Ryan <dan@danryan.co>

Update more packages

Signed-off-by: Dan Ryan <dan@danryan.co>

Update tests and utils

Signed-off-by: Dan Ryan <dan@danryan.co>

Still need to tackle last few failures

- this will seriously help with resolution issues

Add alembic new version

Signed-off-by: Dan Ryan <dan@danryan.co>
2018-06-22 15:36:39 -04:00
Jacob Henner af91eb68bb Add support for PyPI mirrors
Adds support for the --pypi-mirror command line parameter and the
PIPENV_PYPI_MIRROR environment variable for most pipenv operations.
This permits pipenv to function without pypi.org, which is necessary for
users:

    1. behind restrictive networks
    2. facing strict artifact sourcing policies
    3. experiencing poor performance connecting to pypi.org
    4. who've configured a local cache for performance reasons

When specified, the value of this parameter replaces all instances of
pypi.org and pypi.python.org within pipenv operations without modifying
or requring the modification of Pipfiles.

- Resolves #2075
2018-06-07 18:24:18 -04:00
Dan Ryan 8abb764ce8 Update pypi urls
Signed-off-by: Dan Ryan <dan@danryan.co>
2018-05-17 14:43:09 -04:00
Tzu-ping Chung 2dc999292e Use the mock PyPI 2018-05-02 17:07:49 +08:00
Tzu-ping Chung 7aff2c1cc7 Merge branch 'master' into always-use-pipfile-for-sources 2018-05-02 16:58:59 +08:00
Grey Baker 8c0936faf6 Always use sources from Pipfile when doing resolution 2018-05-01 15:14:12 +01:00
Grey Baker 85d4734e12 Add test for lock --keep-outdated behaviour 2018-05-01 11:34:46 +01:00
Dan Ryan b89a73c895 Update tests
Signed-off-by: Dan Ryan <dan@danryan.co>
2018-04-16 23:55:46 -04:00
Dan Ryan 81a2367e75 Run private indexes in uncached tests
Signed-off-by: Dan Ryan <dan@danryan.co>
2018-04-16 23:15:05 -04:00
Dan Ryan 8d20caf294 Update test pypi index
Signed-off-by: Dan Ryan <dan@danryan.co>
2018-04-16 23:15:04 -04:00
Dan Ryan c78628ba54 Add test coverage for all fixes
Signed-off-by: Dan Ryan <dan@danryan.co>
2018-04-16 23:15:04 -04:00
Tzu-ping Chung 4533e68bca Move things around 2018-04-12 17:35:17 +08:00