pip_rating.sources package¶
Submodules¶
pip_rating.sources.audit module¶
- class pip_rating.sources.audit.Audit(package_name: str, version: str)[source]¶
Bases:
SourceBase
Audit source
- property cache_file: Path¶
- property is_vulnerable: bool¶
- source_name: str = 'audit'¶
- property vulnerabilities: List[Vulnerability]¶
- class pip_rating.sources.audit.Vulnerability[source]¶
Bases:
TypedDict
- aliases: List[str]¶
- description: str¶
- fix_versions: List[str]¶
- id: str¶
- published_iso_dt: str | None¶
- pip_rating.sources.audit.vulns_to_dict(vulnerabilities: List[VulnerabilityResult]) List[Vulnerability] [source]¶
pip_rating.sources.base module¶
pip_rating.sources.pypi module¶
- class pip_rating.sources.pypi.PyPackageInfo[source]¶
Bases:
TypedDict
- author: str¶
- author_email: str¶
- bugtrack_url: str¶
- classifiers: List[str]¶
- description: str¶
- description_content_type: str¶
- docs_url: str¶
- download_url: str¶
- downloads: Dict[str, int]¶
- home_page: str¶
- keywords: str¶
- license: str¶
- maintainer: str¶
- maintainer_email: str¶
- name: str¶
- package_url: str¶
- platform: str | None¶
- project_url: str¶
- project_urls: Dict[str, str]¶
- release_url: str¶
- requires_dist: List[str]¶
- requires_python: str | None¶
- summary: str¶
- version: str¶
- yanked: bool¶
- yanked_reason: str | None¶
- class pip_rating.sources.pypi.Pypi(package_name: str)[source]¶
Bases:
SourceBase
- property first_upload: PypiPackageReleaseUpload | None¶
- property first_upload_iso_dt: str | None¶
- get_package() PypiPackage [source]¶
- property latest_upload: PypiPackageReleaseUpload | None¶
- property latest_upload_iso_dt: str | None¶
- property package: PypiPackage¶
- source_name: str = 'pypi'¶
- property uploads: List[PypiPackageReleaseUpload]¶
- class pip_rating.sources.pypi.PypiCacheDict[source]¶
Bases:
TypedDict
- package: PypiPackage¶
- package_name: str¶
- updated_at: str¶
- class pip_rating.sources.pypi.PypiPackage[source]¶
Bases:
TypedDict
- info: PyPackageInfo¶
- last_serial: int¶
- releases: Dict[str, List[PypiPackageReleaseUpload]]¶
- class pip_rating.sources.pypi.PypiPackageReleaseUpload[source]¶
Bases:
TypedDict
- comment_text: str¶
- digests: Dict[str, str]¶
- downloads: int¶
- filename: str¶
- has_sig: bool¶
- md5_digest: str¶
- packagetype: str¶
- python_version: str¶
- requires_python: str | None¶
- size: int¶
- upload_time: str¶
- upload_time_iso_8601: str¶
- url: str¶
- yanked: bool¶
- yanked_reason: str | None¶
pip_rating.sources.sourcecode_page module¶
- class pip_rating.sources.sourcecode_page.Sourcecode[source]¶
Bases:
TypedDict
- package_in_readme: bool | None¶
- readme_content: str¶
- class pip_rating.sources.sourcecode_page.SourcecodeCacheDict[source]¶
Bases:
TypedDict
- package_name: str¶
- source: str¶
- sourcecode: Sourcecode¶
- updated_at: str¶
- class pip_rating.sources.sourcecode_page.SourcecodePage(package: Package)[source]¶
Bases:
SourceBase
- get_cache_data() SourcecodeCacheDict [source]¶
- property package_in_readme: bool | None¶
- source_name: str = 'sourcecode_page'¶
- pip_rating.sources.sourcecode_page.get_github_readme(owner: str, repo: str) str [source]¶
Get the readme content from GitHub.
- pip_rating.sources.sourcecode_page.replace_chars(package_name: str)[source]¶
Replace characters in package name to match the pattern in readme.
- pip_rating.sources.sourcecode_page.search_in_readme(content: str, package_name: str) bool | None [source]¶
Search for patterns in readme. If found the pattern, check if the package name is package_name. If the package name found is package_name, return True, else continues searching. If after all patterns are searched and no package name is found, return False. If any pattern matches, return None.
pip_rating.sources.sourcerank module¶
- class pip_rating.sources.sourcerank.SourceRank(package: Package)[source]¶
Bases:
SourceBase
- property breakdown: SourceRankBreakdown¶
- source_name: str = 'sourcerank'¶
- class pip_rating.sources.sourcerank.SourceRankBreakdown[source]¶
Bases:
TypedDict
- basic_info_present: int¶
- contributors: int¶
- dependent_projects: int¶
- dependent_repositories: int¶
- follows_semver: int¶
- has_multiple_versions: int¶
- is_1_or_greater: int¶
- librariesio_subscribers: int¶
- license_present: int¶
- not_brand_new: int¶
- readme_present: int¶
- recent_release: int¶
- source_repository_present: int¶
- stars: int¶
- total: int¶