pipgrip 0.10.15__tar.gz → 0.11.0__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (44) hide show
  1. {pipgrip-0.10.15/src/pipgrip.egg-info → pipgrip-0.11.0}/PKG-INFO +5 -1
  2. {pipgrip-0.10.15 → pipgrip-0.11.0}/README.md +4 -0
  3. pipgrip-0.11.0/src/pipgrip/_repo_version.py +1 -0
  4. {pipgrip-0.10.15 → pipgrip-0.11.0}/src/pipgrip/cli.py +19 -1
  5. {pipgrip-0.10.15 → pipgrip-0.11.0/src/pipgrip.egg-info}/PKG-INFO +5 -1
  6. pipgrip-0.10.15/src/pipgrip/_repo_version.py +0 -1
  7. {pipgrip-0.10.15 → pipgrip-0.11.0}/LICENSE +0 -0
  8. {pipgrip-0.10.15 → pipgrip-0.11.0}/requirements/prod.txt +0 -0
  9. {pipgrip-0.10.15 → pipgrip-0.11.0}/setup.cfg +0 -0
  10. {pipgrip-0.10.15 → pipgrip-0.11.0}/setup.py +0 -0
  11. {pipgrip-0.10.15 → pipgrip-0.11.0}/src/pipgrip/__init__.py +0 -0
  12. {pipgrip-0.10.15 → pipgrip-0.11.0}/src/pipgrip/compat.py +0 -0
  13. {pipgrip-0.10.15 → pipgrip-0.11.0}/src/pipgrip/libs/__init__.py +0 -0
  14. {pipgrip-0.10.15 → pipgrip-0.11.0}/src/pipgrip/libs/mixology/__init__.py +0 -0
  15. {pipgrip-0.10.15 → pipgrip-0.11.0}/src/pipgrip/libs/mixology/_compat.py +0 -0
  16. {pipgrip-0.10.15 → pipgrip-0.11.0}/src/pipgrip/libs/mixology/assignment.py +0 -0
  17. {pipgrip-0.10.15 → pipgrip-0.11.0}/src/pipgrip/libs/mixology/constraint.py +0 -0
  18. {pipgrip-0.10.15 → pipgrip-0.11.0}/src/pipgrip/libs/mixology/failure.py +0 -0
  19. {pipgrip-0.10.15 → pipgrip-0.11.0}/src/pipgrip/libs/mixology/incompatibility.py +0 -0
  20. {pipgrip-0.10.15 → pipgrip-0.11.0}/src/pipgrip/libs/mixology/incompatibility_cause.py +0 -0
  21. {pipgrip-0.10.15 → pipgrip-0.11.0}/src/pipgrip/libs/mixology/package.py +0 -0
  22. {pipgrip-0.10.15 → pipgrip-0.11.0}/src/pipgrip/libs/mixology/package_source.py +0 -0
  23. {pipgrip-0.10.15 → pipgrip-0.11.0}/src/pipgrip/libs/mixology/partial_solution.py +0 -0
  24. {pipgrip-0.10.15 → pipgrip-0.11.0}/src/pipgrip/libs/mixology/range.py +0 -0
  25. {pipgrip-0.10.15 → pipgrip-0.11.0}/src/pipgrip/libs/mixology/result.py +0 -0
  26. {pipgrip-0.10.15 → pipgrip-0.11.0}/src/pipgrip/libs/mixology/set_relation.py +0 -0
  27. {pipgrip-0.10.15 → pipgrip-0.11.0}/src/pipgrip/libs/mixology/term.py +0 -0
  28. {pipgrip-0.10.15 → pipgrip-0.11.0}/src/pipgrip/libs/mixology/union.py +0 -0
  29. {pipgrip-0.10.15 → pipgrip-0.11.0}/src/pipgrip/libs/mixology/version_solver.py +0 -0
  30. {pipgrip-0.10.15 → pipgrip-0.11.0}/src/pipgrip/libs/semver/__init__.py +0 -0
  31. {pipgrip-0.10.15 → pipgrip-0.11.0}/src/pipgrip/libs/semver/empty_constraint.py +0 -0
  32. {pipgrip-0.10.15 → pipgrip-0.11.0}/src/pipgrip/libs/semver/exceptions.py +0 -0
  33. {pipgrip-0.10.15 → pipgrip-0.11.0}/src/pipgrip/libs/semver/patterns.py +0 -0
  34. {pipgrip-0.10.15 → pipgrip-0.11.0}/src/pipgrip/libs/semver/version.py +0 -0
  35. {pipgrip-0.10.15 → pipgrip-0.11.0}/src/pipgrip/libs/semver/version_constraint.py +0 -0
  36. {pipgrip-0.10.15 → pipgrip-0.11.0}/src/pipgrip/libs/semver/version_range.py +0 -0
  37. {pipgrip-0.10.15 → pipgrip-0.11.0}/src/pipgrip/libs/semver/version_union.py +0 -0
  38. {pipgrip-0.10.15 → pipgrip-0.11.0}/src/pipgrip/package_source.py +0 -0
  39. {pipgrip-0.10.15 → pipgrip-0.11.0}/src/pipgrip/pipper.py +0 -0
  40. {pipgrip-0.10.15 → pipgrip-0.11.0}/src/pipgrip.egg-info/SOURCES.txt +0 -0
  41. {pipgrip-0.10.15 → pipgrip-0.11.0}/src/pipgrip.egg-info/dependency_links.txt +0 -0
  42. {pipgrip-0.10.15 → pipgrip-0.11.0}/src/pipgrip.egg-info/entry_points.txt +0 -0
  43. {pipgrip-0.10.15 → pipgrip-0.11.0}/src/pipgrip.egg-info/requires.txt +0 -0
  44. {pipgrip-0.10.15 → pipgrip-0.11.0}/src/pipgrip.egg-info/top_level.txt +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: pipgrip
3
- Version: 0.10.15
3
+ Version: 0.11.0
4
4
  Summary: Lightweight pip dependency resolver with deptree preview functionality based on the PubGrub algorithm
5
5
  Home-page: https://github.com/ddelange/pipgrip
6
6
  Author: ddelange
@@ -169,6 +169,10 @@ Options:
169
169
  -v, --verbose Control verbosity: -v will print cyclic
170
170
  dependencies (WARNING), -vv will show solving
171
171
  decisions (INFO), -vvv for development (DEBUG).
172
+ --skip-invalid-input Skip invalid requirements (e.g. internal
173
+ repositories, typos) and continue processing
174
+ other dependencies.
175
+ --version Show the version and exit.
172
176
  -h, --help Show this message and exit.
173
177
  ```
174
178
 
@@ -112,6 +112,10 @@ Options:
112
112
  -v, --verbose Control verbosity: -v will print cyclic
113
113
  dependencies (WARNING), -vv will show solving
114
114
  decisions (INFO), -vvv for development (DEBUG).
115
+ --skip-invalid-input Skip invalid requirements (e.g. internal
116
+ repositories, typos) and continue processing
117
+ other dependencies.
118
+ --version Show the version and exit.
115
119
  -h, --help Show this message and exit.
116
120
  ```
117
121
 
@@ -0,0 +1 @@
1
+ version = "0.11.0"
@@ -45,6 +45,8 @@ import click
45
45
  from anytree import AsciiStyle, ContStyle, Node, RenderTree
46
46
  from anytree.exporter import DictExporter
47
47
  from packaging.markers import default_environment
48
+ from packaging.requirements import InvalidRequirement
49
+ from pkg_resources import RequirementParseError
48
50
 
49
51
  from pipgrip import __version__
50
52
  from pipgrip.compat import PIP_VERSION
@@ -56,6 +58,7 @@ from pipgrip.pipper import (
56
58
  BUILD_FAILURE_STR,
57
59
  REPORT_FAILURE_STR,
58
60
  install_packages,
61
+ parse_req,
59
62
  read_requirements,
60
63
  )
61
64
 
@@ -383,6 +386,12 @@ def render_lock(packages, include_dot=True, sort=False):
383
386
  count=True,
384
387
  help="Control verbosity: -v will print cyclic dependencies (WARNING), -vv will show solving decisions (INFO), -vvv for development (DEBUG).",
385
388
  )
389
+ @click.option(
390
+ "--skip-invalid-input",
391
+ is_flag=True,
392
+ help="Skip invalid requirements (e.g. internal repositories, typos) and continue processing other dependencies.",
393
+ )
394
+ @click.version_option(version=__version__, prog_name="pipgrip")
386
395
  def main(
387
396
  dependencies,
388
397
  requirements_file,
@@ -406,6 +415,7 @@ def main(
406
415
  threads,
407
416
  pre,
408
417
  verbose,
418
+ skip_invalid_input,
409
419
  ):
410
420
  if verbose == 0:
411
421
  logger.setLevel(logging.ERROR)
@@ -476,7 +486,15 @@ def main(
476
486
  pre=pre,
477
487
  )
478
488
  for root_dependency in dependencies:
479
- source.root_dep(root_dependency)
489
+ try:
490
+ source.root_dep(root_dependency)
491
+ except (InvalidRequirement, RequirementParseError) as e:
492
+ if skip_invalid_input:
493
+ logger.warning(
494
+ "Skipping invalid requirement '%s': %s", root_dependency, str(e)
495
+ )
496
+ else:
497
+ raise
480
498
 
481
499
  solver = VersionSolver(source, threads=threads)
482
500
  try:
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: pipgrip
3
- Version: 0.10.15
3
+ Version: 0.11.0
4
4
  Summary: Lightweight pip dependency resolver with deptree preview functionality based on the PubGrub algorithm
5
5
  Home-page: https://github.com/ddelange/pipgrip
6
6
  Author: ddelange
@@ -169,6 +169,10 @@ Options:
169
169
  -v, --verbose Control verbosity: -v will print cyclic
170
170
  dependencies (WARNING), -vv will show solving
171
171
  decisions (INFO), -vvv for development (DEBUG).
172
+ --skip-invalid-input Skip invalid requirements (e.g. internal
173
+ repositories, typos) and continue processing
174
+ other dependencies.
175
+ --version Show the version and exit.
172
176
  -h, --help Show this message and exit.
173
177
  ```
174
178
 
@@ -1 +0,0 @@
1
- version = "0.10.15"
File without changes
File without changes
File without changes