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.22

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.22
File Size Uploaded
aweb-1.27.22.tar.gz 333.4 kB Details

Built distribution (wheel)

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

Total release size: 676.4 kB

Release files / aweb-1.27.22.tar.gz

Download URL aweb-1.27.22.tar.gz
Size 333.4 kB
Tags Source
SHA-256 checksum
How to use checksums
de6de57f289f40e87fbacc6ac56d7670cf785d44f76959b701760f9dedf4e938
BLAKE2b-256 checksum
How to use checksums
e48f0dfe48fbc40bfb699dcd237f26c327378ce57bb4f4a2011d47f25184947e
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.22-py3-none-any.whl

Download URL aweb-1.27.22-py3-none-any.whl
Size 343.0 kB
Tags Python 3
SHA-256 checksum
How to use checksums
863d69c6e60cb83c818c6c7750b977ff869a2eae4bf55b0a57b9cb556181c2d9
BLAKE2b-256 checksum
How to use checksums
30a68dc7c1ba21888c015d170b3d77f7e6c18985729704b1dbb0fee85aea4cae
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.22 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