Skip to main content

AI for business operations — open-source, self-hostable

Project description

Workweaver

Workweaver is an AI business operating system built around one codebase and multiple deployment profiles:

  • managed_saas for managed cloud runtime
  • self_host_production for customer-managed deployments
  • standalone and local-first development paths

Install The CLI

The default user path is Workweaver Cloud:

python -m pip install workweaver
ww login

On Windows, use the Python launcher:

py -m pip install workweaver
ww login

If the ww script is not on PATH, run the module form instead:

python -m workweaver login

pipx install workweaver is optional when you want an isolated CLI environment, but it is not required for the primary install path. The same wheel exposes ww, workweaver, and python -m workweaver. Repo-local install (python -m pip install -e . from the repo root) still works for active development.

ww login opens the Workweaver sign-in flow and works for both sign-in and sign-up. CLI session metadata and bearer tokens are saved in ~/.workweaver/config.yaml with file mode 0600 by default; the CLI does not touch the OS keyring unless an operator explicitly sets WW_ALLOW_KEYRING=1 and installs the optional keyring extra.

For users who do not want to sign in with workweaver.ai, choose the standalone self-host path:

ww init --email operator@local --password "SelfHost1!" --tenant-name "My Workspace"
ww start

My Workspace is only the default tenant display name. Workweaver config and data default under the current user's ~/.workweaver directory, and CLI commands can point at another config file with --config /path/to/config.yaml.

Packaged-install path is live on PyPI: https://pypi.org/project/workweaver/.

PyPI release automation lives in .github/workflows/release-pypi.yml. Tags matching pyproject.toml pre-release versions (e.g. v0.1.0a1) publish to TestPyPI; final versions (e.g. v0.1.0) publish to PyPI. Both indices use Trusted Publishing/OIDC; no API tokens live in the repo.

Release operators use the guarded repo targets instead of hand-rolling tags:

VERSION=0.1.1 make release-python-prepare
VERSION=0.1.1 make release-python-check
VERSION=0.1.1 make release-python-tag
VERSION=0.1.1 make release-python-smoke-public

Validate the latest prerelease against TestPyPI:

python -m pip install --index-url https://test.pypi.org/simple/ --extra-index-url https://pypi.org/simple/ workweaver

Then verify the installed CLI contract:

ww --version
ww mode --output json
ww inference --help

For self-host runtime changes, verify the local backend contract:

curl http://127.0.0.1:8080/health
curl -i http://127.0.0.1:8080/dashboard

Docker self-host proof path:

make self-host-smoke

The self-host smoke starts Postgres, Valkey, and the backend with no AWS credentials, verifies the self_host_production profile, dashboard serving, WorkMemory remember/recall, and mission/task read paths. If Docker is not available it skips cleanly unless SELF_HOST_SMOKE_REQUIRED=1 is set.

Cost posture proof path:

make cost-guard

The cost guard checks the committed deployment-profile ceilings, managed cost_tier Terraform controls, and AWS resource-type cost-review coverage without calling paid cloud APIs.

Fast deterministic unit proof path:

make test-unit-fast

This runs tests/unit/ with pytest-xdist --dist loadfile, -n auto, --timeout=120, no coverage, and no pytest cache. By default it uses the shared unit-test interpreter at /Users/santhanakrishnan/Documents/Coding/workweaver/.venv/bin/python; set UNIT_PYTHON=/path/to/python when running from another machine or worktree. Use it for the canonical local unit-health signal. Keep make test-unit for coverage diagnostics and make enforce-coverage for the coverage gate.

Canonical architecture and product truth live in:

  • policy/docs-index.yaml
  • docs/RUNTIME.md
  • docs/PRODUCT.md

The managed SaaS runtime direction is frozen in docs/RUNTIME.md:

  • serverless edge compute for the public path
  • portable relational core for stateful intelligence
  • provider-specific adapters only at the boundary

Project details


Download files

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

Source Distribution

workweaver-0.1.1.tar.gz (9.3 MB view details)

Uploaded Source

Built Distribution

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

workweaver-0.1.1-py3-none-any.whl (12.4 MB view details)

Uploaded Python 3

File details

Details for the file workweaver-0.1.1.tar.gz.

File metadata

  • Download URL: workweaver-0.1.1.tar.gz
  • Upload date:
  • Size: 9.3 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.2.0 CPython/3.13.13

File hashes

Hashes for workweaver-0.1.1.tar.gz
Algorithm Hash digest
SHA256 711468b17da58fdc451b9fa9495596a733a721f595ad311d9c089bfeb426e507
MD5 c465e2491076a36a2bc4c3facb3b07b5
BLAKE2b-256 049402bae5952264a62a8121aecce5bd6a39dd8e13e88554a1ee77ef63b90c58

See more details on using hashes here.

File details

Details for the file workweaver-0.1.1-py3-none-any.whl.

File metadata

  • Download URL: workweaver-0.1.1-py3-none-any.whl
  • Upload date:
  • Size: 12.4 MB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.2.0 CPython/3.13.13

File hashes

Hashes for workweaver-0.1.1-py3-none-any.whl
Algorithm Hash digest
SHA256 cbde926fe08c4dbc11107b5ce1227a9a24fd3ee969c4631cba76ac74337bc30b
MD5 550d41caac61fc82d0a617e052cade20
BLAKE2b-256 d7499ae5dd0599a1a386fe2c6d80945120a40359b29b68e1fed283542ff4a036

See more details on using hashes here.

Supported by

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