Client¶
The client package provides helpers for S2 pairing, connection initiation, and unpairing.
Quick start¶
import asyncio
from s2auth.client import ClientSettings, PairingClient
async def run_pairing_flow() -> None:
settings = ClientSettings()
client = PairingClient.from_settings(settings)
pairing_result = await client.pair()
connect_result = await client.connect(
pairing_s2_node_id=pairing_result.pairing_s2_node_id
)
unpair_result = await client.unpair(
pairing_s2_node_id=pairing_result.pairing_s2_node_id
)
print(pairing_result.pairing_s2_node_id)
print(connect_result.success)
print(unpair_result.success)
asyncio.run(run_pairing_flow())
CLI¶
The reference client CLI is exposed as client.
Typical flow:
- Run pairing to store connection details.
- Run connect to request session details.
- Run unpair when the pairing should be revoked.
Configuration¶
Client configuration is loaded through s2auth.client.settings.ClientSettings.
Important settings include:
SERVER_URLPAIRING_TOKENPAIRING_S2_NODE_IDCLIENT_S2_NODE_IDCLIENT_ROLECLIENT_DEPLOYMENTDOMAIN_NAMEVERIFY_TLSSSL_CERTFILESTORAGE_DB_URL
For full API details, see the Client section under API Reference.