reuse.report module

Module that contains reports about files and projects for linting.

class reuse.report.ProjectReport(do_checksum: bool = True)[source]

Bases: object

Object that holds linting report about the project.

to_dict_lint() Dict[str, Any][source]

Collects and formats data relevant to linting from report and returns it as a dictionary.

Returns:

Dictionary containing data from the ProjectReport object.

bill_of_materials(creator_person: str | None = None, creator_organization: str | None = None) str[source]

Generate a bill of materials from the project.

See https://spdx.org/specifications.

classmethod generate(project: Project, do_checksum: bool = True, multiprocessing: bool = True, add_license_concluded: bool = False) ProjectReport[source]

Generate a ProjectReport from a Project.

property used_licenses: Set[str]

Set of license identifiers that are found in file reports.

property unused_licenses: Set[str]

Set of license identifiers that are not found in any file report.

property files_without_licenses: Set[Path]

Set of paths that have no licensing information.

Set of paths that have no copyright information.

property is_compliant: bool

Whether the report is compliant with the REUSE Spec.

property recommendations: List[str]

Generate help for next steps based on found REUSE issues

class reuse.report.FileReport(name: str, path: str | PathLike, do_checksum: bool = True)[source]

Bases: object

Object that holds a linting report about a single file.

to_dict_lint() Dict[str, Any][source]

Turn the report into a json-like dictionary with exclusively information relevant for linting.

classmethod generate(project: Project, path: str | PathLike, do_checksum: bool = True, add_license_concluded: bool = False) FileReport[source]

Generate a FileReport from a path in a Project.

reuse.report.format_creator(creator: str | None) str[source]

Render the creator field based on the provided flag