Skip to content

Quickstart

Follow these steps to get started immediately.

Prerequisites

Setup

Bash
git clone https://github.com/GhostWeaselLabs/meridian-runtime.git
cd meridian-runtime
uv sync

Test your setup

Bash
# Create a simple test file
cat > test_setup.py << 'EOF'
from meridian.core import Node, Message, MessageType, Subgraph, Scheduler
from meridian.core.ports import Port, PortDirection, PortSpec

class TestNode(Node):
    def __init__(self):
        super().__init__(
            "test",
            inputs=[Port("in", PortDirection.INPUT, spec=PortSpec("in", str))],
            outputs=[Port("out", PortDirection.OUTPUT, spec=PortSpec("out", str))],
        )

    def _handle_message(self, port: str, msg: Message) -> None:
        if port == "in":
            print(f"✓ Setup working! Received: {msg.payload}")
            self.emit("out", Message(type=MessageType.DATA, payload="success"))

sg = Subgraph.from_nodes("test", [TestNode()])
sg.connect(("test", "out"), ("test", "in"), capacity=1)

sch = Scheduler()
sch.register(sg)
test_node = sg.nodes[0]
test_node.emit("in", Message(type=MessageType.DATA, payload="Hello Meridian!"))
sch.run()
EOF

# Run the test
uv run python test_setup.py

Expected output: ✓ Setup working! Received: Hello Meridian!

Setup Complete

Your Meridian Runtime installation is working correctly!

Run an example

Bash
git clone https://github.com/GhostWeaselLabs/meridian-runtime-examples.git
cd meridian-runtime-examples
uv run python examples/sentiment/main.py --human --timeout-s 6.0

Verify (optional)

Bash
uv run bash scripts/verify.sh

Next steps