Skip to main content

multipass-auth

Reusable browser-login building blocks, spun out of canvasser. Import name is multipass; the distribution is multipass-auth. 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-auth 0.0.3

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-auth 0.0.3
File Size Uploaded
multipass_auth-0.0.3.tar.gz 44.6 kB Details

Built distribution (wheel)

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

Total release size: 91.5 kB

Release files / multipass_auth-0.0.3.tar.gz

Download URL multipass_auth-0.0.3.tar.gz
Size 44.6 kB
Tags Source
SHA-256 checksum
How to use checksums
7c3f4344abee05beb2699eb0838e731782040dd719d07f96ae2fe3778aac18d2
BLAKE2b-256 checksum
How to use checksums
e307d56dcd9d86adfdb3b2849e28ef1c774459e0f337fd9f9970bceba23bd720
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.13.5

Release files / multipass_auth-0.0.3-py3-none-any.whl

Download URL multipass_auth-0.0.3-py3-none-any.whl
Size 46.9 kB
Tags Python 3
SHA-256 checksum
How to use checksums
e3ec4f6ff679516875ad7145c88383da89515f423a814a946eac9530d7c0ab2d
BLAKE2b-256 checksum
How to use checksums
920c41d748d5090925fd11f7ab2e5bbf0b0cb3fc4d1d976893cdc226e460020d
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.13.5

Release history Release notifications | RSS feed

This release

0.0.3 This release

2 release files

0.0.2

2 release files

0.0.1

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