Skip to main content

Monorepo workspace for owa-piggy consumer CLIs

Project description

owa-tools

Monorepo for the seven owa-piggy consumer CLIs: owa-cal, owa-mail, owa-graph, owa-doctor, owa-people, owa-sched, owa-drive. Plus the umbrella owa discovery binary.

The auth broker owa-piggy lives in its own repository. It is the only persistent-secret holder in the suite.

Status

owa-tools is currently unreleased and uses one suite version for all console scripts.

CLI Status
owa-cal beta
owa-mail beta
owa-graph beta
owa-doctor alpha
owa-people alpha
owa-sched alpha
owa-drive alpha
owa umbrella discovery binary

Layout

owa-tools/
├── owa_cal/         calendar CRUD over Outlook REST
├── owa_mail/        mail CRUD over Outlook REST
├── owa_graph/       Microsoft Graph CLI (verb-first + 14 resource shortcut groups)
├── owa_doctor/      health check across the suite
├── owa_people/      people, directory, contacts (Graph)
├── owa_sched/       free/busy and slot finding (Graph)
├── owa_drive/       OneDrive CRUD (Graph)
├── owa/             umbrella `owa` binary (list, schema, doctor, version)
├── tools/           CI helpers (stdlib check)
├── tests/           per-tool test suites
├── completions/     bash, zsh, fish
└── docs/            per-tool docs

Running

Local dev install:

python3 -m venv .venv
.venv/bin/pip install -e .[dev]
.venv/bin/owa list

Wheel build:

.venv/bin/python -m build --wheel

The wheel contains all eight console scripts (owa, owa-cal, owa-mail, owa-graph, owa-doctor, owa-people, owa-sched, owa-drive) and they all report the same owa-tools suite version.

Test suite:

.venv/bin/python -m pytest
.venv/bin/coverage run --source=owa_core -m pytest -q
.venv/bin/coverage report --fail-under=95
.venv/bin/python -m pytest --cov --cov-fail-under=90
.venv/bin/python tools/check_stdlib_only.py
.venv/bin/python tools/check_no_secrets.py
.venv/bin/python tools/check_docs_sync.py
.venv/bin/python tools/check_artifacts.py dist/*   # after build
.venv/bin/python tools/check_console_smoke.py      # after build

See RELEASING.md for the suite tag-and-publish flow.

More Docs

  • docs/security.md defines the token, config, redaction, and live-test boundaries.
  • docs/agent-integration.md documents schema discovery, --agent, and --err-json.
  • docs/profile-model.md explains how owa-tools profile aliases map to owa-piggy profiles.
  • docs/migrating-from-individual-installs.md walks existing users from the legacy per-tool installs to the owa-tools suite.

Conventions

  • Stdlib only at runtime, except for the local suite packages and owa-piggy.
  • JSON on stdout, logs on stderr, --pretty for humans.
  • --agent wraps JSON-compatible output for automation; --err-json emits structured stderr.
  • Auth via owa-piggy (subprocess, JSON contract).
  • For agents and contributors, start with AGENTS.md, then read the nearest local AGENTS.md for the package or directory being edited.

License

MIT.

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

owa_tools-0.1.0.tar.gz (150.0 kB view details)

Uploaded Source

Built Distribution

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

owa_tools-0.1.0-py3-none-any.whl (174.1 kB view details)

Uploaded Python 3

File details

Details for the file owa_tools-0.1.0.tar.gz.

File metadata

  • Download URL: owa_tools-0.1.0.tar.gz
  • Upload date:
  • Size: 150.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.10.10 {"installer":{"name":"uv","version":"0.10.10","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"macOS","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

File hashes

Hashes for owa_tools-0.1.0.tar.gz
Algorithm Hash digest
SHA256 3507c005fa5aaa848c22e80bfe62bc9303e3ca95ed4fc2c72ab5ff0b9bf8aec4
MD5 314c6ec111784576e85c4491c0078720
BLAKE2b-256 477c877fb2f26792ee0da36afa37debe5322cba2c3c080b5afa5089a575dbbfc

See more details on using hashes here.

File details

Details for the file owa_tools-0.1.0-py3-none-any.whl.

File metadata

  • Download URL: owa_tools-0.1.0-py3-none-any.whl
  • Upload date:
  • Size: 174.1 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.10.10 {"installer":{"name":"uv","version":"0.10.10","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"macOS","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

File hashes

Hashes for owa_tools-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 e3b6a3cd3c1133f861386eb95ef305891da19fd78e176c41c9cf68972944f825
MD5 45ffab39d915eafab515274768b52946
BLAKE2b-256 3b24177bad4b4dfbfe90fd5fd8461afa4f9c1c41abef92cc3f7dd419509e6e46

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