pip_rating package

Subpackages

Submodules

pip_rating.dependencies module

class pip_rating.dependencies.Dependencies(results: Results, req_file: ReqFileBase, cache_dir: str | None = None, index_url: str | None = None, extra_index_url: str | None = None, pre: bool = False, ignore_packages: list | None = None)[source]

Bases: object

Dependencies class. This class is responsible for getting the packages tree.

add_node_package(node: Node) Package | None[source]

Add the package as a node to the packages’ dict.

property dependencies_tree: Node

Get the dependencies tree.

get_global_rating_score()[source]
get_packages()[source]
property package_source: PackageSource

Describe requirements, and discover dependencies on demand.

property total_size
property version_solution: SolverResult | PartialSolution

Get the version solution for the packages. The version solver that finds a set of package versions that satisfy the root package’s dependencies.

class pip_rating.dependencies.DependenciesVersionSolver(results: Results, source: PackageSource, threads: int = 1)[source]

Bases: VersionSolver

pip_rating.exceptions module

Exceptions for pip-rating.

exception pip_rating.exceptions.RequirementsRatingError(extra_body='')[source]

Bases: Exception

body = ''
exit_code = 10
exception pip_rating.exceptions.RequirementsRatingInvalidFile(extra_body='')[source]

Bases: RequirementsRatingError

exit_code = 12
exception pip_rating.exceptions.RequirementsRatingMissingReqFile(directory: str)[source]

Bases: RequirementsRatingError

exit_code = 13
exception pip_rating.exceptions.RequirementsRatingParseError(extra_body='')[source]

Bases: RequirementsRatingError

exit_code = 11
pip_rating.exceptions.catch(fn)[source]

pip_rating.management module

Console script for pip-rating.

pip_rating.management.common_options(function)[source]
pip_rating.management.is_last_version() bool | None[source]
pip_rating.management.manage()[source]

Entry point for the console script.

pip_rating.packages module

class pip_rating.packages.Package(dependencies: Dependencies, name: str)[source]

Bases: object

add_node(node: Node)[source]
as_json(from_package: Package | None = None) PackageJson[source]
property first_node: Node
property first_node_with_version: str
get_audit(node: Node) Audit[source]
get_child_packages() Iterator[Package][source]
get_descendant_packages() Iterator[Package][source]
get_node_from_parent(from_package: Package | None = None) Node | None[source]

Given this package and a parent package, return the node in the package that is a descendant of the parent package

nodes: Set[Node]
property pypi: Pypi
property rating: PackageRating
property real_name: str
property sourcecode_page: SourcecodePage
property sourcerank: SourceRank
class pip_rating.packages.PackageJson[source]

Bases: TypedDict

audit_vulnerabilities: List[Vulnerability]
dependencies: List[PackageJson]
name: str
pypi_package: PypiPackage
rating: PackageRatingJson
sourcerank_breakdown: SourceRankBreakdown
version: str

pip_rating.rating module

class pip_rating.rating.BreakdownBase[source]

Bases: object

breakdown_key: str
get_breakdown_value(package_rating: PackageRating) int | bool | str[source]
get_score(package_rating: PackageRating) ScoreBase[source]
class pip_rating.rating.DateBreakdown(breakdown_key: str, scores: Dict[timedelta, int], default: int)[source]

Bases: BreakdownBase

get_score(package_rating: PackageRating) ScoreValue[source]
class pip_rating.rating.Max(max_score: int, current_score: int = 0)[source]

Bases: ScoreBase

class pip_rating.rating.NullBoolBreakdown(breakdown_key: str, scores: Dict[bool, ScoreBase])[source]

Bases: BreakdownBase

get_score(package_rating: PackageRating) ScoreBase[source]
class pip_rating.rating.PackageBreakdown(breakdown_key: str, score: int | Max | None = None)[source]

Bases: BreakdownBase

get_score(package_rating: PackageRating) ScoreValue[source]
class pip_rating.rating.PackageRating(package: Package, params: PackageRatingParams | None = None)[source]

Bases: object

as_json(from_package: Package | None = None) PackageRatingJson[source]
property breakdown_scores: List[Tuple[str, ScoreBase]]
property cache_path: Path
property descendant_rating_scores: List[Tuple[Package, int]]
get_from_cache() PackageRatingCache | None[source]
get_global_rating_score(from_package: Optional | None = None) int[source]
get_params_from_cache() PackageRatingParams[source]
get_params_from_package() PackageRatingParams[source]
get_rating_score(from_package: Package | None = None) int[source]
get_vulnerabilities(from_package: Package | None = None) List[Vulnerability][source]
property is_cache_expired: bool
property rating_score
save_to_cache() PackageRatingCache[source]
class pip_rating.rating.PackageRatingCache[source]

Bases: TypedDict

package_name: str
params: PackageRatingParams
schema_version: str
updated_at: str
class pip_rating.rating.PackageRatingJson[source]

Bases: TypedDict

global_rating_score: int
params: PackageRatingParams
rating_score: int
vulnerabilities: List[Vulnerability]
class pip_rating.rating.PackageRatingParams[source]

Bases: TypedDict

pypi_package: PypiPackage
sourcecode_page: SourcecodePage
sourcerank_breakdown: SourceRankBreakdown
class pip_rating.rating.PypiPackage[source]

Bases: TypedDict

first_upload_iso_dt: str | None
latest_upload_iso_dt: str | None
class pip_rating.rating.ScoreBase[source]

Bases: object

class pip_rating.rating.ScoreValue(value: int)[source]

Bases: ScoreBase

class pip_rating.rating.SourcecodePage[source]

Bases: TypedDict

package_in_readme: bool | None

pip_rating.results module

class pip_rating.results.JsonResults[source]

Bases: TypedDict

JSON results

global_rating_letter: str
global_rating_score: int
packages: List[dict]
requirements: List[str]
schema_version: str
updated_at: str
class pip_rating.results.RatingLetter(letter: str, score: int, color: str)[source]

Bases: object

Rating letter.

class pip_rating.results.Results(to_file: str | None = None)[source]

Bases: object

Print pip-ratings results to the terminal.

analizing_package(package: str, total: int)[source]
get_global_rating_score(dependencies: Dependencies) int[source]
get_json_results(dependencies: Dependencies)[source]
processing_package(package: Any)[source]
progress: Progress | None
show_badge_results(dependencies: Dependencies) None[source]

Show the badge depending on the global rating score. The badge is printed as a svg image

Parameters:

dependencies – Dependencies

show_json_results(dependencies: Dependencies)[source]
show_only_rating_results(dependencies: Dependencies)[source]
show_packages_results(dependencies: Dependencies)[source]
show_results(dependencies: Dependencies, format_name: str = 'text')[source]

Show results depending on the format. Optionally save to a file.

Parameters:
  • dependencies – Dependencies

  • format_name – Format name. Choices: FORMATS

show_tree_results(dependencies: Dependencies)[source]
property status: Status | None
task: TaskID | None
pip_rating.results.add_tree_node(dependencies: Dependencies, tree: Tree, package: Package, parent_package: Package | None = None)[source]
pip_rating.results.colorize_rating(score: ScoreBase | int) RatingLetter[source]

Colorize the rating.

pip_rating.results.colorize_rating_package(package: Package, parent_package: Package | None = None) str[source]

Colorize the rating of the package.

pip_rating.results.colorize_score(score: ScoreBase | int) str[source]

Colorize the score.

pip_rating.results.get_luminance(hex_color: str) float[source]

Get the luminance of a color as float.

Module contents

Top-level package for pip-rating.