apostate. The Python package’s runs as apostate or python3 -m apostate. The Node package’s runs as npx apostate, or apostate when the package is installed globally. With both installed, apostate runs whichever comes first on PATH. They share the browser install in the cache directory, so installing with one serves the other.
Global options
In the Python CLI, global options go before the command, as in
apostate --cache-dir ./cache install. The Node CLI reads them anywhere on the line before a --.
install
path
<cache>/152.0.7977.83/<target>/install/, as chrome on Linux, chrome.exe on Windows and Chromium.app/Contents/MacOS/Chromium on macOS.
info
discovery.rejected says why each browser it found was passed over.
The keys are the ones binary_info() and binaryInfo() return. The two CLIs differ in a few keys:
clear
--target limits it to that target’s install.
run
--, installing it first when none is found and giving it a Widevine CDM when it has none. The browser owns the terminal, and its exit status is the command’s.
run passes the switches through unchanged. It adds no seed, locale, timezone, proxy handling or --no-first-run, which the packages’ launch functions add. Switches lists what to pass.
- Python. The published 0.4.3 CLI needs the
--. Without it, 0.4.3 prints its usage and exits with status 2. From 0.4.4 everything afterrungoes to the browser, with or without--. Every--on the line is dropped in both versions. - Node. Everything after
rungoes to the browser, except the CLI’s own options (--cache-dir,--manifest,--target,--from,--force,--keep-archive,--version,-v,--help,-h), which the CLI reads wherever they are before a--. The first--is dropped.apostate run --versionprints the package version, andapostate run -- --versionprints the browser’s.
--user-data-dir=DIR among the switches, run also writes the Widevine CDM’s location into DIR on Linux.
fonts install windows
~/.local/share/fonts/apostate-windows on Linux and ~/Library/Fonts/apostate-windows on macOS. Fonts explains why a Windows persona needs them.
- Without
--from, it clonesgithub.com/MauCariApa-com/windows-11-fontswithgit, sogitmust be installed. --from DIRtakes the fonts from a WindowsFontsfolder instead.- It installs only files whose family is in the core pack, and removes other files an earlier version put in the directory.
- On Linux it runs
fc-cache -f, so fontconfig must be installed. - It then lists the core families the host still lacks.
- On a Windows host it does nothing, because the fonts are already there.
liblaf/fonts Win11 release. It reads only that file out of the release zip, about 80 KB, and installs it only when its SHA-256 matches. When that fails, it says so and installs the rest.
fonts install macos
fonts export-macos wrote on a Mac into ~/.local/share/fonts/apostate-macos on a Linux host, and runs fc-cache -f. --from is required. On a Mac it does nothing. On Windows it fails.
fonts export-macos
DIR, one file per name. Copy DIR to the Linux host and run fonts install macos --from DIR there. It fails on any other OS.
provision-drm
Python only.
On
windows-x64 it also prints warning: Widevine has not been verified on windows-x64 yet on stderr. In Node, call provisionWidevine().
Exit status
For
run, the status is the browser’s. The Python CLI replaces its own process with the browser on Linux and macOS. The Node CLI exits with the browser’s status, or 1 when a signal ended it.