Skip to main content

logactyl

Build a browsable, fully offline local mirror site from your ChatGPT or Claude data exports.

What it does

logactyl takes an official data export ZIP from ChatGPT or Claude and generates a static HTML site that you can open directly in any browser (no server required). The site includes:

  • Per-conversation pages with rendered messages, code blocks, TeX math, and attachments
  • Full-text offline search across all conversations
  • Project/folder grouping and an interactive organizer
  • Optional AES-256-GCM encryption at rest

Installation

pip install logactyl

With optional dependencies for rich markdown rendering and encryption:

pip install "logactyl[all]"

Or pick what you need:

pip install "logactyl[markdown]"   # markdown-it-py for CommonMark rendering
pip install "logactyl[encrypt]"    # cryptography for AES-256-GCM encryption

Known issues

There is currently no way to derive project names via inference using the official export archives. When either OpenAI or Anthropic add some mapping for projects in their exports it will be added to this tool.

Quick start

ChatGPT export:

logactyl --chatgpt-zip ~/Downloads/chatgpt-export.zip -o ~/chatgpt-mirror

Claude export:

logactyl --claude-zip ~/Downloads/claude-export.zip -o ~/claude-mirror

Both together (merged site):

logactyl \
  --chatgpt-zip ~/Downloads/chatgpt-export.zip \
  --claude-zip ~/Downloads/claude-export.zip \
  -o ~/chat-mirror

Then open index.html in the output directory.

Appending new exports

Re-run with --append to merge new exports into an existing site without losing organizer edits:

logactyl --chatgpt-zip newer-export.zip -o ~/chatgpt-mirror --append

Encryption

Encrypt the generated site at rest with a passphrase:

logactyl --chatgpt-zip export.zip -o ~/private-mirror --encrypt

Requires pip install "logactyl[encrypt]".

Decrypt or re-key an existing encrypted site:

logactyl --decrypt ~/private-mirror
logactyl --rekey ~/private-mirror

Options

Flag Description
--chatgpt-zip PATH Path to a ChatGPT data export ZIP
--claude-zip PATH Path to a Claude data export ZIP
-o, --output DIR Output directory (default: derived from input)
--append Merge into an existing site instead of overwriting
--encrypt Encrypt the output site with a passphrase
--decrypt DIR Decrypt an existing encrypted site
--rekey DIR Change the passphrase on an encrypted site
--render-markdown Enable CommonMark rendering (needs markdown-it-py)
--no-render-markdown Disable markdown rendering (raw text)
--zip Produce a .zip of the output site
--add-search DIR Add search to an existing site that was built without it

Run logactyl --help for the full list.

Running as a module

python -m logactyl --chatgpt-zip export.zip -o ~/mirror

Requirements

  • Python 3.9+
  • No required third-party dependencies (stdlib only)
  • Optional: markdown-it-py for rich markdown rendering
  • Optional: cryptography for site encryption

License

This repository ships under 0BSD; see LICENSE.

Licensing / provenance notice

This repository may include AI-generated material and minimal human-authored material. To the extent any portion of this repository is not copyrightable, it is made available without restriction.

No bundled third-party source trees, copied dependency code, or shipped upstream license texts were identified in this source tree during this review. Separately installed dependencies remain under their own upstream licenses. See NOTICE.

Metadata

Release files for logactyl 0.1.5

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

Source distribution (sdist)

Source distribution for logactyl 0.1.5
File Size Uploaded Provenance Actions
logactyl-0.1.5.tar.gz 122.1 kB Without provenance Details for logactyl-0.1.5.tar.gz

Built distribution (wheel)

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

Total release size: 233.7 kB

Release files / logactyl-0.1.5.tar.gz

Download URL logactyl-0.1.5.tar.gz
Size 122.1 kB
Tags Source
SHA-256 checksum
How to use checksums
3c2df9c83ec31432bf508bbdab1918807265ffaaaf91c06cbdd3223e0a257130
BLAKE2b-256 checksum
How to use checksums
be2bce8f8adef6c3352c23280159949565b7af70719107320ac75e94f053fd47
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.13.12

Release files / logactyl-0.1.5-py3-none-any.whl

Download URL logactyl-0.1.5-py3-none-any.whl
Size 111.7 kB
Tags Python 3
SHA-256 checksum
How to use checksums
a6574e6d63b5c7c9c9b809944a899c3fb67f584dbc05c7f5d945aae22afdb8bb
BLAKE2b-256 checksum
How to use checksums
57adfeccf42221926b3aaa21a69d46443e6ac26a48dabdc38c42b566f09bce82
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.13.12

Security for logactyl 0.1.5

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.

No provenance found

None of the files in this release were uploaded with provenance metadata.

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.1.5 This release

2 release files No provenance

0.1.1

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