Misar IO Docs

Python SDK

Install and use the MisarBlog Python SDK

Installation

pip install misarblog-sdk

Embed URL

from misarblog import embed_url

# Single article
url = embed_url("gulshan", slug="my-article", theme="dark")
# → "https://misar.blog/gulshan/my-article/embed?theme=dark"

# Profile embed
url = embed_url("gulshan")
# → "https://misar.blog/gulshan/embed"

Token refresh

from misarblog import refresh_token

result = refresh_token("your-current-token")
print(result["token"])
print(result["expiresAt"])  # Unix timestamp (int)

Custom base URL (self-hosted):

result = refresh_token("your-current-token", base_url="https://your-instance.example.com")

API reference

embed_url(username, slug=None, theme="auto") -> str

| Parameter | Type | Default | Description | |-----------|------|---------|-------------| | username | str | — | MisarBlog username (required) | | slug | str \| None | None | Article slug — omit for profile embed | | theme | str | "auto" | "auto" | "light" | "dark" |

refresh_token(token, base_url="https://misar.blog") -> dict

Makes a POST /api/auth/refresh request and returns the parsed JSON response.

| Parameter | Type | Default | Description | |-----------|------|---------|-------------| | token | str | — | Current token (required) | | base_url | str | "https://misar.blog" | Override base URL |

Returns {"token": str, "expiresAt": int}. Raises httpx.HTTPStatusError on non-2xx responses.