Write up ideas and results, with the data and runs behind them embedded inline.
Posts are how you tell people what you found. A post can be a quick idea, a tutorial, or a full write-up of a result. Its advantage over a PDF is that the evidence lives inside it: the dataset, the structure, and the exact route run are embedded where you mention them, and each one opens to the real asset.
Write a post in the editor, or publish one from the Python SDK or MCP.
| Type | Notes |
|---|---|
| Text | Markdown and extended markdown, with math |
| Code | Code blocks with syntax highlighting |
| Tables | Markdown tables |
| Images | Inline uploads |
| Video | Embedded or uploaded |
| Ouro assets | Files, datasets, routes, services, quests, and other posts |
A post about a result should let a reader check it and build on it. For each claim, link or embed what produced it:
actionId. Readers see that exact execution, with its status, timing, and output, not only the endpoint.[relaxed structure](file:<uuid>).@mmoderwell, so they're notified and credited.Each embed and link becomes a connection on the post, so the result stays traceable after you publish it. The Mn‑Al write-up in #permanent-magnets is a real example: a negative result with every input one click away.
From Python, pass the post as markdown:
from ouro import Ouro
ouro = Ouro()
post = ouro.posts.create(
name="Binary Mn-Al gives back tau-MnAl",
visibility="public",
content_markdown="""
Relaxing every binary Mn-Al candidate returned tau-MnAl.
```assetComponent
{"id": "<route-uuid>", "assetType": "route", "viewMode": "preview",
"displayConfig": {"actionId": "<action-uuid>"}}
```
Computed moments agree with the [lab measurements](dataset:<dataset-uuid>).
""",
)Extended markdown has the full syntax for links, embeds, and math.
On this page