convoviz 0.3.4__py3-none-any.whl → 0.3.6__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.
@@ -154,6 +154,9 @@ def generate_wordclouds(
154
154
  month_groups = collection.group_by_month()
155
155
  year_groups = collection.group_by_year()
156
156
 
157
+ # Pre-load/download NLTK stopwords in the main process to avoid race conditions in workers
158
+ load_nltk_stopwords()
159
+
157
160
  # Build list of all tasks: (text, filename, output_dir, config)
158
161
  tasks: list[tuple[str, str, Path, WordCloudConfig]] = []
159
162
 
convoviz/cli.py CHANGED
@@ -4,6 +4,7 @@ from pathlib import Path
4
4
 
5
5
  import typer
6
6
  from rich.console import Console
7
+ from rich.markup import escape
7
8
 
8
9
  from convoviz.config import FolderOrganization, OutputKind, get_default_config
9
10
  from convoviz.exceptions import ConfigurationError, InvalidZipError
@@ -113,10 +114,10 @@ def run(
113
114
  try:
114
115
  run_pipeline(config)
115
116
  except (InvalidZipError, ConfigurationError) as e:
116
- console.print(f"[bold red]Error:[/bold red] {e}")
117
+ console.print(f"[bold red]Error:[/bold red] {escape(str(e))}")
117
118
  raise typer.Exit(code=1) from None
118
119
  except Exception as e:
119
- console.print(f"[bold red]Unexpected error:[/bold red] {e}")
120
+ console.print(f"[bold red]Unexpected error:[/bold red] {escape(str(e))}")
120
121
  raise typer.Exit(code=1) from None
121
122
 
122
123
 
convoviz/pipeline.py CHANGED
@@ -127,7 +127,7 @@ def run_pipeline(config: ConvovizConfig) -> None:
127
127
  except ModuleNotFoundError as e:
128
128
  raise ConfigurationError(
129
129
  "Graph generation requires matplotlib. "
130
- r'Reinstall with the \[viz] extra: uv tool install "convoviz\[viz]"'
130
+ 'Reinstall with the [viz] extra: uv tool install "convoviz[viz]"'
131
131
  ) from e
132
132
 
133
133
  graph_folder = output_folder / "Graphs"
@@ -151,7 +151,7 @@ def run_pipeline(config: ConvovizConfig) -> None:
151
151
  except ModuleNotFoundError as e:
152
152
  raise ConfigurationError(
153
153
  "Word cloud generation requires wordcloud and nltk. "
154
- r'Reinstall with the \[viz] extra: uv tool install "convoviz\[viz]"'
154
+ 'Reinstall with the [viz] extra: uv tool install "convoviz[viz]"'
155
155
  ) from e
156
156
 
157
157
  wordcloud_folder = output_folder / "Word-Clouds"
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: convoviz
3
- Version: 0.3.4
3
+ Version: 0.3.6
4
4
  Summary: Get analytics and visualizations on your ChatGPT data!
5
5
  Keywords: markdown,chatgpt,openai,visualization,analytics,json,export,data-analysis,obsidian
6
6
  Author: Mohamed Cheikh Sidiya
@@ -27,9 +27,6 @@ Description-Content-Type: text/markdown
27
27
 
28
28
  Convert your ChatGPT history into well-formatted Markdown files. Visualize your data with word clouds 🔡☁️ and usage graphs 📈.
29
29
 
30
- ![GitHub last commit](https://img.shields.io/github/last-commit/mohamed-chs/chatgpt-history-export-to-md)
31
- ![GitHub issues](https://img.shields.io/github/issues/mohamed-chs/chatgpt-history-export-to-md)
32
-
33
30
  ## Features
34
31
 
35
32
  - **YAML Headers**: Optional and included by default.
@@ -2,7 +2,7 @@ convoviz/__init__.py,sha256=UjwkFEmRXhE-3qhsoGTG9XhtoL2cP0o4h3Sp9fcA2Ic,858
2
2
  convoviz/__main__.py,sha256=1qiGW13_SgL7wJi8iioIN-AAHGkNGnEl5q_RcPUrI0s,143
3
3
  convoviz/analysis/__init__.py,sha256=1dHjnw88mepSY3Q3U8lEvSqkuWPtkzpyYMgq0CIWoXk,654
4
4
  convoviz/analysis/graphs.py,sha256=4uGxVVnbDnBODPlu3g9jZPl6X3JEb4Ri1jXEekhV7-8,29681
5
- convoviz/analysis/wordcloud.py,sha256=tWQolVTILw40DXLDw6m7O8blDUBRrNG1FqRBA95ISEA,5844
5
+ convoviz/analysis/wordcloud.py,sha256=oTcuyfYr-dffBah9Ou9JUPxJxFlrH1WQVHGcz2orgnQ,5966
6
6
  convoviz/assets/colormaps.txt,sha256=59TSGz428AxY14AEvymAH2IJ2RT9Mlp7Sy0N12NEdXQ,108
7
7
  convoviz/assets/fonts/AmaticSC-Regular.ttf,sha256=83clh7a3urnTLud0_yZofuIb6BdyC2LMI9jhE6G2LvU,142696
8
8
  convoviz/assets/fonts/ArchitectsDaughter-Regular.ttf,sha256=fnrj5_N_SlY2Lj3Ehqz5aKECPZVJlJAflgsOU94_qIM,37756
@@ -36,7 +36,7 @@ convoviz/assets/fonts/YsabeauSC-Regular.ttf,sha256=G4lkq34KKqZOaoomtxFz_KlwVmxg5
36
36
  convoviz/assets/fonts/YsabeauSC-Thin.ttf,sha256=hZGOZNTRrxbiUPE2VDeLbtnaRwkMOBaVQbq7Fwx-34c,116932
37
37
  convoviz/assets/fonts/Zeyada-Regular.ttf,sha256=fKhkrp9VHt_3Aw8JfkfkPeC2j3CilLWuPUudzBeawPQ,57468
38
38
  convoviz/assets/stopwords.txt,sha256=AbpHGcgLb-kRsJGnwFEktk7uzpZOCcBY74-YBdrKVGs,1
39
- convoviz/cli.py,sha256=a4VJzG-rcNTxvlWDPkGd-AhUHsn1YDmILD5vRxa_jWs,4041
39
+ convoviz/cli.py,sha256=yOcRIJlF4yxFF4FXAl3XoTs-Qkl-y01bRm-sdWVVj9k,4098
40
40
  convoviz/config.py,sha256=qo4JPkJRx1UgvVN_x-XmycxdjU9XwPlqoZWJLsDMSAs,3592
41
41
  convoviz/exceptions.py,sha256=bQpIKls48uOQpagEJAxpXf5LF7QoagRRfbD0MjWC7Ak,1476
42
42
  convoviz/interactive.py,sha256=ImwQTB_JF33SgbCO7ggr12VTx5P4CJksx_vW2kDYV_4,8252
@@ -49,13 +49,13 @@ convoviz/models/collection.py,sha256=L658yKMNC6IZrfxYxZBe-oO9COP_bzVfRznnNon7tfU
49
49
  convoviz/models/conversation.py,sha256=ssx1Z6LM9kJIx3OucQW8JVoAc8zCdxj1iOLtie2B3ak,5678
50
50
  convoviz/models/message.py,sha256=0CJ9hJ1rQiesn1SgHqFgEgKUgS7XAPGtSunQl5q8Pl4,8316
51
51
  convoviz/models/node.py,sha256=1vBAtKVscYsUBDnKAOyLxuZaK9KoVF1dFXiKXRHxUnY,1946
52
- convoviz/pipeline.py,sha256=DhnyzCO1Ce2893nNc6R1oj5FP5TZnXLibkQb_oZUBOk,6382
52
+ convoviz/pipeline.py,sha256=ClOazQRiOnf4TKogoR1YLam1w7n4k6tznLrEOaB0u8M,6376
53
53
  convoviz/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
54
54
  convoviz/renderers/__init__.py,sha256=IQgwD9NqtUgbS9zwyPBNZbBIZcFrbZ9C7WMAV-X3Xdg,261
55
55
  convoviz/renderers/markdown.py,sha256=55PACkd-F0mmBXWXQ5SrfJr3UNrK_z2spQnePdk1UsQ,7849
56
56
  convoviz/renderers/yaml.py,sha256=XG1s4VhDdx-TiqekTkgED87RZ1lVQ7IwrbA-sZHrs7k,4056
57
57
  convoviz/utils.py,sha256=IQEKYHhWOnYxlr4GwAHoquG0BXTlVRkORL80oUSaIeQ,3417
58
- convoviz-0.3.4.dist-info/WHEEL,sha256=XV0cjMrO7zXhVAIyyc8aFf1VjZ33Fen4IiJk5zFlC3g,80
59
- convoviz-0.3.4.dist-info/entry_points.txt,sha256=HYsmsw5vt36yYHB05uVU48AK2WLkcwshly7m7KKuZMY,54
60
- convoviz-0.3.4.dist-info/METADATA,sha256=Hs09dGrFoYFacmhLaRTCqASPVogOJfiT_N95u8uAFz8,5063
61
- convoviz-0.3.4.dist-info/RECORD,,
58
+ convoviz-0.3.6.dist-info/WHEEL,sha256=XV0cjMrO7zXhVAIyyc8aFf1VjZ33Fen4IiJk5zFlC3g,80
59
+ convoviz-0.3.6.dist-info/entry_points.txt,sha256=HYsmsw5vt36yYHB05uVU48AK2WLkcwshly7m7KKuZMY,54
60
+ convoviz-0.3.6.dist-info/METADATA,sha256=W37siZhCxKMGJIwQ5TuZ53iDDp9vTJY5y3ehskTMSvM,4860
61
+ convoviz-0.3.6.dist-info/RECORD,,