def build_wheels( self, requirements: RequirementSet, target_directory: str, source_directories: List[str], ) -> None: if not requirements: return requirements_files = [ requirements.to_file( self.project_directory, self.target_platform).processed_requirements_file_path() ] self.build_from_nix_file( command="exit", file_path=WHEEL_NIX, nix_arguments=self.nix_arguments( wheels_cache=self.wheels_cache, requirements_files=requirements_files, wheel_cache_dir=self.wheel_cache_dir, editable_sources_directory=self.editable_sources_directory(), build_directory=self.build_directory(), wheels_dir=target_directory, sources=source_directories, ), )
def install( self, requirements: RequirementSet, source_directories: List[str], target_directory: Optional[str] = None, ) -> None: if not requirements: return if target_directory is None: target_directory = self.default_lib_directory requirements_files = [ requirements.to_file( self.project_directory, self.target_platform).processed_requirements_file_path() ] self.build_from_nix_file( command="exit", file_path=INSTALL_NIX, nix_arguments=self.nix_arguments( requirements_files=requirements_files, wheel_cache_dir=self.wheel_cache_dir, target_directory=target_directory, sources_directories=source_directories, ), )
def test_that_extras_are_preserved_when_converting_to_and_from_a_file( requirement_parser: RequirementParser, requirement_set: RequirementSet, current_platform: TargetPlatform, project_dir: str, logger: Logger, ): requirement_set.add(requirement_parser.parse("req[extra1]")) requirements_file = requirement_set.to_file(project_dir, current_platform, requirement_parser, logger) new_requirements_set = RequirementSet.from_file(requirements_file, current_platform, requirement_parser, logger) requirement = new_requirements_set["req"] assert requirement.extras() == {"extra1"}
def download_sources(self, requirements: RequirementSet, target_directory: str) -> None: if not requirements: return requirements_files = [ requirements.to_file( self.project_directory, self.target_platform).processed_requirements_file_path() ] self.build_from_nix_file( command="exit", file_path=DOWNLOAD_NIX, nix_arguments=self.nix_arguments( requirements_files=requirements_files, destination_directory=target_directory, editable_sources_directory=self.editable_sources_directory(), build_directory=self.build_directory(), ), )
def _requirements_file(self, requirements: RequirementSet) -> Iterator[str]: with TemporaryDirectory() as directory: yield requirements.to_file( directory, self.target_platform, self.requirement_parser, self.logger).processed_requirements_file_path()