Every name in the __all__ of every published import root of nimbus-dev-sdk, as the
installed package exposes it.
Annotations appear as the compiler preserves them: every module under
src/nimbus_sdk/ carries from __future__ import annotations, so an annotation is
stored and re-rendered as unparsed source rather than evaluated. That normalises the
spelling — Literal["text"] is recorded as Literal['text'] — and the normalisation is
exactly why this file renders identically on every supported Python version. Type
aliases are recorded from their source text for the same reason — their runtime repr
is both verbose and version-dependent.
Two things are recorded as present without being recorded as valued, and neither absence is an oversight:
= ...means the parameter has a default whose value is not recorded — the way a.pyistub spells it. A default can be a live runtime object whosereprcarries secrets:require_env'senvdefaults toos.environ, and rendering that would write the whole process environment into this published file.- A constant's value is not recorded.
CONTRACT_VERSIONS: tuple[str, ...]renders identically whether it holds("1",)or("1", "2"), so a change to what a published constant holds does not diff here.
Docstrings are not recorded, matching api-surface.md and api-surface-go.md: a
reworded docstring is not a change to the surface.
13 exports.
CONTRACT_HANDSHAKE_EXIT: int— frozen — fromcontractCONTRACT_VERSIONS: tuple[str, ...]— frozen — fromcontractCONTRACT_VERSION_PATTERN: Pattern— frozen — fromcontractclass NegotiationOk— frozen — fromcontractversion: str
class NegotiationRefused— frozen — fromcontractreason: str
NegotiationResult = NegotiationOk | NegotiationRefused— frozen — fromcontract__version__: str— stable — from__init__def declared_versions_match(manifest_versions: Sequence[object], hello_versions: Sequence[str]) -> bool— frozen — fromcontractdef load_corpus(area: str) -> list[dict[str, object]]— stable — fromspecdef load_schema(name: str) -> dict[str, object]— stable — fromspecdef manifest_contract_versions(manifest: object) -> tuple[object, ...]— frozen — fromcontractdef negotiate_contract_version(local: Sequence[object], remote: Sequence[object]) -> NegotiationResult— frozen — fromcontractdef spec_root() -> Path— stable — fromspec
15 exports.
class FlushResult— frozen — fromipc/ndjsonframes: tuple[str, ...]truncated: bool
class FrameTooLongError(Exception)— frozen — fromipc/ndjsonHELLO_MESSAGE: str— frozen — fromipc/helloclass HandshakeIO(Protocol)— frozen — fromipc/handshakedef read(self) -> bytes | Nonedef write(self, chunk: bytes) -> None
class HandshakeOk— frozen — fromipc/handshakeversion: strpending: tuple[str, ...]
class HandshakeRefused— frozen — fromipc/handshakereason: strpending: tuple[str, ...]
HandshakeResult = HandshakeOk | HandshakeRefused— frozen — fromipc/handshakeclass HelloOk— frozen — fromipc/hellocontract_versions: tuple[str, ...]
class HelloRefused— frozen — fromipc/helloreason: str
HelloResult = HelloOk | HelloRefused— frozen — fromipc/helloIPC_MAX_LINE_BYTES: int— frozen — fromipc/ndjsonclass NdjsonLineReader— frozen — fromipc/ndjsondef __init__(self) -> Nonedef flush_frames(self) -> FlushResultdef push(self, chunk: bytes) -> list[str]
def encode_hello(versions: Sequence[str]) -> str— frozen — fromipc/hellodef parse_hello(frame: str) -> HelloResult— frozen — fromipc/hellodef perform_handshake(io: HandshakeIO, *, local_versions: Sequence[str] = ..., reader: NdjsonLineReader | None = ...) -> HandshakeResult— frozen — fromipc/handshake
12 exports.
DIAGNOSTIC_KINDS: Final[tuple[str, ...]]— frozen — fromdiagnostics/eventDIAGNOSTIC_LEVELS: Final[tuple[str, ...]]— frozen — fromdiagnostics/eventclass EncodeOk— frozen — fromdiagnostics/eventline: str
class EncodeRejected— frozen — fromdiagnostics/eventreason: strpath: str
EncodeResult = EncodeOk | EncodeRejected— frozen — fromdiagnostics/eventclass ParseOk— frozen — fromdiagnostics/eventevent: dict[str, object]
class ParseRejected— frozen — fromdiagnostics/eventreason: strpath: str
ParseResult = ParseOk | ParseRejected— frozen — fromdiagnostics/eventdef encode_diagnostic(event: object) -> EncodeResult— frozen — fromdiagnostics/eventdef format_timestamp(value: datetime) -> str— stable — fromdiagnostics/timestampdef meets_level(level: str, threshold: str) -> bool— frozen — fromdiagnostics/eventdef parse_diagnostic(line: str) -> ParseResult— frozen — fromdiagnostics/event
42 exports.
class ConnectorKitError(Exception)— stable — fromconnector_kit/errorsFieldExtractor = Callable[[object], Sequence[str | None] | None]— stable — fromconnector_kit/search_filterclass HttpRequest— experimental — fromconnector_kit/transporturl: strmethod: strheaders: Mapping[str, str]body: bytes | Nonetimeout_s: float
class HttpResponse— experimental — fromconnector_kit/transportstatus: inttext: strjson: objectok: bool
class HttpStatusError(ConnectorKitError)— stable — fromconnector_kit/errorsdef __init__(self, service: str, status: int, snippet: str) -> None
class JsonBodyResponse(TextResponse, Protocol)— stable — fromconnector_kit/resultsjson: objectok: boolstatus: inttext: str
class McpTextContent— stable — fromconnector_kit/typestype: Literal['text']text: str
class McpToolDescriptor— stable — fromconnector_kit/typesname: strdescription: strinputSchema: dict[str, Any]
class McpToolResult— stable — fromconnector_kit/typescontent: list[McpTextContent]isError: NotRequired[bool]
class MissingEnvError(ConnectorKitError)— stable — fromconnector_kit/errorsclass RestFetcher(Protocol)— experimental — fromconnector_kit/restclass RestFetcherConfig— experimental — fromconnector_kit/restapi_base: strtoken: strdefault_headers: Mapping[str, str]
SearchFilter = Callable[..., list[object]]— stable — fromconnector_kit/search_filterclass TextResponse(Protocol)— stable — fromconnector_kit/resultsok: boolstatus: inttext: str
ToolHandler = Callable[[dict[str, Any]], 'McpToolResult | Awaitable[McpToolResult]']— experimental — fromconnector_kit/routerclass ToolRouter— experimental — fromconnector_kit/routerdef __init__(self) -> Nonedef add(self, name: str, description: str, input_schema: dict[str, Any], handler: ToolHandler, validate: ToolValidator | None = ...) -> Noneasync def call_tool(self, name: str, arguments: Mapping[str, Any] | None) -> McpToolResultdef list_tools(self) -> list[McpToolDescriptor]def tool(self, name: str, description: str, input_schema: dict[str, Any], validate: ToolValidator | None = ...) -> Callable[[ToolHandler], ToolHandler]
ToolValidator = Callable[[dict[str, Any]], None]— experimental — fromconnector_kit/routerclass Transport(Protocol)— experimental — fromconnector_kit/transportdef send(self, request: HttpRequest) -> HttpResponse
class TransportError(ConnectorKitError)— stable — fromconnector_kit/errorsdef __init__(self, method: str, url: str, reason: str) -> None
class TransportTimeoutError(TransportError)— stable — fromconnector_kit/errorsdef __init__(self, method: str, url: str, reason: str) -> None
class UrlResolutionError(ConnectorKitError)— stable — fromconnector_kit/errorsclass UrllibTransport— experimental — fromconnector_kit/transportdef __init__(self) -> Nonedef send(self, request: HttpRequest) -> HttpResponse
def as_objectish(value: object) -> dict[str, object] | None— stable — fromconnector_kit/search_filterdef as_record(value: object) -> dict[str, object] | None— stable — fromconnector_kit/search_filterdef error_result(message: str) -> McpToolResult— stable — fromconnector_kit/resultsdef fields_from_keys(keys: Sequence[str], *, tags: bool = ...) -> Callable[[object], list[str] | None]— stable — fromconnector_kit/search_filterdef filter_by_query(items: Sequence[object], *, query: str, fields: FieldExtractor, limit: float | None = ...) -> list[object]— stable — fromconnector_kit/search_filterdef json_result(data: object) -> McpToolResult— stable — fromconnector_kit/resultsdef json_result_from_text_if_ok(service_label: str, res: TextResponse, *, max_snippet: int = ..., json_parse_error_message: str | None = ...) -> McpToolResult— stable — fromconnector_kit/resultsdef json_result_if_ok(service_label: str, res: JsonBodyResponse, snippet_max: int = ...) -> McpToolResult— stable — fromconnector_kit/resultsdef make_query_filter(fields: FieldExtractor) -> SearchFilter— stable — fromconnector_kit/search_filterdef make_rest_fetcher(config: RestFetcherConfig, transport: Transport | None = ...) -> RestFetcher— experimental — fromconnector_kit/restdef make_rest_tool(*, token_env: str, service_label: str, fetch: Callable[[str, str], HttpResponse], build_path: Callable[[dict[str, Any]], str], snippet_max: int = ..., env: Mapping[str, str] | None = ...) -> ToolHandler— experimental — fromconnector_kit/restdef matches_result(rows: object, search: SearchFilter, *, query: str, limit: float | None = ...) -> McpToolResult— stable — fromconnector_kit/search_filterdef nested_string(root: dict[str, object], path: Sequence[str]) -> str— stable — fromconnector_kit/search_filterdef parse_json_text_if_ok(service_label: str, res: TextResponse, max_snippet: int = ...) -> object— stable — fromconnector_kit/resultsdef require_env(name: str, env: Mapping[str, str] = ...) -> str— stable — fromconnector_kit/envdef resolve_url_with_base(base_url: str, path_or_url: str) -> str— frozen — fromconnector_kit/urlsdef should_strip_auth(from_url: str, to_url: str) -> bool— frozen — fromconnector_kit/urlsdef string_field(row: dict[str, object], key: str) -> str— stable — fromconnector_kit/search_filterdef tag_names_from_objects(row: dict[str, object]) -> str— stable — fromconnector_kit/search_filterdef tag_text(row: dict[str, object]) -> str— stable — fromconnector_kit/search_filter
7 exports.
class DataColumn— frozen — fromdata_profile/profilename: strtype: str | None
def first_line_and_rows(text: str, truncated: bool) -> tuple[str, float | None]— frozen — fromdata_profile/profiledef js_kind(value: object) -> str— frozen — fromdata_profile/profiledef parquet_columns_from_metadata(meta: object) -> tuple[list[DataColumn], float | None]— frozen — fromdata_profile/profiledef parse_csv_header(first_line: str) -> list[DataColumn]— frozen — fromdata_profile/profiledef parse_json_columns(parsed: object) -> tuple[list[DataColumn], float | None]— frozen — fromdata_profile/profiledef parse_jsonl_columns(first_line: str) -> list[DataColumn]— frozen — fromdata_profile/profile
3 exports.
DistributionChannel = Literal['homebrew', 'scoop', 'winget', 'apt', 'yum', 'msi', 'pkg']— frozen — fromdistribution_channel/channeldef channel_upgrade_hint(channel: DistributionChannel) -> str— frozen — fromdistribution_channel/channeldef resolve_distribution_channel(env: Mapping[str, str] | None = ..., exec_path: str | None = ..., realpath: Callable[[str], str] | None = ...) -> DistributionChannel | None— frozen — fromdistribution_channel/channel
4 exports.
class BuildEventInput— frozen — fromicalendar/eventsuid: strsummary: strstart: strend: strdescription: str | Nonelocation: str | Noneattendees: tuple[str, ...] | None
class ParsedEvent— frozen — fromicalendar/eventsuid: strrecurrence_id: str | Nonesummary: str | Nonedescription: str | Nonelocation: str | Nonestart: str | Noneend: str | Noneall_day: boolstatus: str | Noneorganizer: str | Noneattendees: tuple[str, ...]rrule: str | Nonedtstamp: str | None
def build_vevent(event: BuildEventInput, now: str) -> str— frozen — fromicalendar/eventsdef parse_icalendar(ics: str) -> list[ParsedEvent]— frozen — fromicalendar/events
23 exports.
class BuildRequest— frozen — fromjmap_fastmail/jmapusing: tuple[str, ...]method_calls: tuple[tuple[str, dict[str, Any], str], ...]
CORE_CAPABILITY: str— frozen — fromjmap_fastmail/jmapEMAIL_PROPERTIES: tuple[str, ...]— frozen — fromjmap_fastmail/jmapclass JmapAttachmentMeta— frozen — fromjmap_fastmail/jmapname: str | Nonesize_bytes: float | Nonemime_type: str | None
class JmapEmailView— frozen — fromjmap_fastmail/jmapid: strmessage_id: str | Nonesubject: str | Nonefrom_: tuple[str, ...]to: tuple[str, ...]cc: tuple[str, ...]received_at: str | Noneattachments: tuple[JmapAttachmentMeta, ...]preview: str
class JmapSession— frozen — fromjmap_fastmail/jmapapi_url: straccount_id: str
MAIL_CAPABILITY: str— frozen — fromjmap_fastmail/jmapMAX_BODY_VALUE_BYTES: int— frozen — fromjmap_fastmail/jmapPREVIEW_MAX_CHARS: int— frozen — fromjmap_fastmail/jmapSUBMISSION_CAPABILITY: str— frozen — fromjmap_fastmail/jmapdef build_get_request(account_id: str, id_: str) -> BuildRequest— frozen — fromjmap_fastmail/jmapdef build_list_request(account_id: str, limit: int) -> BuildRequest— frozen — fromjmap_fastmail/jmapdef build_search_request(account_id: str, query: str, limit: int) -> BuildRequest— frozen — fromjmap_fastmail/jmapdef cap_preview(text: str) -> str— frozen — fromjmap_fastmail/jmapdef extract_attachments(value: object) -> tuple[JmapAttachmentMeta, ...]— frozen — fromjmap_fastmail/jmapdef extract_email_list(parsed: object) -> list[Any]— frozen — fromjmap_fastmail/jmapdef format_address(value: object) -> str— frozen — fromjmap_fastmail/jmapdef format_addresses(value: object) -> tuple[str, ...]— frozen — fromjmap_fastmail/jmapdef method_response_args(parsed: object, method_name: str) -> dict[str, Any] | None— frozen — fromjmap_fastmail/jmapdef parse_session(parsed: object) -> JmapSession | None— frozen — fromjmap_fastmail/jmapdef preview_for(raw: dict[str, Any]) -> str— frozen — fromjmap_fastmail/jmapdef validate_api_url(candidate: str, allowed_base: str) -> str— frozen — fromjmap_fastmail/jmapdef view_email(raw: object) -> JmapEmailView | None— frozen — fromjmap_fastmail/jmap
18 exports.
CANONICALIZATION_REASONS: tuple[str, ...]— experimental — fromsigning/canonical_jsonclass CanonicalizationError(Exception)— experimental — fromsigning/canonical_jsondef __init__(self, reason: str) -> None
Jwk = Mapping[str, object]— experimental — fromsigning/jwkclass ManifestSignatureEnvelope— experimental — fromsigning/manifest_signatureprotected: strsignature: str
class ProtectedHeader— experimental — fromsigning/jwsalg: NotRequired[str]kid: str
SIGNATURE_REASONS: tuple[str, ...]— experimental — fromsigning/errorsclass SignatureError(Exception)— experimental — fromsigning/errorsdef __init__(self, reason: str, *, canonicalization_reason: str | None = ...) -> None
def base64url_decode(text: str) -> bytes— experimental — fromsigning/base64urldef base64url_encode(data: bytes) -> str— experimental — fromsigning/base64urldef canonicalize(value: object) -> str— experimental — fromsigning/canonical_jsondef canonicalize_manifest(manifest: dict[str, object]) -> bytes— experimental — fromsigning/canonical_jsondef encode_protected_header(header: ProtectedHeader) -> str— experimental — fromsigning/jwsdef generate_signing_key() -> tuple[Jwk, Jwk]— experimental — fromsigning/manifest_signaturedef jwk_thumbprint(jwk: Jwk) -> str— experimental — fromsigning/jwkdef parse_protected_header(b64url: str) -> ProtectedHeader— experimental — fromsigning/jwsdef sign_manifest(manifest: Mapping[str, object], private_key: Jwk) -> ManifestSignatureEnvelope— experimental — fromsigning/manifest_signaturedef signing_input(protected_b64url: str, canonical_bytes: bytes) -> bytes— experimental — fromsigning/jwsdef verify_manifest_signature(manifest: Mapping[str, object], trusted_keys: Sequence[Jwk]) -> None— experimental — fromsigning/manifest_signature