multipass-auth
Reusable browser-login building blocks, spun out of
canvasser. Import name is
multipass; the distribution is multipass-auth (the bare name is a
decade-old stub on PyPI). 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.2
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| multipass_auth-0.0.2.tar.gz | 44.6 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| multipass_auth-0.0.2-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 91.5 kB
Release files / multipass_auth-0.0.2.tar.gz
| Download URL | multipass_auth-0.0.2.tar.gz |
|---|---|
| Size | 44.6 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
96405d61b06e2c0f7efaa64e2514ea7acd0cad872233783b61d27f32a822f5ce
|
|
BLAKE2b-256 checksum How to use checksums |
f4cf9eeb5795ddc7fae75170bbe8d5edd7070cbc2bf91cfd1cd321d60835a0ee
|
| 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.2-py3-none-any.whl
| Download URL | multipass_auth-0.0.2-py3-none-any.whl |
|---|---|
| Size | 46.9 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
43db0841735ed06663a29d4c28e7e5f586835b164b67da7088b72aeefe9ed764
|
|
BLAKE2b-256 checksum How to use checksums |
68fb56ace828d2e313a98a2dfb3a5b0668d69b1f9d9e9f922c02993f2b676789
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.13.5
|