requirementcheck module

Class

Description

binaryninja.requirementcheck.DependencyConflict

binaryninja.requirementcheck.DependencyRequirement

Function

Description

binaryninja.requirementcheck.pip_dependency_conflicts

Compare active requirements for a candidate plugin.

binaryninja.requirementcheck.pip_requirements_excluding_packages

Returns dependency requirements without excluded packages.

binaryninja.requirementcheck.pip_requirements_from_dependency_metadata

binaryninja.requirementcheck.pip_requirements_satisfied

DependencyConflict

class DependencyConflict[source]

Bases: object

__init__(status: str, package_name: str, candidate_requirements: Sequence[DependencyRequirement], installed_requirements: Sequence[DependencyRequirement]) None
Parameters:
Return type:

None

candidate_requirements: Sequence[DependencyRequirement]
installed_requirements: Sequence[DependencyRequirement]
package_name: str
status: str

DependencyRequirement

class DependencyRequirement[source]

Bases: object

__init__(plugin_name: str, requirement: str) None
Parameters:
  • plugin_name (str)

  • requirement (str)

Return type:

None

plugin_name: str
requirement: str

pip_dependency_conflicts

pip_dependency_conflicts(candidate_name: str, candidate_dependencies: bytes, installed_plugins: Iterable[tuple[str, bytes]]) List[DependencyConflict][source]

Compare active requirements for a candidate plugin.

See the following for more on dependency and version specifiers:

Markers that do not apply are ignored. Only a subset of the possible operators are handled and the result we hand back is conservative if we can’t prove a conflict.

Parameters:
Return type:

List[DependencyConflict]

pip_requirements_excluding_packages

pip_requirements_excluding_packages(dependencies: bytes, excluded_package_names: Iterable[str]) List[str][source]

Returns dependency requirements without excluded packages.

Requirements that cannot be parsed are kept to avoid hiding an unsupported or malformed dependency.

Parameters:
Return type:

List[str]

pip_requirements_from_dependency_metadata

pip_requirements_from_dependency_metadata(dependencies: bytes) List[str][source]
Parameters:

dependencies (bytes)

Return type:

List[str]

pip_requirements_satisfied

pip_requirements_satisfied(requirements: Iterable[str], installed_versions: Dict[str, str] | None = None) bool[source]
Parameters:
Return type:

bool