Quickstart¶
Follow these steps to get started immediately.
Prerequisites¶
Python 3.11+uvpackage manager (Install uv)
Setup¶
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)¶
Next steps¶
Guide: Getting startedExamples: ExamplesAPI reference: API reference