Skip to main content

obsivault

Convert your AI chat exports into a tidy Obsidian Markdown vault. One note per conversation, YAML frontmatter, attachments copied into a sibling folder, and an idempotent state file so re-running only touches what changed.

Supported sources (v0.1):

  • Claude (Settings -> Privacy -> Export). Reads conversations.json.
  • Grok (Settings -> Data controls -> Export). Reads prod-grok-backend.json.
  • ChatGPT (Settings -> Data controls -> Export). Reads the conversations.json tree.
  • Gemini via Google Takeout (My Activity -> Gemini Apps and Gemini in Workspace). Reads the Workspace transcripts and, optionally, NotebookLM.

Install

From PyPI:

pip install obsivault

Or with uv:

uv tool install obsivault

From source (for development):

uv sync

Usage

uv run obsivault providers
uv run obsivault convert ./data/claude  ./vault --provider claude
uv run obsivault convert ./data/grok    ./vault --provider grok
uv run obsivault convert ./data/google  ./vault --provider gemini

Useful flags:

  • --include-tools show tool calls as collapsible callouts
  • --include-thinking show Claude thinking blocks as collapsible callouts
  • --branches render alternate branches as > [!example]- callouts
  • --no-copy-attachments skip the attachment copy step
  • --dry-run plan-only, no writes
  • --force rewrite even when content hash is unchanged

Layout

vault/
  claude/2026-04/<slug>.md
  grok/2026-05/<slug>.md
  gemini/2026-03/<slug>.md
  _attachments/<provider>/<conv-id>/...
  .obsivault/state.json

Adding a provider

Drop a module under src/obsivault/providers/<name>.py with a class that implements Provider and is decorated with @register. The CLI auto-detects sources by calling each provider's discover().

Licence

AGPL-3.0-or-later. PRs welcome.

Metadata

Release files for obsivault 0.2.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 obsivault 0.2.0
File Size Uploaded Provenance Actions
obsivault-0.2.0.tar.gz 92.0 kB With provenance Details for obsivault-0.2.0.tar.gz

Built distribution (wheel)

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

Total release size: 132.5 kB

Release files / obsivault-0.2.0.tar.gz

Download URL obsivault-0.2.0.tar.gz
Size 92.0 kB
Tags Source
SHA-256 checksum
How to use checksums
9979381ae717aff83e8112bb5979ed366c03262f75b0c0bf5d2fa1e0106160e1
BLAKE2b-256 checksum
How to use checksums
2d7cbcabfb4d8aeebb43cf237b7b94ecf9376544f5b49fc22bebe3761d6c89e0
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.12

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 Jun 7, 2026.

Transparency log

Release files / obsivault-0.2.0-py3-none-any.whl

Download URL obsivault-0.2.0-py3-none-any.whl
Size 40.5 kB
Tags Python 3
SHA-256 checksum
How to use checksums
12166848916aa6d7d6fce83b8e1166c708d36026aec7dc2ae544b9cf55320caf
BLAKE2b-256 checksum
How to use checksums
c01906015a85edb00141c4faab0e925e90490115920a3f543f7bc0ebc52a1453
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.12

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 Jun 7, 2026.

Transparency log

Security for obsivault 0.2.0

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.

Full provenance

All 2 files in this release have been uploaded with provenance metadata.

Select from 2 files

Attestation for obsivault-0.2.0.tar.gz

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 Jun 7, 2026.

Transparency log

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Release history Release notifications | RSS feed

This release

0.2.0 This release

2 release files Full provenance

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