API Reference
This reference is generated from Python docstrings.
Package
cabfile
CabFile
High-level cabinet reader with member-centric and ZipFile-compatible APIs.
NameToInfo: dict[str, CabMember]
property
Member-name to metadata mapping (ZipFile-compatible property).
file_manager
property
Low-level FDI file manager for map/unmap and callback-backed I/O.
filelist: list[CabMember]
property
Ordered member metadata list (ZipFile-compatible property).
extract(member: str | CabMember, path: CabTargetDir | None = None, pwd: bytes | None = None) -> str
Extract one member and return its destination path.
Note: pwd is unsupported for CAB and raises NotImplementedError.
extract_members(target_dir: CabTargetDir, names: Iterable[str] | None = None) -> Iterator[CabMember]
Extract selected names, or all when names is None, and yield metadata.
extractall(path: CabTargetDir | None = None, members: Iterable[str] | None = None, pwd: bytes | None = None) -> None
Extract all members, or selected members, to path.
Note: pwd is unsupported for CAB and raises NotImplementedError.
getinfo(name: str) -> CabMember
Return metadata for one member (ZipFile-compatible alias).
infolist() -> list[CabMember]
Return member metadata objects (ZipFile-compatible alias).
items() -> list[tuple[str, CabMember]]
Return (name, member) pairs in cabinet order.
keys() -> list[str]
Return member names in cabinet order.
namelist() -> list[str]
Return member names in cabinet order (ZipFile-compatible alias).
printdir(file=None) -> None
Print a table of archive members (ZipFile-compatible shape).
read(name: str, pwd: bytes | None = None) -> bytes
Read payload bytes for one member name (ZipFile-compatible shape).
Note: pwd is unsupported for CAB and raises NotImplementedError.
read_members(names: Iterable[str] | None = None) -> Iterator[tuple[CabMember, bytes]]
Yield (member, payload) for selected names, or all when names is None.
Output follows cabinet traversal order.
test() -> bool
Test cabinet readability by copying all member data to in-memory sinks.
values() -> list[CabMember]
Return member metadata objects in cabinet order.
visit(on_copy_file: VisitCopyCallback) -> bool
Low-level FDICopy visit API.
For each member (fdintCOPY_FILE), on_copy_file is called with a
CabMember instance.
- Return
Noneto skip member data copy. - Return(file_like, on_done)wherefile_likeis writable andon_done()runs after data is written and unmapped. The callback owns finalization, including closing/reusing the file-like object.
Raise CabStopIteration to stop traversal early. Returns False for
early-stop, True otherwise.
CabSummary
dataclass
Top-level cabinet summary metadata returned by probe().
is_cabinet(source: CabSource) -> bool
Return True if source is a readable cabinet file.
main(args: Sequence[str] | None = None, stdout: TextIO | None = None, stderr: TextIO | None = None) -> int
Run the cabfile CLI and return a process-style exit code.
The command shape mirrors python -m zipfile for listing, testing, and
extraction workflows.
probe(source: CabSource) -> CabSummary
Return cabinet-level summary metadata for source.
Raises CabinetError when source is not a cabinet.
Models
cabfile.models
CabMember
dataclass
Metadata for a cabinet member.
CabSummary
dataclass
Top-level cabinet summary metadata returned by probe().
DecodeFATTime(FATdate, FATtime)
Convert FAT date/time bitfields to datetime.
Returns None when the bitfields encode an invalid date/time.