Skip to main content

aiobsidian

CI PyPI Python License Docs

Async Python client for Obsidian. CLI-first: works out of the box with the Obsidian CLI (v1.12+). Optional REST support via the Local REST API plugin.


Installation

pip install aiobsidian

For REST API support (requires httpx):

pip install aiobsidian[rest]

Quick start

CLI (primary)

import asyncio
from aiobsidian import ObsidianCLI

async def main():
    async with ObsidianCLI("MyVault") as cli:
        # Read a note
        content = await cli.vault.read("notes/hello.md")
        print(content)

        # Search the vault
        results = await cli.search.query("python")

        # List tags
        tags = await cli.tags.list()

        # Daily note
        await cli.daily.append("- [ ] New task")

asyncio.run(main())

REST (optional)

import asyncio
from aiobsidian import ObsidianClient

async def main():
    async with ObsidianClient("your-api-key") as client:
        status = await client.system.status()
        print(status.versions.obsidian)

        content = await client.vault.get("notes/hello.md")
        print(content)

asyncio.run(main())

Features

CLI resources

Resource Access Description
vault cli.vault Read, create, append, prepend, move, rename, delete, list
daily cli.daily Daily note operations
search cli.search Full-text search
properties cli.properties YAML frontmatter properties
tags cli.tags Tag listing, lookup, rename
links cli.links Outgoing links, backlinks, unresolved, orphans
tasks cli.tasks Task listing, creation, completion, toggle
commands cli.commands List and execute Obsidian commands
templates cli.templates List, read, insert templates
bookmarks cli.bookmarks List and add bookmarks
plugins cli.plugins Plugin management
themes cli.themes Theme management
snippets cli.snippets CSS snippet management
sync cli.sync Obsidian Sync operations
publish cli.publish Obsidian Publish operations
history cli.history Local file history
workspaces cli.workspaces Workspace management
hotkeys cli.hotkeys Hotkey operations
outline cli.outline Document outline (headings)
random cli.random Random note
aliases cli.aliases Note aliases
bases cli.bases Obsidian Bases / databases
system cli.system Version, reload, restart, vaults
tabs cli.tabs Tab management, recents
web cli.web Open URLs in web viewer
dev cli.dev Developer/debugging tools

REST resources

Resource Access Description
vault client.vault CRUD operations on any file
active client.active Operations on the currently open file
periodic client.periodic Daily, weekly, monthly, quarterly, yearly notes
commands client.commands List and execute Obsidian commands
search client.search Simple text search, Dataview DQL, JsonLogic
open client.open Open files in Obsidian UI
system client.system Server status, OpenAPI spec

General

  • Full async/await support
  • Pydantic v2 models for type-safe responses
  • Custom exception hierarchy for both CLI and REST errors
  • Context manager lifecycle management
  • No external dependencies for CLI (only stdlib)

Documentation

Full documentation is available at kudato.github.io/aiobsidian.

Contributing

Contributions are welcome! Please see the Contributing Guide for details.

License

MIT

Release files for aiobsidian 0.4.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for aiobsidian 0.4.0
File Size Uploaded
aiobsidian-0.4.0.tar.gz 102.8 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for aiobsidian 0.4.0
File Interpreter ABI Platform
aiobsidian-0.4.0-py3-none-any.whl Python 3 none any Details

Total release size: 145.5 kB

Release files / aiobsidian-0.4.0.tar.gz

Download URL aiobsidian-0.4.0.tar.gz
Size 102.8 kB
Tags Source
SHA-256 checksum
How to use checksums
31117baaa63315d0962426adfefd74b2360a099ad1dfcbb0ee08c8a8671e8fb9
BLAKE2b-256 checksum
How to use checksums
b866161e70560c0e4f60b7decea9d52491ab3f13dd03ce010f15aacf04b0773d
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.7

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Mar 29, 2026.

Transparency log

Release files / aiobsidian-0.4.0-py3-none-any.whl

Download URL aiobsidian-0.4.0-py3-none-any.whl
Size 42.8 kB
Tags Python 3
SHA-256 checksum
How to use checksums
ca4009044c51f5d5d2a10dc178bc6abcaf5fc6493606faa6da48cf160102b2aa
BLAKE2b-256 checksum
How to use checksums
49212094a461eeb6f96c1731c8de90f0d27aa3649a1d62a9cad4fd4bb621dc7f
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.7

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Mar 29, 2026.

Transparency log

Release history Release notifications | RSS feed

This release

0.4.0 This release

2 release files

0.3.0

2 release files

0.2.0

2 release files

0.1.4

2 release files

0.1.3

2 release files

0.1.2

2 release files

0.1.1

2 release files

0.1.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page