Modules¶
pypi2nix.logger¶
-
class
pypi2nix.logger.
Logger
¶ -
debug
(text: str) → None¶
-
error
(text: str) → None¶
-
info
(text: str) → None¶
-
set_verbosity
(level: pypi2nix.logger.Verbosity) → None¶
-
warning
(text: str) → None¶
-
-
exception
pypi2nix.logger.
LoggerNotConnected
¶
-
class
pypi2nix.logger.
ProxyLogger
¶ -
debug
(text: str) → None¶
-
error
(text: str) → None¶
-
get_target_logger
() → Optional[pypi2nix.logger.Logger]¶
-
info
(text: str) → None¶
-
set_target_logger
(target: pypi2nix.logger.Logger) → None¶
-
set_verbosity
(level: pypi2nix.logger.Verbosity) → None¶
-
warning
(text: str) → None¶
-
-
class
pypi2nix.logger.
StreamLogger
(output: TextIO)¶ -
debug
(text: str) → None¶
-
error
(text: str) → None¶
-
info
(text: str) → None¶
-
set_verbosity
(level: pypi2nix.logger.Verbosity) → None¶
-
classmethod
stdout_logger
() → pypi2nix.logger.StreamLogger¶
-
warning
(text: str) → None¶
-
-
pypi2nix.logger.
verbosity_from_int
(n: int) → pypi2nix.logger.Verbosity¶
pypi2nix.dependency_graph¶
-
exception
pypi2nix.dependency_graph.
CyclicDependencyOccured
¶
-
class
pypi2nix.dependency_graph.
DependencyGraph
¶ -
classmethod
deserialize
(data: str) → pypi2nix.dependency_graph.DependencyGraph¶
-
get_all_build_dependency_names
(package: pypi2nix.requirements.Requirement) → Set[str]¶
-
get_all_external_dependencies
(package: pypi2nix.requirements.Requirement) → Set[pypi2nix.external_dependencies.external_dependency.ExternalDependency]¶
-
get_all_runtime_dependency_names
(package: pypi2nix.requirements.Requirement) → Set[str]¶
-
import_wheel
(wheel: pypi2nix.wheel.Wheel, requirement_parser: pypi2nix.requirement_parser.RequirementParser) → None¶
-
is_buildtime_dependency
(dependent: pypi2nix.requirements.Requirement, dependency: pypi2nix.requirements.Requirement) → bool¶
-
is_runtime_dependency
(dependent: pypi2nix.requirements.Requirement, dependency: pypi2nix.requirements.Requirement) → bool¶
-
serialize
() → str¶
-
set_buildtime_dependency
(dependent: pypi2nix.requirements.Requirement, dependency: pypi2nix.requirements.Requirement) → None¶
-
set_external_dependency
(dependent: pypi2nix.requirements.Requirement, dependency: pypi2nix.external_dependencies.external_dependency.ExternalDependency) → None¶
-
set_runtime_dependency
(dependent: pypi2nix.requirements.Requirement, dependency: pypi2nix.requirements.Requirement) → None¶
-
classmethod
pypi2nix.external_dependencies¶
pypi2nix.wheels¶
-
class
pypi2nix.wheels.
Index
(logger: pypi2nix.logger.Logger, path: str = '/home/docs/checkouts/readthedocs.org/user_builds/pypi2nix/checkouts/latest/src/pypi2nix/wheels/index.json')¶ -
Entry
= typing.Union[pypi2nix.wheels.UrlEntry, pypi2nix.wheels.GitEntry]¶
-
class
GitEntry
(url, sha256, rev)¶ -
rev
¶ Alias for field number 2
-
sha256
¶ Alias for field number 1
-
url
¶ Alias for field number 0
-
-
is_valid
() → bool¶
-
pypi2nix.wheel_builder¶
-
class
pypi2nix.wheel_builder.
WheelBuilder
(pip: pypi2nix.pip.interface.Pip, project_directory: str, logger: pypi2nix.logger.Logger, requirement_parser: pypi2nix.requirement_parser.RequirementParser, target_platform: pypi2nix.target_platform.TargetPlatform, base_dependency_graph: pypi2nix.dependency_graph.DependencyGraph)¶ -
build
(requirements: pypi2nix.requirement_set.RequirementSet, setup_requirements: Optional[pypi2nix.requirement_set.RequirementSet] = None) → List[str]¶
-
dependency_graph
¶
-
detect_additional_build_dependencies
(requirements: pypi2nix.requirement_set.RequirementSet, constraints: Optional[pypi2nix.requirement_set.RequirementSet] = None) → pypi2nix.requirement_set.RequirementSet¶
-
ensure_download_directory_exists
() → None¶
-
ensure_extracted_wheels_directory_exists
() → None¶
-
extract_wheels
() → List[str]¶
-
get_frozen_requirements
() → str¶
-
get_uninspected_source_distributions
() → List[pypi2nix.source_distribution.SourceDistribution]¶
-
register_all_source_distributions
() → None¶
-
-
pypi2nix.wheel_builder.
list_files
(path: str) → List[str]¶
pypi2nix.wheel¶
-
class
pypi2nix.wheel.
Builder
(target_platform: pypi2nix.target_platform.TargetPlatform, wheel_directory_path: str, logger: pypi2nix.logger.Logger, requirement_parser: pypi2nix.requirement_parser.RequirementParser)¶ -
build
() → pypi2nix.wheel.Wheel¶
-
-
class
pypi2nix.wheel.
Wheel
(name: str, version: str, deps: pypi2nix.requirement_set.RequirementSet, homepage: str, license: str, description: str, build_dependencies: pypi2nix.requirement_set.RequirementSet, target_platform: pypi2nix.target_platform.TargetPlatform)¶ -
add_build_dependencies
(dependencies: pypi2nix.requirement_set.RequirementSet) → None¶
-
build_dependencies
(target_platform: pypi2nix.target_platform.TargetPlatform) → pypi2nix.requirement_set.RequirementSet¶
-
dependencies
(extras: List[str] = []) → pypi2nix.requirement_set.RequirementSet¶
-
classmethod
from_wheel_directory_path
(wheel_directory_path: str, target_platform: pypi2nix.target_platform.TargetPlatform, logger: pypi2nix.logger.Logger, requirement_parser: pypi2nix.requirement_parser.RequirementParser) → pypi2nix.wheel.Wheel¶
-
runtime_dependencies
(target_platform: pypi2nix.target_platform.TargetPlatform) → pypi2nix.requirement_set.RequirementSet¶
-
target_platform
() → pypi2nix.target_platform.TargetPlatform¶
-
to_dict
() → Dict[str, Any]¶
-
-
pypi2nix.wheel.
list_from_message
(metadata: email.message.Message, key: str) → Optional[List[str]]¶
-
pypi2nix.wheel.
str_from_message
(metadata: email.message.Message, key: str) → Optional[str]¶
pypi2nix.version¶
pypi2nix.utils¶
-
pypi2nix.utils.
args_as_list
(inputs: List[str]) → List[str]¶
-
pypi2nix.utils.
cmd
(command: Union[str, List[str]], logger: pypi2nix.logger.Logger, stderr: Optional[int] = None, cwd: Optional[str] = None) → Tuple[int, str]¶
-
pypi2nix.utils.
create_command_options
(options: Dict[str, Union[str, List[str], bool]]) → List[str]¶
-
pypi2nix.utils.
escape_double_quotes
(text: str) → str¶
-
pypi2nix.utils.
prefetch_git
(url: str, rev: Optional[str] = None) → Dict[str, str]¶
-
pypi2nix.utils.
prefetch_github
(owner: str, repo: str, rev: Optional[str] = None) → Dict[str, str]¶
-
pypi2nix.utils.
prefetch_hg
(url: str, logger: pypi2nix.logger.Logger, rev: Optional[str] = None) → Dict[str, str]¶
-
pypi2nix.utils.
prefetch_url
(url: str, logger: pypi2nix.logger.Logger, name: Optional[str] = None) → str¶
-
pypi2nix.utils.
pretty_option
(option: Optional[str]) → str¶
pypi2nix.target_platform¶
-
class
pypi2nix.target_platform.
PlatformGenerator
(nix: pypi2nix.nix.Nix, logger: pypi2nix.logger.Logger)¶ -
current_platform
() → Optional[pypi2nix.target_platform.TargetPlatform]¶
-
from_python_version
(version: pypi2nix.python_version.PythonVersion) → pypi2nix.target_platform.TargetPlatform¶
-
-
class
pypi2nix.target_platform.
TargetPlatform
(python_version: str, nixpkgs_python_version: pypi2nix.python_version.PythonVersion, python_full_version: str, implementation_version: str, os_name: str, sys_platform: str, implementation_name: str, platform_machine: str, platform_python_implementation: str, platform_release: str, platform_system: str, platform_version: str)¶ -
environment_dictionary
() → Dict[str, Any]¶
-
pypi2nix.sources¶
pypi2nix.source_distribution¶
-
class
pypi2nix.source_distribution.
SourceDistribution
(name: str, logger: pypi2nix.logger.Logger, requirement_parser: pypi2nix.requirement_parser.RequirementParser, pyproject_toml: Optional[pypi2nix.package.pyproject.PyprojectToml] = None, setup_cfg: Optional[pypi2nix.package.setupcfg.SetupCfg] = None)¶ -
build_dependencies
(target_platform: pypi2nix.target_platform.TargetPlatform) → pypi2nix.requirement_set.RequirementSet¶
-
classmethod
from_archive
(archive: pypi2nix.archive.Archive, logger: pypi2nix.logger.Logger, requirement_parser: pypi2nix.requirement_parser.RequirementParser) → pypi2nix.source_distribution.SourceDistribution¶
-
classmethod
get_pyproject_toml
(name: str, extracted_files: Iterable[str], logger: pypi2nix.logger.Logger, requirement_parser: pypi2nix.requirement_parser.RequirementParser) → Optional[pypi2nix.package.pyproject.PyprojectToml]¶
-
classmethod
get_setup_cfg
(extracted_files: Iterable[str], logger: pypi2nix.logger.Logger, requirement_parser: pypi2nix.requirement_parser.RequirementParser) → Optional[pypi2nix.package.setupcfg.SetupCfg]¶
-
package_format
¶
-
to_loose_requirement
() → pypi2nix.requirements.Requirement¶
-
pypi2nix.requirements_file¶
-
class
pypi2nix.requirements_file.
RequirementsFile
(path: str, project_dir: str, requirement_parser: pypi2nix.requirement_parser.RequirementParser, logger: pypi2nix.logger.Logger)¶ -
classmethod
from_lines
(lines: List[str], project_dir: str, requirement_parser: pypi2nix.requirement_parser.RequirementParser, logger: pypi2nix.logger.Logger) → pypi2nix.requirements_file.RequirementsFile¶
-
is_editable_line
(line: str) → bool¶
-
is_include_line
(line: str) → bool¶
-
is_vcs_line
(line: str) → bool¶
-
process
() → None¶
-
processed_requirements_file_path
() → str¶
-
read
() → str¶
-
sources
() → pypi2nix.sources.Sources¶
-
classmethod
pypi2nix.requirements_collector¶
This module implements a class to collect requirements from command line arguments given to pypi2nix
-
class
pypi2nix.requirements_collector.
RequirementsCollector
(platform: pypi2nix.target_platform.TargetPlatform, requirement_parser: pypi2nix.requirement_parser.RequirementParser, logger: pypi2nix.logger.Logger, project_directory: str, base_dependency_graph: pypi2nix.dependency_graph.DependencyGraph)¶ -
add_file
(file_path: str) → None¶
-
add_line
(line: str) → None¶
-
requirements
() → pypi2nix.requirement_set.RequirementSet¶
-
sources
() → pypi2nix.sources.Sources¶
-
pypi2nix.requirements¶
-
exception
pypi2nix.requirements.
IncompatibleRequirements
¶
-
class
pypi2nix.requirements.
PathRequirement
(name: str, path: str, extras: Set[str], environment_markers: Optional[pypi2nix.environment_marker.EnvironmentMarker], logger: pypi2nix.logger.Logger)¶ -
add
(other: pypi2nix.requirements.Requirement, target_platform: pypi2nix.target_platform.TargetPlatform) → pypi2nix.requirements.Requirement¶
-
change_path
(mapping: Callable[[str], str]) → pypi2nix.requirements.PathRequirement¶
-
environment_markers
() → Optional[pypi2nix.environment_marker.EnvironmentMarker]¶
-
extras
() → Set[str]¶
-
logger
() → pypi2nix.logger.Logger¶
-
name
() → str¶
-
path
() → str¶
-
source
() → pypi2nix.package_source.PathSource¶
-
to_line
() → str¶
-
-
class
pypi2nix.requirements.
Requirement
¶ -
add
(other: pypi2nix.requirements.Requirement, target_platform: pypi2nix.target_platform.TargetPlatform) → pypi2nix.requirements.Requirement¶
-
applies_to_target
(target_platform: pypi2nix.target_platform.TargetPlatform, extras: List[str] = []) → bool¶
-
environment_markers
() → Optional[pypi2nix.environment_marker.EnvironmentMarker]¶
-
extras
() → Set[str]¶
-
logger
() → pypi2nix.logger.Logger¶
-
name
() → str¶
-
source
() → Union[pypi2nix.package_source.GitSource, pypi2nix.package_source.HgSource, pypi2nix.package_source.PathSource, pypi2nix.package_source.UrlSource, None]¶
-
to_line
() → str¶
-
-
class
pypi2nix.requirements.
UrlRequirement
(name: str, url: str, extras: Set[str], environment_markers: Optional[pypi2nix.environment_marker.EnvironmentMarker], logger: pypi2nix.logger.Logger)¶ -
add
(other: pypi2nix.requirements.Requirement, target_platform: pypi2nix.target_platform.TargetPlatform) → pypi2nix.requirements.Requirement¶
-
environment_markers
() → Optional[pypi2nix.environment_marker.EnvironmentMarker]¶
-
extras
() → Set[str]¶
-
logger
() → pypi2nix.logger.Logger¶
-
name
() → str¶
-
source
() → Union[pypi2nix.package_source.GitSource, pypi2nix.package_source.HgSource, pypi2nix.package_source.PathSource, pypi2nix.package_source.UrlSource]¶
-
to_line
() → str¶
-
url
() → str¶
-
url_path
() → str¶
-
url_scheme
() → str¶
-
-
class
pypi2nix.requirements.
VersionRequirement
(name: str, versions: List[Tuple[str, str]], extras: Set[str], environment_markers: Optional[pypi2nix.environment_marker.EnvironmentMarker], logger: pypi2nix.logger.Logger)¶ -
add
(other: pypi2nix.requirements.Requirement, target_platform: pypi2nix.target_platform.TargetPlatform) → pypi2nix.requirements.Requirement¶
-
environment_markers
() → Optional[pypi2nix.environment_marker.EnvironmentMarker]¶
-
extras
() → Set[str]¶
-
logger
() → pypi2nix.logger.Logger¶
-
name
() → str¶
-
source
() → None¶
-
to_line
() → str¶
-
version
() → List[Tuple[str, str]]¶
-
pypi2nix.requirement_set¶
-
class
pypi2nix.requirement_set.
RequirementSet
(target_platform: pypi2nix.target_platform.TargetPlatform)¶ -
add
(requirement: pypi2nix.requirements.Requirement) → None¶
-
add_constraint
(requirement: pypi2nix.requirements.Requirement) → None¶
-
filter
(filter_function: Callable[[pypi2nix.requirements.Requirement], bool]) → pypi2nix.requirement_set.RequirementSet¶
-
classmethod
from_file
(requirements_file: pypi2nix.requirements_file.RequirementsFile, target_platform: pypi2nix.target_platform.TargetPlatform, requirement_parser: pypi2nix.requirement_parser.RequirementParser, logger: pypi2nix.logger.Logger) → pypi2nix.requirement_set.RequirementSet¶
-
get
(key: str, default: Optional[T] = None) → Union[pypi2nix.requirements.Requirement, None, T]¶
-
sources
() → pypi2nix.sources.Sources¶
-
to_constraints_only
() → pypi2nix.requirement_set.RequirementSet¶
-
to_file
(project_dir: str, target_platform: pypi2nix.target_platform.TargetPlatform, requirement_parser: pypi2nix.requirement_parser.RequirementParser, logger: pypi2nix.logger.Logger) → pypi2nix.requirements_file.RequirementsFile¶
-
pypi2nix.python_version¶
-
class
pypi2nix.python_version.
PythonVersion
¶ An enumeration.
-
derivation_name
() → str¶
-
major_version
() → str¶
-
nixpkgs_attribute
() → str¶
-
python3
= 'python3'¶
-
python35
= 'python35'¶
-
python36
= 'python36'¶
-
python37
= 'python37'¶
-
python38
= 'python38'¶
-
-
pypi2nix.python_version.
python_version_from_version_string
(version_string: str) → Optional[pypi2nix.python_version.PythonVersion]¶
pypi2nix.pypi_release¶
-
class
pypi2nix.pypi_release.
PypiRelease
(url: str, sha256_digest: str, version: str, type: pypi2nix.pypi_release.ReleaseType, filename: str)¶
-
class
pypi2nix.pypi_release.
ReleaseType
¶ An enumeration.
-
EGG
= 3¶
-
MSI
= 6¶
-
RPM
= 5¶
-
SOURCE
= 1¶
-
UNKNOWN
= 0¶
-
WHEEL
= 2¶
-
WIN_INSTALLER
= 4¶
-
-
pypi2nix.pypi_release.
get_release_type_by_packagetype
(packagetype: str) → Optional[pypi2nix.pypi_release.ReleaseType]¶
pypi2nix.pypi_package¶
-
class
pypi2nix.pypi_package.
PypiPackage
(name: str, releases: Set[pypi2nix.pypi_release.PypiRelease], version: str)¶
pypi2nix.pypi¶
-
class
pypi2nix.pypi.
Pypi
(logger: pypi2nix.logger.Logger, index: str = 'https://pypi.org/pypi')¶ -
get_package
¶
-
get_source_release
(name: str, version: str) → Optional[pypi2nix.pypi_release.PypiRelease]¶
-
-
exception
pypi2nix.pypi.
PypiFailed
¶
pypi2nix.project_directory¶
-
class
pypi2nix.project_directory.
PersistentProjectDirectory
(path: str)¶
-
class
pypi2nix.project_directory.
ProjectDirectory
¶
-
class
pypi2nix.project_directory.
TemporaryProjectDirectory
¶
pypi2nix.pip¶
pypi2nix.package_source¶
-
class
pypi2nix.package_source.
GitSource
(url: str, revision: Optional[str] = None)¶ -
hash_value
() → str¶
-
nix_expression
() → str¶
-
prefetch_data
() → Dict[str, str]¶
-
revision
() → str¶
-
pypi2nix.package¶
-
exception
pypi2nix.package.
DistributionNotDetected
¶
-
class
pypi2nix.package.
HasBuildDependencies
¶ -
build_dependencies
(target_platform: pypi2nix.target_platform.TargetPlatform) → pypi2nix.requirement_set.RequirementSet¶
-
-
class
pypi2nix.package.
HasRuntimeDependencies
¶ -
runtime_dependencies
(target_platform: pypi2nix.target_platform.TargetPlatform) → pypi2nix.requirement_set.RequirementSet¶
-
-
class
pypi2nix.package.
PackageMetadata
(name: str)¶ -
classmethod
from_package_directory
(path: str) → pypi2nix.package.metadata.PackageMetadata¶
-
classmethod
pypi2nix.overrides¶
-
class
pypi2nix.overrides.
NetworkFileParameter
¶ -
convert
(value, param, ctx)¶ Converts the value. This is not invoked for values that are None (the missing value).
-
name
= 'url'¶
-
-
class
pypi2nix.overrides.
OverridesGithub
(owner: str, repo: str, path: str, rev: Optional[str] = None)¶ -
nix_expression
(logger: pypi2nix.logger.Logger) → str¶
-
-
class
pypi2nix.overrides.
OverridesNetworkFile
(network_file: pypi2nix.network_file.NetworkFile)¶ -
nix_expression
(logger: pypi2nix.logger.Logger) → str¶
-
-
exception
pypi2nix.overrides.
UnsupportedUrlError
¶
pypi2nix.nix¶
-
exception
pypi2nix.nix.
EvaluationFailed
(*args, output: Optional[str] = None, **kwargs)¶
-
exception
pypi2nix.nix.
ExecutableNotFound
¶
-
class
pypi2nix.nix.
Nix
(logger: pypi2nix.logger.Logger, nix_path: List[str] = [], executable_directory: Optional[str] = None)¶ -
build
(source_file: str, attribute: Optional[str] = None, out_link: Optional[str] = None, arguments: Dict[str, Union[str, List[str], bool]] = {}) → None¶
-
build_expression
(expression: str, out_link: Optional[str] = None, arguments: Dict[str, Union[str, List[str], bool]] = {}) → None¶
-
evaluate_expression
(expression: str) → str¶
-
evaluate_file
(source_file: str, attribute: Optional[str] = None) → None¶
-
executable_path
(program_name: str) → str¶
-
nix_path_arguments
() → List[str]¶
-
run_nix_command
(binary_name: str, command: List[str]) → str¶
-
shell
(command: str, derivation_path: str, nix_arguments: Dict[str, Union[str, List[str], bool]] = {}, pure: bool = True) → str¶
-
pypi2nix.metadata_fetcher¶
Parse metadata from .dist-info directories in a wheelhouse.
-
class
pypi2nix.metadata_fetcher.
MetadataFetcher
(sources: pypi2nix.sources.Sources, logger: pypi2nix.logger.Logger, requirement_parser: pypi2nix.requirement_parser.RequirementParser, pypi: pypi2nix.pypi.Pypi)¶ -
main
(wheel_paths: Iterable[str], target_platform: pypi2nix.target_platform.TargetPlatform, source_distributions: Dict[str, pypi2nix.source_distribution.SourceDistribution]) → List[pypi2nix.wheel.Wheel]¶ Extract packages metadata from wheels dist-info folders.
-
process_wheel
(wheel: pypi2nix.wheel.Wheel) → None¶
-
-
exception
pypi2nix.metadata_fetcher.
MetadataFetchingFailed
¶
pypi2nix.main¶
-
class
pypi2nix.main.
Pypi2nix
(configuration: pypi2nix.configuration.ApplicationConfiguration)¶ -
base_dependency_graph
() → pypi2nix.dependency_graph.DependencyGraph¶
-
logger
() → pypi2nix.logger.Logger¶
-
nix
() → pypi2nix.nix.Nix¶
-
print_user_information
() → None¶
-
requirement_parser
() → pypi2nix.requirement_parser.RequirementParser¶
-
requirements_collector
() → pypi2nix.requirements_collector.RequirementsCollector¶
-
run
() → None¶
-
setup_requirements_collector
() → pypi2nix.requirements_collector.RequirementsCollector¶
-
target_platform
() → pypi2nix.target_platform.TargetPlatform¶
-
pypi2nix.license¶
-
pypi2nix.license.
escape_regex
(text: str) → str¶
-
pypi2nix.license.
find_license
(classifiers: List[str], license_string: str) → Optional[str]¶
-
pypi2nix.license.
first_license_classifier_from_list
(classifiers: List[str]) → Optional[str]¶
-
pypi2nix.license.
license_from_string
(license_string: str) → Optional[str]¶
-
pypi2nix.license.
recognized_nix_license_from_classifiers
(classifiers: List[str]) → Optional[str]¶
pypi2nix.environment_marker¶
-
class
pypi2nix.environment_marker.
EnvironmentMarker
(marker_string: str)¶ -
applies_to_platform
(target_platform: pypi2nix.target_platform.TargetPlatform, extras: List[str] = []) → bool¶
-
-
exception
pypi2nix.environment_marker.
MarkerEvaluationFailed
¶
pypi2nix.configuration¶
-
class
pypi2nix.configuration.
ApplicationConfiguration
(verbosity: pypi2nix.logger.Verbosity, nix_executable_directory: Optional[str], nix_path: List[str], extra_build_inputs: List[str], emit_extra_build_inputs: bool, extra_environment: str, enable_tests: bool, python_version: pypi2nix.python_version.PythonVersion, requirement_files: List[str], requirements: List[str], setup_requirements: List[str], overrides: List[pypi2nix.overrides.Overrides], wheels_caches: List[str], output_basename: str, project_directory: str, target_directory: str, dependency_graph_output_location: Optional[pathlib.Path], dependency_graph_input: pypi2nix.dependency_graph.DependencyGraph)¶