betty.server module#

The web server API.

class betty.server.Server#

Bases: ABC

A web server.

__init__(*, user: User)#
final async assert_available() None#

Assert that this server is available.

abstract property public_url: str#

The server’s public URL.

async show() None#

Show the served site to the user.

abstractmethod async start() None#

Start the server.

abstractmethod async stop() None#

Stop the server.

final class betty.server.ServerDefinition#

Bases: HumanFacingDefinition, OrderedPluginClsDefinition[Server]

The server plugin type.

Plugin type ID

server

Definition

@ServerDefinition(...)

Built-in servers:

builtin (ProjectBuiltinServer)
Built-in: Serve your site using Python's built-in web server. This is for local use only, and unsafe for publishing your site.

A project server plugin definition.

__init__(plugin_id: ResolvableMachineName, *, label: ResolvableLocalizable, after: Order[ServerDefinition] = (), auto: bool = False, before: Order[ServerDefinition] = (), description: ResolvableLocalizable | None = None, requires: Requires = ())#
static type() PluginTypeDefinition[Self]#

The plugin type definition.

exception betty.server.ServerNotStarted#

Bases: RuntimeError

Raised when a web server has not (fully) started yet.