convoviz 0.2.12__py3-none-any.whl → 0.4.7__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- convoviz/__init__.py +10 -1
- convoviz/analysis/__init__.py +16 -3
- convoviz/analysis/graphs.py +30 -6
- convoviz/analysis/wordcloud.py +68 -29
- convoviz/cli.py +51 -3
- convoviz/config.py +21 -4
- convoviz/interactive.py +123 -119
- convoviz/io/assets.py +12 -1
- convoviz/io/loaders.py +5 -0
- convoviz/io/writers.py +7 -3
- convoviz/logging_config.py +69 -0
- convoviz/models/conversation.py +18 -0
- convoviz/models/message.py +81 -5
- convoviz/pipeline.py +90 -73
- convoviz/renderers/markdown.py +96 -3
- convoviz/renderers/yaml.py +4 -0
- convoviz-0.4.7.dist-info/METADATA +233 -0
- {convoviz-0.2.12.dist-info → convoviz-0.4.7.dist-info}/RECORD +20 -19
- {convoviz-0.2.12.dist-info → convoviz-0.4.7.dist-info}/WHEEL +2 -2
- convoviz-0.2.12.dist-info/METADATA +0 -148
- {convoviz-0.2.12.dist-info → convoviz-0.4.7.dist-info}/entry_points.txt +0 -0
|
@@ -1,148 +0,0 @@
|
|
|
1
|
-
Metadata-Version: 2.4
|
|
2
|
-
Name: convoviz
|
|
3
|
-
Version: 0.2.12
|
|
4
|
-
Summary: Get analytics and visualizations on your ChatGPT data!
|
|
5
|
-
Keywords: markdown,chatgpt,openai,visualization,analytics,json,export,data-analysis,obsidian
|
|
6
|
-
Author: Mohamed Cheikh Sidiya
|
|
7
|
-
Author-email: Mohamed Cheikh Sidiya <mohamedcheikhsidiya77@gmail.com>
|
|
8
|
-
License-Expression: MIT
|
|
9
|
-
Classifier: License :: OSI Approved :: MIT License
|
|
10
|
-
Classifier: Programming Language :: Python :: 3
|
|
11
|
-
Classifier: Programming Language :: Python :: 3.12
|
|
12
|
-
Requires-Dist: matplotlib>=3.9.4
|
|
13
|
-
Requires-Dist: nltk>=3.9.2
|
|
14
|
-
Requires-Dist: orjson>=3.11.5
|
|
15
|
-
Requires-Dist: pillow>=11.3.0
|
|
16
|
-
Requires-Dist: pydantic>=2.12.5
|
|
17
|
-
Requires-Dist: pydantic-settings>=2.7.0
|
|
18
|
-
Requires-Dist: questionary>=2.1.1
|
|
19
|
-
Requires-Dist: rich>=14.2.0
|
|
20
|
-
Requires-Dist: tqdm>=4.67.1
|
|
21
|
-
Requires-Dist: typer>=0.21.0
|
|
22
|
-
Requires-Dist: wordcloud>=1.9.5
|
|
23
|
-
Requires-Python: >=3.12
|
|
24
|
-
Project-URL: Repository, https://github.com/mohamed-chs/chatgpt-history-export-to-md
|
|
25
|
-
Description-Content-Type: text/markdown
|
|
26
|
-
|
|
27
|
-
# Convoviz 📊: Visualize your entire ChatGPT data
|
|
28
|
-
|
|
29
|
-
Convert your ChatGPT history into well-formatted Markdown files. Additionally, visualize your data with word clouds 🔡☁️, view your prompt history graphs 📈, and access all your custom instructions 🤖 in a single location.
|
|
30
|
-
|
|
31
|
-

|
|
32
|
-

|
|
33
|
-
|
|
34
|
-
## Features
|
|
35
|
-
|
|
36
|
-
- **YAML Headers**: Optional and included by default.
|
|
37
|
-
- **Inline Images**: Media attachments rendered directly in Markdown.
|
|
38
|
-
- **Data Visualizations**: Word clouds, graphs, and more.
|
|
39
|
-
|
|
40
|
-
See examples [here](demo).
|
|
41
|
-
|
|
42
|
-
## How to Use 📖
|
|
43
|
-
|
|
44
|
-
### 1. Export Your ChatGPT Data 🗂
|
|
45
|
-
|
|
46
|
-
- Sign in at [chat.openai.com](https://chat.openai.com).
|
|
47
|
-
- Navigate: Profile Name (bottom left) -> **Settings** -> **Data controls** -> **Export** -> **Confirm export**.
|
|
48
|
-
- Await email from OpenAI and download the `.zip` file.
|
|
49
|
-
|
|
50
|
-
### 2. Install the tool 🛠
|
|
51
|
-
|
|
52
|
-
Try it without installing using uv ([astral-sh/uv](https://github.com/astral-sh/uv)):
|
|
53
|
-
|
|
54
|
-
```bash
|
|
55
|
-
uvx convoviz
|
|
56
|
-
```
|
|
57
|
-
|
|
58
|
-
You can install it with uv (Recommended):
|
|
59
|
-
|
|
60
|
-
```bash
|
|
61
|
-
uv tool install convoviz
|
|
62
|
-
```
|
|
63
|
-
|
|
64
|
-
or pipx:
|
|
65
|
-
```bash
|
|
66
|
-
pipx install convoviz
|
|
67
|
-
```
|
|
68
|
-
|
|
69
|
-
### 3. Run the tool 🏃♂️
|
|
70
|
-
|
|
71
|
-
Simply run the command and follow the prompts:
|
|
72
|
-
|
|
73
|
-
```bash
|
|
74
|
-
convoviz
|
|
75
|
-
```
|
|
76
|
-
|
|
77
|
-
#### Command Line Arguments
|
|
78
|
-
|
|
79
|
-
You can provide arguments directly to skip the prompts:
|
|
80
|
-
|
|
81
|
-
```bash
|
|
82
|
-
convoviz --input path/to/your/export.zip --output path/to/output/folder
|
|
83
|
-
```
|
|
84
|
-
|
|
85
|
-
Notes:
|
|
86
|
-
- `--zip` / `-z` is kept as an alias for `--input` for convenience.
|
|
87
|
-
- You can force non-interactive mode with `--no-interactive`.
|
|
88
|
-
|
|
89
|
-
For more options, run:
|
|
90
|
-
|
|
91
|
-
```bash
|
|
92
|
-
convoviz --help
|
|
93
|
-
```
|
|
94
|
-
|
|
95
|
-
### 4. Check the Output 🎉
|
|
96
|
-
|
|
97
|
-
And that's it! After running the script, head over to the output folder to see your neatly formatted Markdown files and visualizations.
|
|
98
|
-
|
|
99
|
-
The main outputs are:
|
|
100
|
-
|
|
101
|
-
- **`Markdown/`**: one `.md` file per conversation
|
|
102
|
-
- **`Graphs/`**: a small set of high-signal plots, including:
|
|
103
|
-
- `overview.png` (dashboard)
|
|
104
|
-
- `activity_heatmap.png` (weekday × hour)
|
|
105
|
-
- `daily_activity.png` / `monthly_activity.png`
|
|
106
|
-
- `model_usage.png`, `conversation_lengths.png`
|
|
107
|
-
- `weekday_pattern.png`, `hourly_pattern.png`, `conversation_lifetimes.png`
|
|
108
|
-
- **`Word-Clouds/`**: weekly/monthly/yearly word clouds
|
|
109
|
-
- **`custom_instructions.json`**: extracted custom instructions
|
|
110
|
-
|
|
111
|
-
## Share Your Feedback! 💌
|
|
112
|
-
|
|
113
|
-
I hope you find this tool useful. I'm continuously looking to improve on this, but I need your help for that.
|
|
114
|
-
|
|
115
|
-
Whether you're a tech wizard or you're new to all this, I'd love to hear about your journey with the tool. Found a quirk? Have a suggestion? Or just want to send some good vibes? I'm all ears!
|
|
116
|
-
|
|
117
|
-
**Here's how you can share your thoughts:**
|
|
118
|
-
|
|
119
|
-
1. **GitHub Issues**: For more specific feedback or if you've stumbled upon a bug, please open an [issue](https://github.com/mohamed-chs/chatgpt-history-export-to-md/issues). This helps me track and address them effectively.
|
|
120
|
-
|
|
121
|
-
2. **GitHub Discussions**: If you just want to share your general experience, have a suggestion, or maybe a cool idea for a new feature, jump into the [discussions](https://github.com/mohamed-chs/chatgpt-history-export-to-md/discussions) page. It's a more casual space where we can chat.
|
|
122
|
-
|
|
123
|
-
And if you've had a great experience, consider giving the project a star ⭐. It keeps me motivated and helps others discover it!
|
|
124
|
-
|
|
125
|
-
## Notes
|
|
126
|
-
|
|
127
|
-
This is just a small thing I coded to help me see my convos in beautiful markdown. It was originally built with [Obsidian](https://obsidian.md/) (my go-to note-taking app) in mind, but the default output is standard Markdown.
|
|
128
|
-
|
|
129
|
-
You can choose obsidian flavored md in the cli to get extra features like:
|
|
130
|
-
- model reasoning (`reasoning_recap`, `thoughts`) rendered as collapsible `> [!NOTE]-` callouts instead of being hidden.
|
|
131
|
-
|
|
132
|
-
I wasn't a fan of the clunky, and sometimes paid, browser extensions.
|
|
133
|
-
|
|
134
|
-
It was also a great opportunity to learn more about Python and type annotations. I had mypy, pyright, and ruff all on strict mode, 'twas fun.
|
|
135
|
-
|
|
136
|
-
It should(?) also work as library, so you can import and use the models and functions. I need to add more documentation for that tho. Feel free to reach out if you need help.
|
|
137
|
-
|
|
138
|
-
### Offline / reproducible runs
|
|
139
|
-
|
|
140
|
-
Convoviz uses NLTK stopwords for word clouds. If you’re offline and NLTK data isn’t already installed, pre-download it once:
|
|
141
|
-
|
|
142
|
-
```bash
|
|
143
|
-
uv run python -c "import nltk; nltk.download('stopwords')"
|
|
144
|
-
```
|
|
145
|
-
|
|
146
|
-
### Bookmarklet
|
|
147
|
-
|
|
148
|
-
There’s also a JavaScript bookmarklet flow under `js/` (experimental) for exporting additional conversation data outside the official ZIP export.
|
|
File without changes
|