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
- Set your storage location:
export COMMONPLACE_ROOT=/path/to/your/commonplace
# or create a .env file with:
# COMMONPLACE_ROOT=/path/to/your/commonplace
- Initialize your commonplace:
commonplace init
This creates a git repository for change tracking and enables automatic commits when importing conversations.
- 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
- Go to claude.ai
- Click your profile icon (bottom left)
- Select Settings
- Go to Data & Privacy
- Click Export data
- You'll receive an email with a download link (usually within a few minutes)
- Download the ZIP file from the email link
Exporting from ChatGPT
- Go to chat.openai.com
- Click your profile icon (bottom left)
- Select Settings
- Go to Data controls
- Click Export data
- Confirm the export request
- You'll receive an email with a download link (can take up to 24 hours)
- Download the ZIP file from the email link
Exporting from Gemini
- Go to Google Takeout
- Click Deselect all
- Scroll down and select My Activity
- Click Multiple formats and ensure HTML is selected
- Click All activity data included and select only Assistant
- Click Next step
- Choose delivery method (email link recommended)
- Click Create export
- You'll receive an email when ready (can take several hours)
- 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
Metadata
Release files for commonplace 0.0.4
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| commonplace-0.0.4.tar.gz | 177.5 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| commonplace-0.0.4-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 220.9 kB
Release files / commonplace-0.0.4.tar.gz
| Download URL | commonplace-0.0.4.tar.gz |
|---|---|
| Size | 177.5 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
f40fe098f7741057e89523c0ce51d8cd326c45c4083a3679f2c3af6cec2854eb
|
|
BLAKE2b-256 checksum How to use checksums |
b3377963e0a9a15dd1bf141f82cbfff0e743d70a1e3a05e64cf2dd018e7f8023
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is 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}
|
Release files / commonplace-0.0.4-py3-none-any.whl
| Download URL | commonplace-0.0.4-py3-none-any.whl |
|---|---|
| Size | 43.5 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
3fbfb18a79659c6c1021a5f32dfbd2085d69c728ad0c837ab0443d0eedfb757a
|
|
BLAKE2b-256 checksum How to use checksums |
c439764c50ef4d6c74908ec60a720bcf55fc3b4cf87eb11ed59ab7732cae2626
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is 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}
|