Skip to main content

aweb server

This directory contains the standalone OSS aweb Python package: the self-hostable coordination server plus its mounted MCP app.

The package includes:

  • the FastAPI server (aweb.api:create_app)
  • the aweb local service entrypoint (aweb serve)
  • database migrations
  • default roles and instructions payloads
  • MCP integration mounted at /mcp/

For the canonical contract, read:

Run Locally

Recommended OSS path: Docker Compose.

cp .env.example .env
echo "AWID_SERVICE_TOKEN=$(openssl rand -hex 32)" >> .env
docker compose up --build -d
curl http://localhost:8000/health

That stack runs aweb, awid, Postgres, and Redis together. It publishes aweb on localhost:8000 and AWID on localhost:8010 by default.

Direct uv mode is also supported:

Generate the shared secret once and keep it outside the repository:

AWID_TOKEN_FILE="${XDG_CONFIG_HOME:-$HOME/.config}/aweb/awid-service-token"
mkdir -p "$(dirname "$AWID_TOKEN_FILE")"
if [ ! -s "$AWID_TOKEN_FILE" ]; then
  umask 077
  openssl rand -hex 32 > "$AWID_TOKEN_FILE"
fi

In the AWID service terminal:

cd ../awid
uv sync
AWID_TOKEN_FILE="${XDG_CONFIG_HOME:-$HOME/.config}/aweb/awid-service-token"
export AWID_SERVICE_TOKEN="$(tr -d '\r\n' < "$AWID_TOKEN_FILE")"
uv run awid

In the aweb service terminal:

cd ../server
uv sync
export AWID_REGISTRY_URL=http://localhost:8010
AWID_TOKEN_FILE="${XDG_CONFIG_HOME:-$HOME/.config}/aweb/awid-service-token"
export AWID_SERVICE_TOKEN="$(tr -d '\r\n' < "$AWID_TOKEN_FILE")"
export APP_ENV=development
uv run aweb serve

Runtime Inputs

Common environment variables:

  • AWEB_DATABASE_URL or DATABASE_URL
  • AWEB_REDIS_URL or REDIS_URL
  • AWID_REGISTRY_URL
  • AWID_SERVICE_TOKEN required >=32-byte trusted caller secret shared with the configured home AWID registry
  • AWEB_HOST
  • AWEB_PORT
  • AWEB_DASHBOARD_JWT_SECRET

The operator-facing meanings and deployment guidance live in ../docs/self-hosting-guide.md.

Bootstrap Flow

Point the CLI at the self-hosted server:

export AWEB_URL=http://localhost:8000

Supported OSS bootstrap paths:

# Guided BYOD bootstrap in a TTY on a self-hosted server
aw init --url "$AWEB_URL"
aw run codex

# Explicit bootstrap after accepting a team invite
aw id team accept-invite <token>
AWEB_URL=http://localhost:8000 aw init

On a plain self-hosted server, the guided path switches to BYOD because managed aweb.ai onboarding is not available. Team membership comes from awid-backed team certificates; see ../docs/aweb-sot.md for the canonical connect/auth contract.

If you need to create the team first:

export AWID_REGISTRY_URL=http://localhost:8010
aw id create --name <name> --domain <domain> --registry "$AWID_REGISTRY_URL"
aw id team create --namespace <namespace> --name <team> --registry "$AWID_REGISTRY_URL"
aw id team invite --namespace <namespace> --team <team>

See ../docs/aweb-sot.md for the lifecycle contract and ../docs/self-hosting-guide.md for the operator runbook.

Release to PyPI

Release the aweb Python package through the repository's release skill and driver. The driver owns planning, exact-byte staging, publication, tagging, registry verification, and the receipt; do not start a release by pushing a server-vX.Y.Z tag.

Identity Boundary

Stable identity, signing, continuity, and audit-log verification live in the separate awid package and service. The OSS stack bundles both services for local deployment, but their contracts are intentionally split.

Metadata

Release files for aweb 1.27.13

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for aweb 1.27.13
File Size Uploaded
aweb-1.27.13.tar.gz 328.0 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for aweb 1.27.13
File Interpreter ABI Platform
aweb-1.27.13-py3-none-any.whl Python 3 none any Details

Total release size: 664.2 kB

Release files / aweb-1.27.13.tar.gz

Download URL aweb-1.27.13.tar.gz
Size 328.0 kB
Tags Source
SHA-256 checksum
How to use checksums
c46f6ea62feba3189f8b1618d65e351ac9d25242008cb99b31c98603aa5423d5
BLAKE2b-256 checksum
How to use checksums
b6047c3e32ef8b76700130d77b1ec5233c9a283b76b8544940422dc3beead53c
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via uv/0.11.32 {"installer":{"name":"uv","version":"0.11.32","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

Release files / aweb-1.27.13-py3-none-any.whl

Download URL aweb-1.27.13-py3-none-any.whl
Size 336.1 kB
Tags Python 3
SHA-256 checksum
How to use checksums
f5e4a7c3532232a26afd277a69bf669fd3e9a25568908559d4b8febf4c7790d9
BLAKE2b-256 checksum
How to use checksums
d4c08fbfb2ae4b907a74ec28e31b65078fb26b09f3a749daab87cd5f32f5fc3a
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via uv/0.11.32 {"installer":{"name":"uv","version":"0.11.32","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

Release history Release notifications | RSS feed

This release

1.27.13 This release

2 release files

1.27.8

2 release files

1.27.7

2 release files

1.27.6

2 release files

1.27.5

2 release files

1.27.4

2 release files

1.27.3

2 release files

1.27.2

2 release files

1.27.1

2 release files

1.26.5

2 release files

1.26.1

2 release files

1.26.0

2 release files

1.25.7

2 release files

1.25.4

2 release files

1.25.3

2 release files

1.25.2

2 release files

1.25.0

2 release files

1.24.4

2 release files

1.24.3

2 release files

1.24.2

2 release files

1.24.1

2 release files

1.24.0

2 release files

1.23.0

2 release files

1.22.1

2 release files

1.22.0

2 release files

1.21.3

2 release files

1.21.2

2 release files

1.21.1

2 release files

1.21.0

2 release files

1.20.8

2 release files

1.18.6

2 release files

1.18.5

2 release files

1.18.4

2 release files

1.18.3

2 release files

1.18.2

2 release files

1.18.1

2 release files

1.17.0

2 release files

1.16.0

2 release files

1.15.0

2 release files

1.14.0

2 release files

1.13.0

2 release files

1.12.0

2 release files

1.11.0

2 release files

1.10.3

2 release files

1.10.2

2 release files

1.10.1

2 release files

1.10.0

2 release files

1.9.0

2 release files

1.8.9

2 release files

1.8.8

2 release files

1.8.7

2 release files

1.8.6

2 release files

1.8.5

2 release files

1.8.4

2 release files

1.8.3

2 release files

1.8.2

2 release files

1.8.1

2 release files

1.6.2

2 release files

1.6.1

2 release files

1.6.0

2 release files

1.5.3

2 release files

1.5.2

2 release files

1.5.1

2 release files

1.5.0

2 release files

1.4.0

2 release files

1.3.0

2 release files

1.2.3

2 release files

1.2.2

2 release files

1.2.1

2 release files

1.2.0

2 release files

1.1.3

2 release files

1.1.2

2 release files

1.1.1

2 release files

1.1.0

2 release files

1.0.0

2 release files

0.3.9

2 release files

0.3.8

2 release files

0.3.7

2 release files

0.3.6

2 release files

0.3.5

2 release files

0.3.4

2 release files

0.3.3

2 release files

0.3.2

2 release files

0.3.1

2 release files

0.3.0

2 release files

0.2.0

2 release files

0.1.6

2 release files

0.1.5

2 release files

0.1.4

2 release files

0.1.3

2 release files

0.1.1

2 release files

0.1.0

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