Repository navigation
Expand file tree
/
Copy pathsetup.py
More file actions
105 lines (95 loc) · 4.13 KB
/
Copy pathsetup.py
File metadata and controls
105 lines (95 loc) · 4.13 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
#!/usr/bin/env python3
"""Setup script for Claude Conversation Extractor"""
import atexit
from pathlib import Path
from setuptools import setup
from setuptools.command.install import install
class PostInstallCommand(install):
"""Post-installation for installation mode."""
def run(self):
install.run(self)
# Print helpful messages after installation
def print_success_message():
print("\n🎉 Installation complete!")
print("\n📋 Quick Start Commands:")
print(" claude-start # Interactive UI with logo & real-time search")
print(" claude-extract # CLI for extraction & searching")
print(" claude-search # Search and view conversations")
print("\n⭐ If you find this tool helpful, please star us on GitHub:")
print(" https://github.com/ZeroSumQuant/claude-conversation-extractor")
print("\nThank you for using Claude Conversation Extractor! 🚀\n")
# Register to run after pip finishes
atexit.register(print_success_message)
# Read the README for long description
this_directory = Path(__file__).parent
long_description = (this_directory / "README.md").read_text(encoding="utf-8")
setup(
name="claude-conversation-extractor",
version="1.1.2",
author="Dustin Kirby",
author_email="", # Contact via GitHub
description=(
"Export Claude Code conversations from ~/.claude/projects. "
"Extract, search, and backup Claude chat history to markdown files."
),
long_description=long_description,
long_description_content_type="text/markdown",
url="https://github.com/ZeroSumQuant/claude-conversation-extractor",
project_urls={
"Bug Tracker": (
"https://github.com/ZeroSumQuant/claude-conversation-extractor/issues"
),
"Documentation": (
"https://github.com/ZeroSumQuant/claude-conversation-extractor#readme"
),
"Source": "https://github.com/ZeroSumQuant/claude-conversation-extractor",
},
classifiers=[
"Development Status :: 5 - Production/Stable",
"Intended Audience :: Developers",
"Intended Audience :: End Users/Desktop",
"Topic :: Software Development :: Libraries :: Python Modules",
"Topic :: Text Processing :: Markup :: Markdown",
"Topic :: Communications :: Chat",
"Topic :: System :: Archiving :: Backup",
"Topic :: Utilities",
"License :: OSI Approved :: MIT License",
"Programming Language :: Python :: 3",
"Programming Language :: Python :: 3.8",
"Programming Language :: Python :: 3.9",
"Programming Language :: Python :: 3.10",
"Programming Language :: Python :: 3.11",
"Programming Language :: Python :: 3.12",
"Operating System :: OS Independent",
"Environment :: Console",
],
python_requires=">=3.8",
package_dir={"": "src"},
py_modules=[
"extract_claude_logs",
"interactive_ui",
"search_conversations",
"realtime_search",
"search_cli",
],
entry_points={
"console_scripts": [
"claude-extract=extract_claude_logs:launch_interactive", # Primary command
"claude-logs=extract_claude_logs:launch_interactive", # Kept for backward compatibility
"claude-start=extract_claude_logs:launch_interactive", # Alternative alias
"claude-search=search_cli:main", # Direct search command
],
},
cmdclass={
"install": PostInstallCommand,
},
install_requires=[], # No dependencies!
keywords=(
"export-claude-code-conversations claude-conversation-extractor "
"claude-code-export-tool backup-claude-code-logs save-claude-chat-history "
"claude-jsonl-to-markdown extract-claude-sessions claude-code-no-export-button "
"where-are-claude-code-logs-stored claude-terminal-logs anthropic-claude-code "
"search-claude-conversations claude-code-logs-location ~/.claude/projects "
"export-claude-conversations extract-claude-code backup-claude-sessions"
),
)