Skip to main content

Personal knowledge management tool for the augmented self.

Project description

Commonplace

A personal knowledge management tool for archiving and organizing your notes, journal entries and AI conversations into a searchable digital archive.

Commonplace is named after the commonplace book that scholars used in antiquity.

Features

Current Capabilities

  • 💬 Import conversations from multiple assistants:
    • Claude (via ZIP export from claude.ai)
    • Gemini (via Google Takeout HTML export)
    • ChatGPT (via ZIP export)
  • 📁 Standardized storage as organized markdown files with metadata
  • 🗂️ Date-based organization in a clear directory structure:
    ~/commonplace/
    ├── chats/                    # AI conversations (imported by tool)
    │   ├── claude/2024/06/2024-06-28-conversation-title.md
    │   ├── gemini/2024/06/2024-06-28-gemini-conversations.md
    │   └── ...
    ├── journal/                  # Manual journal entries
    └── notes/                    # Manual notes and thoughts
    
  • Rich markdown format with frontmatter, timestamps, and proper formatting
  • 🔄 Git integration for change tracking and automatic commits when importing conversations
  • 🔍 Full-text and semantic search using vector embeddings to find relevant conversations by meaning

Installation

pip install uv
uv tool install commonplace

Setup

  1. Set your storage location:
export COMMONPLACE_ROOT=/path/to/your/commonplace
# or create a .env file with:
# COMMONPLACE_ROOT=/path/to/your/commonplace
  1. Initialize your commonplace:
commonplace init

This creates a git repository for change tracking and enables automatic commits when importing conversations.

  1. Configure an LLM for journal generation (optional):
# Install and configure OpenAI (or other providers)
llm install llm-openai
llm keys set openai
# Enter your API key when prompted

# Or use local models
llm install llm-gpt4all

Exporting Conversations

Before you can import conversations into Commonplace, you need to export them from each service.

Exporting from Claude

  1. Go to claude.ai
  2. Click your profile icon (bottom left)
  3. Select Settings
  4. Go to Data & Privacy
  5. Click Export data
  6. You'll receive an email with a download link (usually within a few minutes)
  7. Download the ZIP file from the email link

Exporting from ChatGPT

  1. Go to chat.openai.com
  2. Click your profile icon (bottom left)
  3. Select Settings
  4. Go to Data controls
  5. Click Export data
  6. Confirm the export request
  7. You'll receive an email with a download link (can take up to 24 hours)
  8. Download the ZIP file from the email link

Exporting from Gemini

  1. Go to Google Takeout
  2. Click Deselect all
  3. Scroll down and select My Activity
  4. Click Multiple formats and ensure HTML is selected
  5. Click All activity data included and select only Assistant
  6. Click Next step
  7. Choose delivery method (email link recommended)
  8. Click Create export
  9. You'll receive an email when ready (can take several hours)
  10. Download the ZIP file from the email link

⚠️ Note: Export links are temporary and typically expire after 7 days.

Usage

Import conversations

Once you have exported your conversations (see Exporting Conversations above), import them:

# Import any supported export format
commonplace import path/to/export.zip

The importer automatically detects the format (Claude, ChatGPT, or Gemini) and processes accordingly.

Search your conversations

Build a search index and query your conversations:

# Build the search index (run once, or after importing new conversations)
commonplace index

# Semantic search - finds content by meaning
commonplace search "explain neural networks"

# Full-text search - keyword matching only
commonplace search "explain neural networks" --method fts

# Hybrid search - combines both approaches (default)
commonplace search "explain neural networks" --method hybrid

# Limit number of results
commonplace search "machine learning" --limit 5

# Rebuild index from scratch
commonplace index --rebuild

Sync your commonplace

If you have a git remote configured, sync your changes:

# Sync with default remote (origin), auto-commit changes
commonplace sync

# Sync with specific remote
commonplace sync --remote upstream

# Use merge instead of rebase
commonplace sync --strategy merge

# Don't auto-commit uncommitted changes
commonplace sync --no-auto-commit

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

commonplace-0.0.4.tar.gz (177.5 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

commonplace-0.0.4-py3-none-any.whl (43.5 kB view details)

Uploaded Python 3

File details

Details for the file commonplace-0.0.4.tar.gz.

File metadata

  • Download URL: commonplace-0.0.4.tar.gz
  • Upload date:
  • Size: 177.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.9.11 {"installer":{"name":"uv","version":"0.9.11"},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Arch Linux","version":"20240101.0.204074","id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

File hashes

Hashes for commonplace-0.0.4.tar.gz
Algorithm Hash digest
SHA256 f40fe098f7741057e89523c0ce51d8cd326c45c4083a3679f2c3af6cec2854eb
MD5 396810f759661844ac26a63ad3d44c46
BLAKE2b-256 b3377963e0a9a15dd1bf141f82cbfff0e743d70a1e3a05e64cf2dd018e7f8023

See more details on using hashes here.

File details

Details for the file commonplace-0.0.4-py3-none-any.whl.

File metadata

  • Download URL: commonplace-0.0.4-py3-none-any.whl
  • Upload date:
  • Size: 43.5 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.9.11 {"installer":{"name":"uv","version":"0.9.11"},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Arch Linux","version":"20240101.0.204074","id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

File hashes

Hashes for commonplace-0.0.4-py3-none-any.whl
Algorithm Hash digest
SHA256 3fbfb18a79659c6c1021a5f32dfbd2085d69c728ad0c837ab0443d0eedfb757a
MD5 f2dfd6808a93ea45d5b7a2179069ba22
BLAKE2b-256 c439764c50ef4d6c74908ec60a720bcf55fc3b4cf87eb11ed59ab7732cae2626

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page