Conventions¶
Public functions and modules use
snake_case; classes usePascalCase.Since version 3.0, obsolete camelCase entry points are removed rather than silently redirected.
Core package imports do not require Selenium, SeleniumBase, Playwright, or Camoufox. Optional providers load only when selected.
Browser capabilities that may not exist on every backend expose structured support information. Required unsupported operations raise typed browser errors.
Browser sessions, console layouts, temporary resources, observers, network clients, and similar owned resources should be closed explicitly or used as context managers.
Browser state probes used by
browser.wait.first_ofshould be free of clicks, navigation, CAPTCHA solving, and other side effects. Perform the action after a match is returned.Native Selenium, Playwright, and system-browser objects are escape hatches for provider-specific work; portable project logic should prefer the neutral browser facade.
The coordinated console selects VT, classic Win32, or stable plain output according to terminal capabilities and avoids emitting raw cursor controls to redirected streams.
Secrets should not be written to logs. Persistent environment-store values are masked when listed unless a caller explicitly requests their values.
Network and mail helpers require callers to provide appropriate authentication, certificate, timeout, and retry policies for their deployment.