Skip to main content

multipass

Reusable browser-login building blocks, spun out of canvasser. Import name and distribution are both multipass. GPL-3.0-or-later.

Ships four modules: credential resolution (multipass.credentials), persistent browser contexts with 700/600 debug snapshots (multipass.browser), a branding skeleton (multipass.config — state layout plus every brandable string in one frozen object), and the recogniser-loop auth engine (multipass.auth: LoginState dispatch, one IdP row, structural rejection check, allowlist liveness) with Duo answered through the duo-pass dependency. Factor plugins beyond Duo arrive through extra_recognisers.

from pathlib import Path
from multipass import CredentialNames, resolve_credentials

NAMES = CredentialNames(
    username_vars=("CONCURRER_USERNAME",),
    password_vars=("CONCURRER_PASSWORD",),
    program="concurrer",
)

user, pw = resolve_credentials(
    names=NAMES,
    default_file=Path.home() / ".local" / "state" / "concurrer" / "secrets.env",
)

Branding

A library must not hardcode its first host's variable names — and it must not hold them as setup either. Every variable, flag example, and program name the package can utter arrives per call, in one frozen CredentialNames the host constructs and passes in (resolve_credentials(names=...), LoginTarget(names=...)). There is no configure(), no active branding, and no default to inherit: a default here would be the thing every host silently inherits. The MULTIPASS_* object exists only so the shape has something to show, not something to run under. State paths work the same way: resolve_state_dir(config) takes its AuthConfig explicitly, and the browser's snapshot directory, session file, and profile dir are required arguments wherever they are used.

Release files for multipass 0.1.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for multipass 0.1.0
File Size Uploaded
multipass-0.1.0.tar.gz 44.4 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for multipass 0.1.0
File Interpreter ABI Platform
multipass-0.1.0-py3-none-any.whl Python 3 none any Details

Total release size: 91.2 kB

Release files / multipass-0.1.0.tar.gz

Download URL multipass-0.1.0.tar.gz
Size 44.4 kB
Tags Source
SHA-256 checksum
How to use checksums
4489d2e924e0de136c82ccd8aa3e84cfdd6f55b7907376cf58fc7be4f1c5607a
BLAKE2b-256 checksum
How to use checksums
be96e100507af06520980dea24507ae76bac4484ce85093996f4a6f644ce408b
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Sep 24, 2026.

Transparency log

Release files / multipass-0.1.0-py3-none-any.whl

Download URL multipass-0.1.0-py3-none-any.whl
Size 46.8 kB
Tags Python 3
SHA-256 checksum
How to use checksums
860e8eaf71f79c75f9c7250a0dbd48ad9529cd7542eda40b9802f416c029dfa6
BLAKE2b-256 checksum
How to use checksums
30eba9f91f971699632a698e3d40cf2a9e50064ebfa4229514f9adb89def25d8
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Sep 24, 2026.

Transparency log

Release history Release notifications | RSS feed

This release

0.1.0 This release

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page