pynydus.common.scan_paths

File classification for credential and PII scanning.

classify returns ignored for known binary/non-text extensions and plain for everything else. partition_files splits on that: ignored entries are skipped. The rest are scanned as UTF-8 text.

Module Contents

Functions

classify

Classify a filename into a scanning category.

partition_files

Split files into scannable vs ignored dicts by extension.

Data

API

pynydus.common.scan_paths.FileCategory

None

pynydus.common.scan_paths.IGNORED_EXTENSIONS: frozenset[str]

‘frozenset(…)’

pynydus.common.scan_paths.classify(name: str) pynydus.common.scan_paths.FileCategory[source]

Classify a filename into a scanning category.

Args: name: File path or basename (extension is inferred from the last .).

Returns: "ignored" for binary/non-text assets, "plain" for everything else. Only "ignored" is filtered before scanning.

pynydus.common.scan_paths.partition_files(files: dict[str, str]) tuple[dict[str, str], dict[str, str]][source]

Split files into scannable vs ignored dicts by extension.

Args: files: Map of relative path to file body.

Returns: A pair (scannable, ignored). Ignored entries are binary or non-text assets. scannable entries are scanned for secrets/PII.