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.

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

aweb-1.27.4.tar.gz (319.3 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

aweb-1.27.4-py3-none-any.whl (324.9 kB view details)

Uploaded Python 3

File details

Details for the file aweb-1.27.4.tar.gz.

File metadata

  • Download URL: aweb-1.27.4.tar.gz
  • Upload date:
  • Size: 319.3 kB
  • Tags: Source
  • Uploaded using 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}

File hashes

Hashes for aweb-1.27.4.tar.gz
Algorithm Hash digest
SHA256 ffca7f0b1ca62c4f3229b2c4df91a5b8b4e749bdc288bbfbc447e1d7ce204cc8
MD5 417ba48a45a2369a37351d566b4e5e12
BLAKE2b-256 51c850f16cc3c9c4ea84fbe67183f0781df5d338c343a2b628a95e96277cf508

See more details on using hashes here.

File details

Details for the file aweb-1.27.4-py3-none-any.whl.

File metadata

  • Download URL: aweb-1.27.4-py3-none-any.whl
  • Upload date:
  • Size: 324.9 kB
  • Tags: Python 3
  • Uploaded using 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}

File hashes

Hashes for aweb-1.27.4-py3-none-any.whl
Algorithm Hash digest
SHA256 9812924251506f3e67f5c730a2da92e4d75564e63e6313ce45ab056a6f39e057
MD5 bc0e44934874ceea4a842f2fad10ce1e
BLAKE2b-256 c99abf4fe10171f4383e6597fd7b9f15c64daa7dc76d699cd212501b0cf09afd

See more details on using hashes here.

Release history Release notifications | RSS feed

This release

1.27.4 This release

2 files

1.27.3

2 files

1.27.2

2 files

1.27.1

2 files

1.27.0

2 files

1.26.35

2 files

1.26.31

2 files

1.26.30

2 files

1.26.29

2 files

1.26.28

2 files

1.26.24

2 files

1.26.23

2 files

1.26.22

2 files

1.26.21

2 files

1.26.20

2 files

1.26.19

2 files

1.26.18

2 files

1.26.17

2 files

1.26.16

2 files

1.26.14

2 files

1.26.13

2 files

1.26.11

2 files

1.26.10

2 files

1.26.9

2 files

1.26.8

2 files

1.26.5

2 files

1.26.1

2 files

1.26.0

2 files

1.25.7

2 files

1.25.4

2 files

1.25.3

2 files

1.25.2

2 files

1.25.0

2 files

1.24.4

2 files

1.24.3

2 files

1.24.2

2 files

1.24.1

2 files

1.24.0

2 files

1.23.0

2 files

1.22.1

2 files

1.22.0

2 files

1.21.3

2 files

1.21.2

2 files

1.21.1

2 files

1.21.0

2 files

1.20.8

2 files

1.20.7

2 files

1.20.3

2 files

1.20.2

2 files

1.20.1

2 files

1.20.0

2 files

1.19.1

2 files

1.19.0

2 files

1.18.6

2 files

1.18.5

2 files

1.18.4

2 files

1.18.3

2 files

1.18.2

2 files

1.18.1

2 files

1.17.0

2 files

1.16.0

2 files

1.15.0

2 files

1.14.0

2 files

1.13.0

2 files

1.12.0

2 files

1.11.0

2 files

1.10.3

2 files

1.10.2

2 files

1.10.1

2 files

1.10.0

2 files

1.9.0

2 files

1.8.9

2 files

1.8.8

2 files

1.8.7

2 files

1.8.6

2 files

1.8.5

2 files

1.8.4

2 files

1.8.3

2 files

1.8.2

2 files

1.8.1

2 files

1.6.2

2 files

1.6.1

2 files

1.6.0

2 files

1.5.3

2 files

1.5.2

2 files

1.5.1

2 files

1.5.0

2 files

1.4.0

2 files

1.3.0

2 files

1.2.3

2 files

1.2.2

2 files

1.2.1

2 files

1.2.0

2 files

1.1.3

2 files

1.1.2

2 files

1.1.1

2 files

1.1.0

2 files

1.0.0

2 files

0.3.9

2 files

0.3.8

2 files

0.3.7

2 files

0.3.6

2 files

0.3.5

2 files

0.3.4

2 files

0.3.3

2 files

0.3.2

2 files

0.3.1

2 files

0.3.0

2 files

0.2.0

2 files

0.1.6

2 files

0.1.5

2 files

0.1.4

2 files

0.1.3

2 files

0.1.1

2 files

0.1.0

2 files

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page