convoviz 0.4.1__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.
Files changed (62) hide show
  1. convoviz/__init__.py +34 -0
  2. convoviz/__main__.py +6 -0
  3. convoviz/analysis/__init__.py +22 -0
  4. convoviz/analysis/graphs.py +879 -0
  5. convoviz/analysis/wordcloud.py +204 -0
  6. convoviz/assets/colormaps.txt +15 -0
  7. convoviz/assets/fonts/AmaticSC-Regular.ttf +0 -0
  8. convoviz/assets/fonts/ArchitectsDaughter-Regular.ttf +0 -0
  9. convoviz/assets/fonts/BebasNeue-Regular.ttf +0 -0
  10. convoviz/assets/fonts/Borel-Regular.ttf +0 -0
  11. convoviz/assets/fonts/Courgette-Regular.ttf +0 -0
  12. convoviz/assets/fonts/CroissantOne-Regular.ttf +0 -0
  13. convoviz/assets/fonts/Handjet-Regular.ttf +0 -0
  14. convoviz/assets/fonts/IndieFlower-Regular.ttf +0 -0
  15. convoviz/assets/fonts/Kalam-Regular.ttf +0 -0
  16. convoviz/assets/fonts/Lobster-Regular.ttf +0 -0
  17. convoviz/assets/fonts/MartianMono-Regular.ttf +0 -0
  18. convoviz/assets/fonts/MartianMono-Thin.ttf +0 -0
  19. convoviz/assets/fonts/Montserrat-Regular.ttf +0 -0
  20. convoviz/assets/fonts/Mooli-Regular.ttf +0 -0
  21. convoviz/assets/fonts/Pacifico-Regular.ttf +0 -0
  22. convoviz/assets/fonts/PlayfairDisplay-Regular.ttf +0 -0
  23. convoviz/assets/fonts/Raleway-Regular.ttf +0 -0
  24. convoviz/assets/fonts/RobotoMono-Regular.ttf +0 -0
  25. convoviz/assets/fonts/RobotoMono-Thin.ttf +0 -0
  26. convoviz/assets/fonts/RobotoSlab-Regular.ttf +0 -0
  27. convoviz/assets/fonts/RobotoSlab-Thin.ttf +0 -0
  28. convoviz/assets/fonts/Ruwudu-Regular.ttf +0 -0
  29. convoviz/assets/fonts/Sacramento-Regular.ttf +0 -0
  30. convoviz/assets/fonts/SedgwickAveDisplay-Regular.ttf +0 -0
  31. convoviz/assets/fonts/ShadowsIntoLight-Regular.ttf +0 -0
  32. convoviz/assets/fonts/TitilliumWeb-Regular.ttf +0 -0
  33. convoviz/assets/fonts/Yellowtail-Regular.ttf +0 -0
  34. convoviz/assets/fonts/YsabeauOffice-Regular.ttf +0 -0
  35. convoviz/assets/fonts/YsabeauSC-Regular.ttf +0 -0
  36. convoviz/assets/fonts/YsabeauSC-Thin.ttf +0 -0
  37. convoviz/assets/fonts/Zeyada-Regular.ttf +0 -0
  38. convoviz/assets/stopwords.txt +1 -0
  39. convoviz/cli.py +149 -0
  40. convoviz/config.py +120 -0
  41. convoviz/exceptions.py +47 -0
  42. convoviz/interactive.py +264 -0
  43. convoviz/io/__init__.py +21 -0
  44. convoviz/io/assets.py +109 -0
  45. convoviz/io/loaders.py +191 -0
  46. convoviz/io/writers.py +231 -0
  47. convoviz/logging_config.py +69 -0
  48. convoviz/models/__init__.py +24 -0
  49. convoviz/models/collection.py +115 -0
  50. convoviz/models/conversation.py +158 -0
  51. convoviz/models/message.py +218 -0
  52. convoviz/models/node.py +66 -0
  53. convoviz/pipeline.py +184 -0
  54. convoviz/py.typed +0 -0
  55. convoviz/renderers/__init__.py +10 -0
  56. convoviz/renderers/markdown.py +269 -0
  57. convoviz/renderers/yaml.py +119 -0
  58. convoviz/utils.py +155 -0
  59. convoviz-0.4.1.dist-info/METADATA +215 -0
  60. convoviz-0.4.1.dist-info/RECORD +62 -0
  61. convoviz-0.4.1.dist-info/WHEEL +4 -0
  62. convoviz-0.4.1.dist-info/entry_points.txt +3 -0
@@ -0,0 +1,215 @@
1
+ Metadata-Version: 2.4
2
+ Name: convoviz
3
+ Version: 0.4.1
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: orjson>=3.11.5
13
+ Requires-Dist: pydantic>=2.12.5
14
+ Requires-Dist: pydantic-settings>=2.7.0
15
+ Requires-Dist: questionary>=2.1.1
16
+ Requires-Dist: rich>=14.2.0
17
+ Requires-Dist: tqdm>=4.67.1
18
+ Requires-Dist: typer>=0.21.0
19
+ Requires-Dist: nltk>=3.9.2 ; extra == 'viz'
20
+ Requires-Dist: wordcloud>=1.9.5 ; extra == 'viz'
21
+ Requires-Python: >=3.12
22
+ Project-URL: Repository, https://github.com/mohamed-chs/convoviz
23
+ Provides-Extra: viz
24
+ Description-Content-Type: text/markdown
25
+
26
+ <p align="center">
27
+ <h1 align="center">Convoviz ๐Ÿ“Š</h1>
28
+ <p align="center"><strong>Visualize your entire ChatGPT data</strong></p>
29
+ <p align="center">
30
+ Convert your ChatGPT history into well-formatted Markdown files.<br>
31
+ Visualize your data with word clouds ๐Ÿ”กโ˜๏ธ and usage graphs ๐Ÿ“ˆ.
32
+ </p>
33
+ </p>
34
+
35
+ <p align="center">
36
+ <a href="https://pypi.org/project/convoviz/"><img src="https://img.shields.io/pypi/v/convoviz?style=flat-square&logo=pypi&logoColor=white&label=PyPI" alt="PyPI Version"></a>
37
+ <a href="https://pepy.tech/projects/convoviz"><img src="https://static.pepy.tech/personalized-badge/convoviz?period=total&units=INTERNATIONAL_SYSTEM&left_color=GREY&right_color=GREEN&left_text=Downloads" alt="PyPI Downloads"></a>
38
+ <a href="https://github.com/mohamed-chs/convoviz/blob/main/LICENSE"><img src="https://img.shields.io/github/license/mohamed-chs/convoviz?style=flat-square" alt="License"></a>
39
+ </p>
40
+
41
+ ---
42
+
43
+ ## โœจ Features
44
+
45
+ | Feature | Description |
46
+ |---------|-------------|
47
+ | ๐Ÿ“ **Markdown Export** | Clean, well-formatted Markdown with optional YAML headers |
48
+ | ๐Ÿ–ผ๏ธ **Inline Images** | Media attachments rendered directly in your Markdown files |
49
+ | โ˜๏ธ **Word Clouds** | Visual breakdowns of your most-used words and phrases |
50
+ | ๐Ÿ“ˆ **Usage Graphs** | Bar plots and charts showing your conversation patterns |
51
+
52
+ > ๐Ÿ’ก **See examples in the [`demo/`](demo) folder!**
53
+
54
+ ---
55
+
56
+ ## ๐Ÿ“– How to Use
57
+
58
+ ### Step 1: Export Your ChatGPT Data
59
+
60
+ 1. Sign in at [chatgpt.com](https://chatgpt.com)
61
+ 2. Navigate to: **Profile Name** (bottom left) โ†’ **Settings** โ†’ **Data controls** โ†’ **Export**
62
+ 3. Click **Confirm export**
63
+ 4. Wait for the email from OpenAI, then download the `.zip` file
64
+
65
+ ---
66
+
67
+ ### Step 2: Install Convoviz
68
+
69
+ <details open>
70
+ <summary><strong>๐Ÿš€ Quick Install (Recommended)</strong></summary>
71
+
72
+ One command installs everything you need โ€” [uv](https://github.com/astral-sh/uv) (a fast Python package manager) and convoviz with graphs and word clouds.
73
+
74
+ **Linux / macOS:**
75
+
76
+ ```bash
77
+ curl -fsSL https://raw.githubusercontent.com/mohamed-chs/convoviz/main/install.sh | bash
78
+ ```
79
+
80
+ **Windows (PowerShell):**
81
+
82
+ ```powershell
83
+ irm https://raw.githubusercontent.com/mohamed-chs/convoviz/main/install.ps1 | iex
84
+ ```
85
+
86
+ </details>
87
+
88
+ <details>
89
+ <summary><strong>๐Ÿ“ฆ Alternative: Install with pip</strong></summary>
90
+
91
+ If you prefer using `pip` directly:
92
+
93
+ ```bash
94
+ # Create a virtual environment (keeps your system Python clean)
95
+ python3 -m venv .venv
96
+
97
+ # Activate the virtual environment
98
+ source .venv/bin/activate # On Windows: .venv\Scripts\activate
99
+
100
+ # Install convoviz with visualization extras
101
+ pip install "convoviz[viz]"
102
+ ```
103
+
104
+ </details>
105
+
106
+ ---
107
+
108
+ ### Step 3: Run Convoviz
109
+
110
+ The simplest way is to run the command and follow the interactive prompts:
111
+
112
+ ```bash
113
+ convoviz
114
+ ```
115
+
116
+ Or, provide arguments directly to skip the prompts:
117
+
118
+ ```bash
119
+ convoviz --input path/to/your/export.zip --output path/to/output/folder
120
+ ```
121
+
122
+ <details>
123
+ <summary><strong>โš™๏ธ Command Line Options</strong></summary>
124
+
125
+ #### Selective Output
126
+
127
+ By default, all outputs (Markdown, graphs, word clouds) are generated. Use `--outputs` to pick specific ones:
128
+
129
+ ```bash
130
+ convoviz --input export.zip --outputs markdown --outputs graphs
131
+ ```
132
+
133
+ Available options: `markdown`, `graphs`, `wordclouds`
134
+
135
+ > In interactive mode, you'll be prompted to choose which outputs to generate.
136
+
137
+ #### Other Useful Flags
138
+
139
+ | Flag | Description |
140
+ |------|-------------|
141
+ | `--zip` / `-z` | Alias for `--input` (for convenience) |
142
+ | `--no-interactive` | Force non-interactive mode |
143
+ | `--flat` | Put all Markdown files in a single folder (instead of organizing by date) |
144
+ | `--verbose` / `-v` | Enable detailed logging (use `-vv` for debug logs) |
145
+ | `--log-file PATH` | Specify a custom log file location |
146
+
147
+ For a complete list of options:
148
+
149
+ ```bash
150
+ convoviz --help
151
+ ```
152
+
153
+ </details>
154
+
155
+ ---
156
+
157
+ ### Step 4: Check the Output ๐ŸŽ‰
158
+
159
+ After running the script, head to your output folder to see:
160
+ - ๐Ÿ“ Neatly formatted Markdown files
161
+ - ๐Ÿ“Š Visualizations and graphs
162
+
163
+ ![wordcloud example](demo/wordcloud-example.png)
164
+
165
+ ---
166
+
167
+ ## ๐Ÿ’Œ Share Your Feedback!
168
+
169
+ I hope you find this tool useful. I'm continuously looking to improve on this, but I need your help for that.
170
+
171
+ 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!
172
+
173
+ ๐Ÿ‘‰ **[Open an Issue](https://github.com/mohamed-chs/convoviz/issues)**
174
+
175
+ And if you've had a great experience, consider giving the project a โญ **star**! It keeps me motivated and helps others discover it!
176
+
177
+ ---
178
+
179
+ ## ๐Ÿ“ Notes
180
+
181
+ <details>
182
+ <summary><strong>About This Project</strong></summary>
183
+
184
+ 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.
185
+
186
+ I wasn't a fan of the clunky, and sometimes paid, browser extensions.
187
+
188
+ 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.
189
+
190
+ </details>
191
+
192
+ <details>
193
+ <summary><strong>Using as a Library</strong></summary>
194
+
195
+ It should also work as a library, so you can import and use the models and functions. I need to add more documentation for that though. Feel free to reach out if you need help.
196
+
197
+ </details>
198
+
199
+ <details>
200
+ <summary><strong>Offline / Reproducible Runs</strong></summary>
201
+
202
+ Word clouds use NLTK stopwords. If you're offline and NLTK data isn't installed yet, pre-download it:
203
+
204
+ ```bash
205
+ python -c "import nltk; nltk.download('stopwords')"
206
+ ```
207
+
208
+ </details>
209
+
210
+ <details>
211
+ <summary><strong>Bookmarklet (Experimental)</strong></summary>
212
+
213
+ There's also a JavaScript bookmarklet flow under `js/` for exporting additional conversation data outside the official ZIP export. This is experimental.
214
+
215
+ </details>
@@ -0,0 +1,62 @@
1
+ convoviz/__init__.py,sha256=UjwkFEmRXhE-3qhsoGTG9XhtoL2cP0o4h3Sp9fcA2Ic,858
2
+ convoviz/__main__.py,sha256=1qiGW13_SgL7wJi8iioIN-AAHGkNGnEl5q_RcPUrI0s,143
3
+ convoviz/analysis/__init__.py,sha256=1dHjnw88mepSY3Q3U8lEvSqkuWPtkzpyYMgq0CIWoXk,654
4
+ convoviz/analysis/graphs.py,sha256=OGLkyKx9Fq7r4jK-A46oy1NWttQ5F2MLxO4mfW6wkfc,29796
5
+ convoviz/analysis/wordcloud.py,sha256=3MfBg_Aq7-nz0Zc-FhkxEvTljImIQU0rmXZv81WUBDM,6178
6
+ convoviz/assets/colormaps.txt,sha256=59TSGz428AxY14AEvymAH2IJ2RT9Mlp7Sy0N12NEdXQ,108
7
+ convoviz/assets/fonts/AmaticSC-Regular.ttf,sha256=83clh7a3urnTLud0_yZofuIb6BdyC2LMI9jhE6G2LvU,142696
8
+ convoviz/assets/fonts/ArchitectsDaughter-Regular.ttf,sha256=fnrj5_N_SlY2Lj3Ehqz5aKECPZVJlJAflgsOU94_qIM,37756
9
+ convoviz/assets/fonts/BebasNeue-Regular.ttf,sha256=gw6hhqz_wjFu0aTkIxkka6O0awTjOiEQeSSb-QEZPwQ,57676
10
+ convoviz/assets/fonts/Borel-Regular.ttf,sha256=6E7H87Enm1-QuDy6CuLXw41IbOh2btYvljdfsAkeeu4,132820
11
+ convoviz/assets/fonts/Courgette-Regular.ttf,sha256=kUua74ktTfKWAKu-0oVRipQJA8nlchHWqq-OGq7JG_M,118784
12
+ convoviz/assets/fonts/CroissantOne-Regular.ttf,sha256=gc0c94cU793bsKEIWEuD7voDOhsqNZZEi55GH22WTXc,50376
13
+ convoviz/assets/fonts/Handjet-Regular.ttf,sha256=VLCiudWwT2HdrZ3y8gFKwzKOhggvMyFh5TwAkj6HOvQ,216176
14
+ convoviz/assets/fonts/IndieFlower-Regular.ttf,sha256=5qE5ITuqVLL_UdMA-YzBwW1pC1BGpLDkJDXL95F2eFM,55416
15
+ convoviz/assets/fonts/Kalam-Regular.ttf,sha256=wqWCLjW9mCZzW6-M6lSVNP0wDJeRKSmdMnoVXtnvZn8,427336
16
+ convoviz/assets/fonts/Lobster-Regular.ttf,sha256=zd13efsueDgqZU-R3VplYhjPEzokThei9dlgwG-V1zw,396740
17
+ convoviz/assets/fonts/MartianMono-Regular.ttf,sha256=oJFu0DsDo4eU_H9yeD8ww9X10to42tFnPU5Edpr6YQo,47676
18
+ convoviz/assets/fonts/MartianMono-Thin.ttf,sha256=P1wEdv9k7TzEovrny8EWhOx4nGHJQJDZGjNNEHh_5zA,47628
19
+ convoviz/assets/fonts/Montserrat-Regular.ttf,sha256=w_sCgOQzn2xwzqQri0Msb7F_3hMPuxLpIJx836edl28,197624
20
+ convoviz/assets/fonts/Mooli-Regular.ttf,sha256=P_eRzLpcOE1_WIrPfwhZc33CjVdf0_G2w1ze8emgke8,61728
21
+ convoviz/assets/fonts/Pacifico-Regular.ttf,sha256=Tayds_qcoHL3hh_ZFr8Evc6sYGnQ86iG9eUj2SLpGPE,315408
22
+ convoviz/assets/fonts/PlayfairDisplay-Regular.ttf,sha256=vW5BYONJ5AxF9LDsYAh6niMxohsqxfuQEU2AxiNlvGM,193384
23
+ convoviz/assets/fonts/Raleway-Regular.ttf,sha256=kx43oi40dzqQs-j0aYjwKRQDk-vNN-IANUQSKzyQkaQ,164120
24
+ convoviz/assets/fonts/RobotoMono-Regular.ttf,sha256=jZofpN_lpd7qeA9lE5lhQUJe94LXzFZl1NRZFG_Tpxw,87236
25
+ convoviz/assets/fonts/RobotoMono-Thin.ttf,sha256=KlSVbRQa_5s8wCGOiHAIYPD8AEZ1g5YxxhwRCKHdww0,88288
26
+ convoviz/assets/fonts/RobotoSlab-Regular.ttf,sha256=kZ83pmV8RegwHpAfR3NwDMbUEyNu2kT8b8X_MrpSh7k,126524
27
+ convoviz/assets/fonts/RobotoSlab-Thin.ttf,sha256=SZBfAfOfqwr1KB8OcVEex7yQtCev-8Cie5EvsD9Io_4,125724
28
+ convoviz/assets/fonts/Ruwudu-Regular.ttf,sha256=HpZ1038Ff7kG2bApUnRZBBG1FjOeoAOCJMo9unCVowY,119044
29
+ convoviz/assets/fonts/Sacramento-Regular.ttf,sha256=pbneZ75FSoJrRthYUS4y7sjDAxK-tMT4ZK7iOQQU6cU,64808
30
+ convoviz/assets/fonts/SedgwickAveDisplay-Regular.ttf,sha256=61N9i9C97qTfkA7gcTey4f5ZRhkvsaZHfTt24juT9k0,135996
31
+ convoviz/assets/fonts/ShadowsIntoLight-Regular.ttf,sha256=LWlyCLEzqQCrH1YH5DfQObGaD5Vvw9mYdgyrs8Ea07A,48468
32
+ convoviz/assets/fonts/TitilliumWeb-Regular.ttf,sha256=SG54vnynWWN2QYtRIEQ-4aNZ6VSI2hf3qIKC2C801Rw,57392
33
+ convoviz/assets/fonts/Yellowtail-Regular.ttf,sha256=AUGAkQQeDnNSWxhBbj-dudY75_nARDwWRldDvzqdtIs,60864
34
+ convoviz/assets/fonts/YsabeauOffice-Regular.ttf,sha256=RnW2erC5p6s2YxvWmwa019hYTzhynkcu9M_X-KrPhjY,204200
35
+ convoviz/assets/fonts/YsabeauSC-Regular.ttf,sha256=G4lkq34KKqZOaoomtxFz_KlwVmxg56UbFXFnWgijkDM,116980
36
+ convoviz/assets/fonts/YsabeauSC-Thin.ttf,sha256=hZGOZNTRrxbiUPE2VDeLbtnaRwkMOBaVQbq7Fwx-34c,116932
37
+ convoviz/assets/fonts/Zeyada-Regular.ttf,sha256=fKhkrp9VHt_3Aw8JfkfkPeC2j3CilLWuPUudzBeawPQ,57468
38
+ convoviz/assets/stopwords.txt,sha256=AbpHGcgLb-kRsJGnwFEktk7uzpZOCcBY74-YBdrKVGs,1
39
+ convoviz/cli.py,sha256=vD4SnS3xthKwNBniWNUy9x1maloBs-xRgcsPHfXzwm4,4888
40
+ convoviz/config.py,sha256=qo4JPkJRx1UgvVN_x-XmycxdjU9XwPlqoZWJLsDMSAs,3592
41
+ convoviz/exceptions.py,sha256=bQpIKls48uOQpagEJAxpXf5LF7QoagRRfbD0MjWC7Ak,1476
42
+ convoviz/interactive.py,sha256=Xq55VJJ4OQ9NlY4nlb2NRLzxmA5-ot521N8tGqyPix4,8691
43
+ convoviz/io/__init__.py,sha256=y70TYypJ36_kaEA04E2wa1EDaKQVjprKItoKR6MMs4M,471
44
+ convoviz/io/assets.py,sha256=5zcZPlQa9niDw9o-sqJIKgLc0OJ9auzd6KAve5WfBkQ,3459
45
+ convoviz/io/loaders.py,sha256=SqmBWUBqT5lsCf01yy-FUhwIxbiKTFMQnj4k213DsGI,5891
46
+ convoviz/io/writers.py,sha256=-HTvj7D9sqM8M-RsGwd44AquxCVmcDVHgta22QlfNzU,7068
47
+ convoviz/logging_config.py,sha256=PRuOKij8UD6sKdg3lAsu9lUsTUZ3O6_6uffnyg07M1U,2060
48
+ convoviz/models/__init__.py,sha256=6gAfrk6KJT2QxdvX_v15mUdfIqEw1xKxwQlKSfyA5eI,532
49
+ convoviz/models/collection.py,sha256=L658yKMNC6IZrfxYxZBe-oO9COP_bzVfRznnNon7tfU,4467
50
+ convoviz/models/conversation.py,sha256=ssx1Z6LM9kJIx3OucQW8JVoAc8zCdxj1iOLtie2B3ak,5678
51
+ convoviz/models/message.py,sha256=0CJ9hJ1rQiesn1SgHqFgEgKUgS7XAPGtSunQl5q8Pl4,8316
52
+ convoviz/models/node.py,sha256=1vBAtKVscYsUBDnKAOyLxuZaK9KoVF1dFXiKXRHxUnY,1946
53
+ convoviz/pipeline.py,sha256=1kLtsNDN3LYNudyPBlyKwQZ8zWCmRKveP3VWfIgichw,6765
54
+ convoviz/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
55
+ convoviz/renderers/__init__.py,sha256=IQgwD9NqtUgbS9zwyPBNZbBIZcFrbZ9C7WMAV-X3Xdg,261
56
+ convoviz/renderers/markdown.py,sha256=55PACkd-F0mmBXWXQ5SrfJr3UNrK_z2spQnePdk1UsQ,7849
57
+ convoviz/renderers/yaml.py,sha256=XG1s4VhDdx-TiqekTkgED87RZ1lVQ7IwrbA-sZHrs7k,4056
58
+ convoviz/utils.py,sha256=IQEKYHhWOnYxlr4GwAHoquG0BXTlVRkORL80oUSaIeQ,3417
59
+ convoviz-0.4.1.dist-info/WHEEL,sha256=fAguSjoiATBe7TNBkJwOjyL1Tt4wwiaQGtNtjRPNMQA,80
60
+ convoviz-0.4.1.dist-info/entry_points.txt,sha256=HYsmsw5vt36yYHB05uVU48AK2WLkcwshly7m7KKuZMY,54
61
+ convoviz-0.4.1.dist-info/METADATA,sha256=tTfEvauoNtlXktgYd9I9M_N7MGSWdjBF5pVRnBwWZlI,6834
62
+ convoviz-0.4.1.dist-info/RECORD,,
@@ -0,0 +1,4 @@
1
+ Wheel-Version: 1.0
2
+ Generator: uv 0.9.28
3
+ Root-Is-Purelib: true
4
+ Tag: py3-none-any
@@ -0,0 +1,3 @@
1
+ [console_scripts]
2
+ convoviz = convoviz.cli:main_entry
3
+