convoviz 0.4.4__tar.gz → 0.4.5__tar.gz

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 (61) hide show
  1. {convoviz-0.4.4 → convoviz-0.4.5}/PKG-INFO +14 -12
  2. {convoviz-0.4.4 → convoviz-0.4.5}/README.md +13 -11
  3. {convoviz-0.4.4 → convoviz-0.4.5}/convoviz/interactive.py +1 -1
  4. {convoviz-0.4.4 → convoviz-0.4.5}/pyproject.toml +43 -34
  5. {convoviz-0.4.4 → convoviz-0.4.5}/convoviz/__init__.py +0 -0
  6. {convoviz-0.4.4 → convoviz-0.4.5}/convoviz/__main__.py +0 -0
  7. {convoviz-0.4.4 → convoviz-0.4.5}/convoviz/analysis/__init__.py +0 -0
  8. {convoviz-0.4.4 → convoviz-0.4.5}/convoviz/analysis/graphs.py +0 -0
  9. {convoviz-0.4.4 → convoviz-0.4.5}/convoviz/analysis/wordcloud.py +0 -0
  10. {convoviz-0.4.4 → convoviz-0.4.5}/convoviz/assets/colormaps.txt +0 -0
  11. {convoviz-0.4.4 → convoviz-0.4.5}/convoviz/assets/fonts/AmaticSC-Regular.ttf +0 -0
  12. {convoviz-0.4.4 → convoviz-0.4.5}/convoviz/assets/fonts/ArchitectsDaughter-Regular.ttf +0 -0
  13. {convoviz-0.4.4 → convoviz-0.4.5}/convoviz/assets/fonts/BebasNeue-Regular.ttf +0 -0
  14. {convoviz-0.4.4 → convoviz-0.4.5}/convoviz/assets/fonts/Borel-Regular.ttf +0 -0
  15. {convoviz-0.4.4 → convoviz-0.4.5}/convoviz/assets/fonts/Courgette-Regular.ttf +0 -0
  16. {convoviz-0.4.4 → convoviz-0.4.5}/convoviz/assets/fonts/CroissantOne-Regular.ttf +0 -0
  17. {convoviz-0.4.4 → convoviz-0.4.5}/convoviz/assets/fonts/Handjet-Regular.ttf +0 -0
  18. {convoviz-0.4.4 → convoviz-0.4.5}/convoviz/assets/fonts/IndieFlower-Regular.ttf +0 -0
  19. {convoviz-0.4.4 → convoviz-0.4.5}/convoviz/assets/fonts/Kalam-Regular.ttf +0 -0
  20. {convoviz-0.4.4 → convoviz-0.4.5}/convoviz/assets/fonts/Lobster-Regular.ttf +0 -0
  21. {convoviz-0.4.4 → convoviz-0.4.5}/convoviz/assets/fonts/MartianMono-Regular.ttf +0 -0
  22. {convoviz-0.4.4 → convoviz-0.4.5}/convoviz/assets/fonts/MartianMono-Thin.ttf +0 -0
  23. {convoviz-0.4.4 → convoviz-0.4.5}/convoviz/assets/fonts/Montserrat-Regular.ttf +0 -0
  24. {convoviz-0.4.4 → convoviz-0.4.5}/convoviz/assets/fonts/Mooli-Regular.ttf +0 -0
  25. {convoviz-0.4.4 → convoviz-0.4.5}/convoviz/assets/fonts/Pacifico-Regular.ttf +0 -0
  26. {convoviz-0.4.4 → convoviz-0.4.5}/convoviz/assets/fonts/PlayfairDisplay-Regular.ttf +0 -0
  27. {convoviz-0.4.4 → convoviz-0.4.5}/convoviz/assets/fonts/Raleway-Regular.ttf +0 -0
  28. {convoviz-0.4.4 → convoviz-0.4.5}/convoviz/assets/fonts/RobotoMono-Regular.ttf +0 -0
  29. {convoviz-0.4.4 → convoviz-0.4.5}/convoviz/assets/fonts/RobotoMono-Thin.ttf +0 -0
  30. {convoviz-0.4.4 → convoviz-0.4.5}/convoviz/assets/fonts/RobotoSlab-Regular.ttf +0 -0
  31. {convoviz-0.4.4 → convoviz-0.4.5}/convoviz/assets/fonts/RobotoSlab-Thin.ttf +0 -0
  32. {convoviz-0.4.4 → convoviz-0.4.5}/convoviz/assets/fonts/Ruwudu-Regular.ttf +0 -0
  33. {convoviz-0.4.4 → convoviz-0.4.5}/convoviz/assets/fonts/Sacramento-Regular.ttf +0 -0
  34. {convoviz-0.4.4 → convoviz-0.4.5}/convoviz/assets/fonts/SedgwickAveDisplay-Regular.ttf +0 -0
  35. {convoviz-0.4.4 → convoviz-0.4.5}/convoviz/assets/fonts/ShadowsIntoLight-Regular.ttf +0 -0
  36. {convoviz-0.4.4 → convoviz-0.4.5}/convoviz/assets/fonts/TitilliumWeb-Regular.ttf +0 -0
  37. {convoviz-0.4.4 → convoviz-0.4.5}/convoviz/assets/fonts/Yellowtail-Regular.ttf +0 -0
  38. {convoviz-0.4.4 → convoviz-0.4.5}/convoviz/assets/fonts/YsabeauOffice-Regular.ttf +0 -0
  39. {convoviz-0.4.4 → convoviz-0.4.5}/convoviz/assets/fonts/YsabeauSC-Regular.ttf +0 -0
  40. {convoviz-0.4.4 → convoviz-0.4.5}/convoviz/assets/fonts/YsabeauSC-Thin.ttf +0 -0
  41. {convoviz-0.4.4 → convoviz-0.4.5}/convoviz/assets/fonts/Zeyada-Regular.ttf +0 -0
  42. {convoviz-0.4.4 → convoviz-0.4.5}/convoviz/assets/stopwords.txt +0 -0
  43. {convoviz-0.4.4 → convoviz-0.4.5}/convoviz/cli.py +0 -0
  44. {convoviz-0.4.4 → convoviz-0.4.5}/convoviz/config.py +0 -0
  45. {convoviz-0.4.4 → convoviz-0.4.5}/convoviz/exceptions.py +0 -0
  46. {convoviz-0.4.4 → convoviz-0.4.5}/convoviz/io/__init__.py +0 -0
  47. {convoviz-0.4.4 → convoviz-0.4.5}/convoviz/io/assets.py +0 -0
  48. {convoviz-0.4.4 → convoviz-0.4.5}/convoviz/io/loaders.py +0 -0
  49. {convoviz-0.4.4 → convoviz-0.4.5}/convoviz/io/writers.py +0 -0
  50. {convoviz-0.4.4 → convoviz-0.4.5}/convoviz/logging_config.py +0 -0
  51. {convoviz-0.4.4 → convoviz-0.4.5}/convoviz/models/__init__.py +0 -0
  52. {convoviz-0.4.4 → convoviz-0.4.5}/convoviz/models/collection.py +0 -0
  53. {convoviz-0.4.4 → convoviz-0.4.5}/convoviz/models/conversation.py +0 -0
  54. {convoviz-0.4.4 → convoviz-0.4.5}/convoviz/models/message.py +0 -0
  55. {convoviz-0.4.4 → convoviz-0.4.5}/convoviz/models/node.py +0 -0
  56. {convoviz-0.4.4 → convoviz-0.4.5}/convoviz/pipeline.py +0 -0
  57. {convoviz-0.4.4 → convoviz-0.4.5}/convoviz/py.typed +0 -0
  58. {convoviz-0.4.4 → convoviz-0.4.5}/convoviz/renderers/__init__.py +0 -0
  59. {convoviz-0.4.4 → convoviz-0.4.5}/convoviz/renderers/markdown.py +0 -0
  60. {convoviz-0.4.4 → convoviz-0.4.5}/convoviz/renderers/yaml.py +0 -0
  61. {convoviz-0.4.4 → convoviz-0.4.5}/convoviz/utils.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: convoviz
3
- Version: 0.4.4
3
+ Version: 0.4.5
4
4
  Summary: Convert your ChatGPT export (ZIP) into clean Markdown text files with inline media, and generate data visualizations like word clouds and usage graphs.
5
5
  Keywords: markdown,chatgpt,openai,visualization,analytics,json,export,data-analysis,obsidian
6
6
  Author: Mohamed Cheikh Sidiya
@@ -194,6 +194,19 @@ Interested in contributing? Check out the **[Contributing Guide](https://github.
194
194
 
195
195
  ## 📝 Notes
196
196
 
197
+ <details>
198
+ <summary><strong>Offline</strong></summary>
199
+
200
+ Word clouds use NLTK stopwords. If you're offline and NLTK data isn't installed yet, pre-download it:
201
+
202
+ ```bash
203
+ python -c "import nltk; nltk.download('stopwords')"
204
+ ```
205
+
206
+ **NOTE:** The install script already handles this, so you can immediately go offline after running it.
207
+
208
+ </details>
209
+
197
210
  <details>
198
211
  <summary><strong>About This Project</strong></summary>
199
212
 
@@ -212,17 +225,6 @@ It should also work as a library, so you can import and use the models and funct
212
225
 
213
226
  </details>
214
227
 
215
- <details>
216
- <summary><strong>Offline / Reproducible Runs</strong></summary>
217
-
218
- Word clouds use NLTK stopwords. If you're offline and NLTK data isn't installed yet, pre-download it:
219
-
220
- ```bash
221
- python -c "import nltk; nltk.download('stopwords')"
222
- ```
223
-
224
- </details>
225
-
226
228
  <details>
227
229
  <summary><strong>Bookmarklet (Experimental)</strong></summary>
228
230
 
@@ -169,6 +169,19 @@ Interested in contributing? Check out the **[Contributing Guide](https://github.
169
169
 
170
170
  ## 📝 Notes
171
171
 
172
+ <details>
173
+ <summary><strong>Offline</strong></summary>
174
+
175
+ Word clouds use NLTK stopwords. If you're offline and NLTK data isn't installed yet, pre-download it:
176
+
177
+ ```bash
178
+ python -c "import nltk; nltk.download('stopwords')"
179
+ ```
180
+
181
+ **NOTE:** The install script already handles this, so you can immediately go offline after running it.
182
+
183
+ </details>
184
+
172
185
  <details>
173
186
  <summary><strong>About This Project</strong></summary>
174
187
 
@@ -187,17 +200,6 @@ It should also work as a library, so you can import and use the models and funct
187
200
 
188
201
  </details>
189
202
 
190
- <details>
191
- <summary><strong>Offline / Reproducible Runs</strong></summary>
192
-
193
- Word clouds use NLTK stopwords. If you're offline and NLTK data isn't installed yet, pre-download it:
194
-
195
- ```bash
196
- python -c "import nltk; nltk.download('stopwords')"
197
- ```
198
-
199
- </details>
200
-
201
203
  <details>
202
204
  <summary><strong>Bookmarklet (Experimental)</strong></summary>
203
205
 
@@ -92,7 +92,7 @@ def run_interactive_config(initial_config: ConvovizConfig | None = None) -> Conv
92
92
  input_default = str(config.input_path) if config.input_path else ""
93
93
  input_result: str = _ask_or_cancel(
94
94
  qst_path(
95
- "Enter the path to the export ZIP, conversations JSON, or extracted directory:",
95
+ "Enter the path to the export ZIP:", # , conversations JSON, or extracted directory:",
96
96
  default=input_default,
97
97
  validate=_validate_input_path,
98
98
  style=CUSTOM_STYLE,
@@ -1,7 +1,12 @@
1
1
  [project]
2
2
  name = "convoviz"
3
- version = "0.4.4"
3
+ version = "0.4.5"
4
4
  description = "Convert your ChatGPT export (ZIP) into clean Markdown text files with inline media, and generate data visualizations like word clouds and usage graphs."
5
+ readme = "README.md"
6
+ requires-python = ">=3.12"
7
+ authors = [
8
+ { name = "Mohamed Cheikh Sidiya", email = "mohamedcheikhsidiya77@gmail.com" },
9
+ ]
5
10
  license = "MIT"
6
11
  keywords = [
7
12
  "markdown",
@@ -19,11 +24,6 @@ classifiers = [
19
24
  "Programming Language :: Python :: 3",
20
25
  "Programming Language :: Python :: 3.12",
21
26
  ]
22
- readme = "README.md"
23
- requires-python = ">=3.12"
24
- authors = [
25
- { name = "Mohamed Cheikh Sidiya", email = "mohamedcheikhsidiya77@gmail.com" },
26
- ]
27
27
  dependencies = [
28
28
  "orjson>=3.11.5",
29
29
  "pydantic>=2.12.5",
@@ -34,37 +34,11 @@ dependencies = [
34
34
  "typer>=0.21.0",
35
35
  ]
36
36
 
37
- [project.optional-dependencies]
38
- viz = ["nltk>=3.9.2", "wordcloud>=1.9.5"]
39
-
40
37
  [project.urls]
41
38
  Repository = "https://github.com/mohamed-chs/convoviz"
42
39
 
43
- [build-system]
44
- requires = ["uv_build"]
45
- build-backend = "uv_build"
46
-
47
- [tool.uv.build-backend]
48
- # Add this line to tell uv your code is in the root, not in src/
49
- module-root = "."
50
-
51
- # Files to exclude from the Source Distribution (sdist)
52
- source-exclude = [
53
- ".github",
54
- ".vscode",
55
- ".gitattributes",
56
- ".gitignore",
57
- "dev",
58
- "playground.ipynb",
59
- "pyproject.toml.bak",
60
- "uv.lock",
61
- "demo",
62
- "js",
63
- "tests",
64
- ]
65
-
66
- [project.scripts]
67
- convoviz = "convoviz.cli:main_entry"
40
+ [project.optional-dependencies]
41
+ viz = ["nltk>=3.9.2", "wordcloud>=1.9.5"]
68
42
 
69
43
  [dependency-groups]
70
44
  dev = [
@@ -75,8 +49,20 @@ dev = [
75
49
  # Viz extras for testing (wordcloud pulls in matplotlib + pillow)
76
50
  "nltk>=3.9.2",
77
51
  "wordcloud>=1.9.5",
52
+ "poethepoet>=0.40.0",
78
53
  ]
79
54
 
55
+ # run with 'uv run poe <task>' eg. 'uv run poe fmt'
56
+ # or if poe is installed globally, 'poe fmt'
57
+ [tool.poe.tasks]
58
+ lint = "ruff check --fix convoviz tests"
59
+ fmt = "ruff format"
60
+ test = "pytest"
61
+ ty = "ty check convoviz"
62
+
63
+ [project.scripts]
64
+ convoviz = "convoviz.cli:main_entry"
65
+
80
66
  [tool.ruff]
81
67
  target-version = "py312"
82
68
  line-length = 100
@@ -107,3 +93,26 @@ python-version = "3.12"
107
93
  [tool.pytest.ini_options]
108
94
  testpaths = ["tests"]
109
95
  pythonpath = ["."]
96
+
97
+ [build-system]
98
+ requires = ["uv_build"]
99
+ build-backend = "uv_build"
100
+
101
+ [tool.uv.build-backend]
102
+ # Add this line to tell uv your code is in the root, not in src/
103
+ module-root = "."
104
+
105
+ # Files to exclude from the Source Distribution (sdist)
106
+ source-exclude = [
107
+ ".github",
108
+ ".vscode",
109
+ ".gitattributes",
110
+ ".gitignore",
111
+ "dev",
112
+ "playground.ipynb",
113
+ "pyproject.toml.bak",
114
+ "uv.lock",
115
+ "demo",
116
+ "js",
117
+ "tests",
118
+ ]
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes