Core message definitions for Open World Agents
Project description
owa-msgs
Core message definitions for Open World Agents (OWA).
This package provides the standard message types used throughout the OWA ecosystem, organized by domain and registered through Python entry points for automatic discovery.
Installation
pip install owa-msgs
Usage
Using the Message Registry
The recommended way to access messages is through the global registry:
from owa.core import MESSAGES
# Access message classes by type name
KeyboardEvent = MESSAGES['desktop/KeyboardEvent']
MouseEvent = MESSAGES['desktop/MouseEvent']
# Create message instances
event = KeyboardEvent(event_type="press", vk=65)
Direct Imports
You can also import message classes directly:
from owa.msgs.desktop.keyboard import KeyboardEvent
from owa.msgs.desktop.mouse import MouseEvent
Discovering Available Message Types
To see all available message types, use the CLI command:
owl messages list
Or programmatically:
from owa.core import MESSAGES
# List all available message types
for message_type in sorted(MESSAGES.keys()):
print(f"- {message_type}")
# Get detailed information about a specific message
print(f"Total messages: {len(MESSAGES)}")
Getting Message Details
For detailed information about any message type:
# Show comprehensive details about a message
owl messages show desktop/KeyboardEvent
# Show with usage examples
owl messages show desktop/KeyboardEvent --example
# Validate all messages
owl messages validate
Message Domains
Messages are organized by domain for better structure:
- Desktop Domain (
desktop/*): Desktop interaction messages including keyboard, mouse, window, and screen capture events
Extending with Custom Messages
To add custom message types, create a package with entry point registration:
# pyproject.toml
[project.entry-points."owa.msgs"]
"custom/MyMessage" = "my_package.messages:MyMessage"
Schema and Compatibility
All messages implement the BaseMessage interface from owa.core.message and are compatible with the OWAMcap format for data recording and playback.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file owa_msgs-0.6.5.tar.gz.
File metadata
- Download URL: owa_msgs-0.6.5.tar.gz
- Upload date:
- Size: 13.7 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.9.17 {"installer":{"name":"uv","version":"0.9.17","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":null,"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
8e32fdd6de7fa57b0d9fcb34c7349727071faf5d22c4c85072c48ead253c27e5
|
|
| MD5 |
1dcf5fc36d14f21ed8cfc3e609b08f1e
|
|
| BLAKE2b-256 |
c8ea58a05d61e4a54fbf8f0cb372543d81c06f29896ed50e069f2acc1191ade7
|
File details
Details for the file owa_msgs-0.6.5-py3-none-any.whl.
File metadata
- Download URL: owa_msgs-0.6.5-py3-none-any.whl
- Upload date:
- Size: 8.8 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.9.17 {"installer":{"name":"uv","version":"0.9.17","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":null,"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
c99581aca9028fabd8000806edaf72f8a43692f7b9bda2434adb2d76e6fdb3e6
|
|
| MD5 |
da66f9d538434dfe6c8a65a94d16cfb9
|
|
| BLAKE2b-256 |
9a65d9c4a0248f40463fc66d851f94c120a58a32ee969b0cf80b983a81689d85
|