convoviz 0.1.3__tar.gz → 0.1.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 (49) hide show
  1. {convoviz-0.1.3 → convoviz-0.1.5}/PKG-INFO +1 -1
  2. {convoviz-0.1.3 → convoviz-0.1.5}/convoviz/models/_conversation.py +19 -11
  3. {convoviz-0.1.3 → convoviz-0.1.5}/convoviz/models/_message.py +1 -16
  4. {convoviz-0.1.3 → convoviz-0.1.5}/pyproject.toml +1 -1
  5. {convoviz-0.1.3 → convoviz-0.1.5}/LICENSE +0 -0
  6. {convoviz-0.1.3 → convoviz-0.1.5}/README.md +0 -0
  7. {convoviz-0.1.3 → convoviz-0.1.5}/convoviz/__init__.py +0 -0
  8. {convoviz-0.1.3 → convoviz-0.1.5}/convoviz/__main__.py +0 -0
  9. {convoviz-0.1.3 → convoviz-0.1.5}/convoviz/assets/colormaps.txt +0 -0
  10. {convoviz-0.1.3 → convoviz-0.1.5}/convoviz/assets/fonts/AmaticSC-Regular.ttf +0 -0
  11. {convoviz-0.1.3 → convoviz-0.1.5}/convoviz/assets/fonts/ArchitectsDaughter-Regular.ttf +0 -0
  12. {convoviz-0.1.3 → convoviz-0.1.5}/convoviz/assets/fonts/BebasNeue-Regular.ttf +0 -0
  13. {convoviz-0.1.3 → convoviz-0.1.5}/convoviz/assets/fonts/Borel-Regular.ttf +0 -0
  14. {convoviz-0.1.3 → convoviz-0.1.5}/convoviz/assets/fonts/Courgette-Regular.ttf +0 -0
  15. {convoviz-0.1.3 → convoviz-0.1.5}/convoviz/assets/fonts/CroissantOne-Regular.ttf +0 -0
  16. {convoviz-0.1.3 → convoviz-0.1.5}/convoviz/assets/fonts/Handjet-Regular.ttf +0 -0
  17. {convoviz-0.1.3 → convoviz-0.1.5}/convoviz/assets/fonts/IndieFlower-Regular.ttf +0 -0
  18. {convoviz-0.1.3 → convoviz-0.1.5}/convoviz/assets/fonts/Kalam-Regular.ttf +0 -0
  19. {convoviz-0.1.3 → convoviz-0.1.5}/convoviz/assets/fonts/Lobster-Regular.ttf +0 -0
  20. {convoviz-0.1.3 → convoviz-0.1.5}/convoviz/assets/fonts/MartianMono-Regular.ttf +0 -0
  21. {convoviz-0.1.3 → convoviz-0.1.5}/convoviz/assets/fonts/MartianMono-Thin.ttf +0 -0
  22. {convoviz-0.1.3 → convoviz-0.1.5}/convoviz/assets/fonts/Montserrat-Regular.ttf +0 -0
  23. {convoviz-0.1.3 → convoviz-0.1.5}/convoviz/assets/fonts/Mooli-Regular.ttf +0 -0
  24. {convoviz-0.1.3 → convoviz-0.1.5}/convoviz/assets/fonts/Pacifico-Regular.ttf +0 -0
  25. {convoviz-0.1.3 → convoviz-0.1.5}/convoviz/assets/fonts/PlayfairDisplay-Regular.ttf +0 -0
  26. {convoviz-0.1.3 → convoviz-0.1.5}/convoviz/assets/fonts/Raleway-Regular.ttf +0 -0
  27. {convoviz-0.1.3 → convoviz-0.1.5}/convoviz/assets/fonts/RobotoMono-Regular.ttf +0 -0
  28. {convoviz-0.1.3 → convoviz-0.1.5}/convoviz/assets/fonts/RobotoMono-Thin.ttf +0 -0
  29. {convoviz-0.1.3 → convoviz-0.1.5}/convoviz/assets/fonts/RobotoSlab-Regular.ttf +0 -0
  30. {convoviz-0.1.3 → convoviz-0.1.5}/convoviz/assets/fonts/RobotoSlab-Thin.ttf +0 -0
  31. {convoviz-0.1.3 → convoviz-0.1.5}/convoviz/assets/fonts/Ruwudu-Regular.ttf +0 -0
  32. {convoviz-0.1.3 → convoviz-0.1.5}/convoviz/assets/fonts/Sacramento-Regular.ttf +0 -0
  33. {convoviz-0.1.3 → convoviz-0.1.5}/convoviz/assets/fonts/SedgwickAveDisplay-Regular.ttf +0 -0
  34. {convoviz-0.1.3 → convoviz-0.1.5}/convoviz/assets/fonts/ShadowsIntoLight-Regular.ttf +0 -0
  35. {convoviz-0.1.3 → convoviz-0.1.5}/convoviz/assets/fonts/TitilliumWeb-Regular.ttf +0 -0
  36. {convoviz-0.1.3 → convoviz-0.1.5}/convoviz/assets/fonts/Yellowtail-Regular.ttf +0 -0
  37. {convoviz-0.1.3 → convoviz-0.1.5}/convoviz/assets/fonts/YsabeauOffice-Regular.ttf +0 -0
  38. {convoviz-0.1.3 → convoviz-0.1.5}/convoviz/assets/fonts/YsabeauSC-Regular.ttf +0 -0
  39. {convoviz-0.1.3 → convoviz-0.1.5}/convoviz/assets/fonts/YsabeauSC-Thin.ttf +0 -0
  40. {convoviz-0.1.3 → convoviz-0.1.5}/convoviz/assets/fonts/Zeyada-Regular.ttf +0 -0
  41. {convoviz-0.1.3 → convoviz-0.1.5}/convoviz/cli.py +0 -0
  42. {convoviz-0.1.3 → convoviz-0.1.5}/convoviz/configuration.py +0 -0
  43. {convoviz-0.1.3 → convoviz-0.1.5}/convoviz/data_analysis.py +0 -0
  44. {convoviz-0.1.3 → convoviz-0.1.5}/convoviz/long_runs.py +0 -0
  45. {convoviz-0.1.3 → convoviz-0.1.5}/convoviz/models/__init__.py +0 -0
  46. {convoviz-0.1.3 → convoviz-0.1.5}/convoviz/models/_conversation_set.py +0 -0
  47. {convoviz-0.1.3 → convoviz-0.1.5}/convoviz/models/_node.py +0 -0
  48. {convoviz-0.1.3 → convoviz-0.1.5}/convoviz/py.typed +0 -0
  49. {convoviz-0.1.3 → convoviz-0.1.5}/convoviz/utils.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: convoviz
3
- Version: 0.1.3
3
+ Version: 0.1.5
4
4
  Summary: Get analytics and visualizations on your ChatGPT data !
5
5
  Home-page: https://github.com/mohamed-chs/chatgpt-history-export-to-md
6
6
  License: MIT
@@ -5,7 +5,7 @@ object path : conversations.json -> conversation (one of the list items)
5
5
 
6
6
  from __future__ import annotations
7
7
 
8
- from datetime import datetime, timedelta, timezone
8
+ from datetime import datetime, timedelta
9
9
  from os import utime as os_utime
10
10
  from pathlib import Path
11
11
  from typing import TYPE_CHECKING, Any, ClassVar
@@ -46,7 +46,7 @@ class Conversation(BaseModel):
46
46
  plugin_ids: list[str] | None = None
47
47
  conversation_id: str
48
48
  conversation_template_id: str | None = None
49
- id: str | None = None
49
+ id: str | None = None # noqa: A003
50
50
 
51
51
  @classmethod
52
52
  def update_configs(cls, configs: ConversationConfigs) -> None:
@@ -81,7 +81,7 @@ class Conversation(BaseModel):
81
81
  return [
82
82
  node
83
83
  for node in self._all_message_nodes
84
- if node.message and node.message.author_role in authors
84
+ if node.message and node.message.author.role in authors
85
85
  ]
86
86
 
87
87
  @property
@@ -99,7 +99,7 @@ class Conversation(BaseModel):
99
99
  """List of all content types in the conversation (all branches)."""
100
100
  return list(
101
101
  {
102
- node.message.content_type
102
+ node.message.content.content_type
103
103
  for node in self._all_message_nodes
104
104
  if node.message
105
105
  },
@@ -123,7 +123,7 @@ class Conversation(BaseModel):
123
123
 
124
124
  message = assistant_nodes[0].message
125
125
 
126
- return message.model if message else None
126
+ return message.metadata.model_slug if message else None
127
127
 
128
128
  @property
129
129
  def used_plugins(self) -> list[str]:
@@ -268,14 +268,22 @@ class Conversation(BaseModel):
268
268
  @property
269
269
  def month_start(self) -> datetime:
270
270
  """Return the first of the month the conversation was created in."""
271
- return datetime(
272
- self.create_time.year,
273
- self.create_time.month,
274
- 1,
275
- tzinfo=timezone.utc,
271
+ return self.create_time.replace(
272
+ day=1,
273
+ hour=0,
274
+ minute=0,
275
+ second=0,
276
+ microsecond=0,
276
277
  )
277
278
 
278
279
  @property
279
280
  def year_start(self) -> datetime:
280
281
  """Return the first of January of the year the conversation was created in."""
281
- return datetime(self.create_time.year, 1, 1, tzinfo=timezone.utc)
282
+ return self.create_time.replace(
283
+ month=1,
284
+ day=1,
285
+ hour=0,
286
+ minute=0,
287
+ second=0,
288
+ microsecond=0,
289
+ )
@@ -69,15 +69,10 @@ class Message(BaseModel):
69
69
  """Set the configuration for all messages."""
70
70
  cls.__configs.update(configs)
71
71
 
72
- @property
73
- def author_role(self) -> AuthorRole:
74
- """Return the role of the author of the message."""
75
- return self.author.role
76
-
77
72
  @property
78
73
  def header(self) -> str:
79
74
  """Get the title header of the message based on the configs."""
80
- return self.__configs["author_headers"][self.author_role]
75
+ return self.__configs["author_headers"][self.author.role]
81
76
 
82
77
  @property
83
78
  def text(self) -> str:
@@ -92,13 +87,3 @@ class Message(BaseModel):
92
87
  # this error caught some hidden bugs in the data. need more of these
93
88
  err_msg = f"No valid content found in message: {self.id}"
94
89
  raise ValueError(err_msg)
95
-
96
- @property
97
- def content_type(self) -> str:
98
- """Get the content type of the message."""
99
- return self.content.content_type
100
-
101
- @property
102
- def model(self) -> str | None:
103
- """Get the model used for the message."""
104
- return self.metadata.model_slug
@@ -21,7 +21,7 @@ enable_incomplete_feature = ["Unpack"]
21
21
 
22
22
  [tool.poetry]
23
23
  name = "convoviz"
24
- version = "0.1.3"
24
+ version = "0.1.5"
25
25
  description = "Get analytics and visualizations on your ChatGPT data !"
26
26
  authors = ["Mohamed Cheikh Sidiya <mohamedcheikhsidiya77@gmail.com>"]
27
27
  license = "MIT"
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes