MCPcopy
hub / github.com/pex-tool/pex / create

Function create

pex/resolve/lockfile/create.py:608–755  ·  view source on GitHub ↗

Create a lock file for the given resolve configurations.

(
    lock_configuration,  # type: LockConfiguration
    requirement_configuration,  # type: RequirementConfiguration
    targets,  # type: Targets
    pip_configuration,  # type: PipConfiguration
    dependency_configuration=DependencyConfiguration(),  # type: DependencyConfiguration
    avoid_downloads=False,  # type: bool
)

Source from the content-addressed store, hash-verified

606
607
608def create(
609 lock_configuration, # type: LockConfiguration
610 requirement_configuration, # type: RequirementConfiguration
611 targets, # type: Targets
612 pip_configuration, # type: PipConfiguration
613 dependency_configuration=DependencyConfiguration(), # type: DependencyConfiguration
614 avoid_downloads=False, # type: bool
615):
616 # type: (...) -> Union[Lockfile, Error]
617 """Create a lock file for the given resolve configurations."""
618
619 network_configuration = pip_configuration.network_configuration
620 parsed_requirements = tuple(requirement_configuration.parse_requirements(network_configuration))
621 constraints = tuple(
622 parsed_constraint.requirement.as_constraint()
623 for parsed_constraint in requirement_configuration.parse_constraints(network_configuration)
624 )
625
626 password_database = PasswordDatabase.from_netrc().append(
627 pip_configuration.repos_configuration.password_entries
628 )
629 package_index_configuration = PackageIndexConfiguration.create(
630 pip_version=pip_configuration.version,
631 resolver_version=pip_configuration.resolver_version,
632 network_configuration=network_configuration,
633 repos_configuration=attr.evolve(
634 pip_configuration.repos_configuration, password_entries=password_database.entries
635 ),
636 use_pip_config=pip_configuration.use_pip_config,
637 extra_pip_requirements=pip_configuration.extra_requirements,
638 keyring_provider=pip_configuration.keyring_provider,
639 uploaded_prior_to=pip_configuration.uploaded_prior_to,
640 )
641
642 configured_resolver = ConfiguredResolver(pip_configuration=pip_configuration)
643 lock_is_via_pip_download = (
644 pip_configuration.version is PipVersion.VENDORED or not avoid_downloads
645 )
646 lock_observer = LockObserver(
647 root_requirements=parsed_requirements,
648 lock_style=lock_configuration.style,
649 resolver=configured_resolver,
650 wheel_builder=WheelBuilder(
651 package_index_configuration=package_index_configuration,
652 build_configuration=pip_configuration.build_configuration,
653 pip_version=pip_configuration.version,
654 resolver=configured_resolver,
655 ),
656 package_index_configuration=package_index_configuration,
657 max_parallel_jobs=pip_configuration.max_jobs,
658 lock_is_via_pip_download=lock_is_via_pip_download,
659 )
660
661 download_dir = safe_mkdtemp()
662 with TRACER.timed("Calculating lock targets"):
663 download_input = calculate_download_input(
664 targets=targets,
665 requirement_configuration=requirement_configuration,

Callers 3

_createMethod · 0.90
_syncMethod · 0.90
update_resolveMethod · 0.90

Calls 15

ConfiguredResolverClass · 0.90
WheelBuilderClass · 0.90
safe_mkdtempFunction · 0.90
calculate_download_inputFunction · 0.90
try_Function · 0.90
OrderedSetClass · 0.90
TargetsClass · 0.90
LockObserverClass · 0.85
_create_lock_pip_reportsFunction · 0.85
parse_requirementsMethod · 0.80

Tested by

no test coverage detected