kenenet 0.5.7__py3-none-any.whl → 0.5.9__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.
kenenet/__init__.py CHANGED
@@ -11,7 +11,6 @@ def quick_print(message, l=None):
11
11
  if l: sys.stdout.write(f"\033[38;2;0;255;26m{l} || {message}\033[0m\n")
12
12
  else: sys.stdout.write(f"\033[38;2;0;255;26m {message}\033[0m\n")
13
13
 
14
-
15
14
  def get_pos(key='f10', kill=False):
16
15
  coord_rgb = []
17
16
  coords = []
@@ -48,8 +47,7 @@ def timer(clock=1):
48
47
  else:
49
48
  timings[clock] = time.time()
50
49
 
51
-
52
- class Config:
50
+ class _Config:
53
51
  EXCLUDED_NAMES = {'Config', 'VariableTracker', 'track_variables', 'stop_tracking',
54
52
  'track_frame', 'sys', 'inspect', 'types', 'datetime',
55
53
  'self', 'cls', 'args', 'kwargs', '__class__'}
@@ -57,18 +55,13 @@ class Config:
57
55
  SHOW_TIMESTAMPS = True
58
56
  EXCLUDE_INTERNALS = True
59
57
 
60
-
61
- # ==========================================================================
62
- # CORE TRACKING FUNCTIONALITY
63
- # ==========================================================================
64
-
65
- class VariableTracker:
58
+ class _VariableTracker:
66
59
  _instance = None
67
60
 
68
61
  @classmethod
69
- def get_instance(cls):
62
+ def _get_instance(cls):
70
63
  if cls._instance is None:
71
- cls._instance = VariableTracker()
64
+ cls._instance = _VariableTracker()
72
65
  return cls._instance
73
66
 
74
67
  def __init__(self):
@@ -76,28 +69,28 @@ class VariableTracker:
76
69
  self.frame_locals = {}
77
70
  self.global_vars = {}
78
71
 
79
- def format_value(self, value):
72
+ def _format_value(self, value):
80
73
  try:
81
74
  return repr(value)
82
75
  except:
83
76
  return f"<{type(value).__name__} object>"
84
77
 
85
- def print_change(self, name, old, new, scope="Global"):
86
- timestamp = f"[{datetime.datetime.now().strftime('%H:%M:%S.%f')[:-3]}] " if Config.SHOW_TIMESTAMPS else ""
87
- print(f"{timestamp}{scope} '{name}' changed from {self.format_value(old)} to {self.format_value(new)}")
78
+ def _print_change(self, name, old, new, scope="Global"):
79
+ timestamp = f"[{datetime.datetime.now().strftime('%H:%M:%S.%f')[:-3]}] " if _Config.SHOW_TIMESTAMPS else ""
80
+ print(f"{timestamp}{scope} '{name}' changed from {self._format_value(old)} to {self._format_value(new)}")
88
81
 
89
82
  def _should_track(self, name):
90
- return not (name.startswith('_') and name not in ('__name__', '__file__')) and name not in Config.EXCLUDED_NAMES
83
+ return not (name.startswith('_') and name not in ('__name__', '__file__')) and name not in _Config.EXCLUDED_NAMES
91
84
 
92
- def start_tracking(self, module_name):
85
+ def _start_tracking(self, module_name):
93
86
  if self.active: return
94
87
  module = sys.modules[module_name]
95
88
  self.global_vars = {name: value for name, value in module.__dict__.items() if self._should_track(name)}
96
- sys.settrace(track_frame)
89
+ sys.settrace(_track_frame)
97
90
  self.active = True
98
91
  print(f"Variable tracking started at {datetime.datetime.now().strftime('%H:%M:%S.%f')[:-3]}")
99
92
 
100
- def stop_tracking(self):
93
+ def _stop_tracking(self):
101
94
  if not self.active: return
102
95
  sys.settrace(None)
103
96
  self.frame_locals.clear()
@@ -105,67 +98,46 @@ class VariableTracker:
105
98
  self.active = False
106
99
  print(f"Variable tracking stopped at {datetime.datetime.now().strftime('%H:%M:%S.%f')[:-3]}")
107
100
 
108
-
109
- # ==========================================================================
110
- # TRACE FUNCTION
111
- # ==========================================================================
112
-
113
- def track_frame(frame, event, arg):
114
- tracker = VariableTracker.get_instance()
115
- if not tracker.active or event != 'line': return track_frame
101
+ def _track_frame(frame, event, arg):
102
+ tracker = _VariableTracker._get_instance()
103
+ if not tracker.active or event != 'line': return _track_frame
116
104
  scope = "Global" if frame.f_code.co_name == '<module>' else f"Local in '{frame.f_code.co_name}'"
117
105
  current_vars = {name: value for name, value in (frame.f_locals if scope != "Global" else frame.f_globals).items() if tracker._should_track(name)}
118
106
 
119
107
  if scope == "Global":
120
108
  for name, value in current_vars.items():
121
109
  if name not in tracker.global_vars:
122
- tracker.print_change(name, None, value, scope)
110
+ tracker._print_change(name, None, value, scope)
123
111
  elif tracker.global_vars[name] != value:
124
- tracker.print_change(name, tracker.global_vars[name], value, scope)
112
+ tracker._print_change(name, tracker.global_vars[name], value, scope)
125
113
  tracker.global_vars.update(current_vars)
126
114
  else:
127
115
  frame_id = id(frame)
128
116
  if frame_id not in tracker.frame_locals:
129
117
  for name, value in current_vars.items():
130
- tracker.print_change(name, None, value, scope)
118
+ tracker._print_change(name, None, value, scope)
131
119
  else:
132
120
  for name, value in current_vars.items():
133
121
  if name not in tracker.frame_locals[frame_id]:
134
- tracker.print_change(name, None, value, scope)
122
+ tracker._print_change(name, None, value, scope)
135
123
  elif tracker.frame_locals[frame_id][name] != value:
136
- tracker.print_change(name, tracker.frame_locals[frame_id][name], value, scope)
124
+ tracker._print_change(name, tracker.frame_locals[frame_id][name], value, scope)
137
125
  tracker.frame_locals[frame_id] = current_vars
138
126
  if event == 'return' and scope != "Global": del tracker.frame_locals[id(frame)]
139
- return track_frame
140
-
141
-
142
- # ==========================================================================
143
- # PUBLIC API
144
- # ==========================================================================
145
-
146
- debug_mode = False # Global variable to track if debugging is enabled
147
-
148
-
149
- def track_variables():
150
- caller_frame = inspect.currentframe().f_back
151
- module_name = caller_frame.f_globals['__name__']
152
- tracker = VariableTracker.get_instance()
153
- tracker.start_tracking(module_name)
154
- caller_frame.f_trace = track_frame
155
-
156
-
157
- def stop_tracking():
158
- VariableTracker.get_instance().stop_tracking()
159
-
127
+ return _track_frame
160
128
 
161
129
  def debug():
162
130
  global debug_mode
163
131
  if not debug_mode:
164
132
  debug_mode = True
165
- track_variables()
133
+ caller_frame = inspect.currentframe().f_back
134
+ module_name = caller_frame.f_globals['__name__']
135
+ tracker = _VariableTracker._get_instance()
136
+ tracker._start_tracking(module_name)
137
+ caller_frame.f_trace = _track_frame
166
138
  else:
167
139
  debug_mode = False
168
- stop_tracking()
140
+ _VariableTracker._get_instance()._stop_tracking()
169
141
 
170
142
  def pp(msg='caca', subdir=None, pps=3):
171
143
  import os, subprocess
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: kenenet
3
- Version: 0.5.7
3
+ Version: 0.5.9
4
4
  Summary: dude what the fuck even is this package
5
5
  Home-page: https://www.youtube.com/@KiddyKene
6
6
  Author: kiddykene
@@ -0,0 +1,5 @@
1
+ kenenet/__init__.py,sha256=6n3xWsFNz0VvjmrfTb-Jk477KCyN8ecla8f32gcUr2U,8306
2
+ kenenet-0.5.9.dist-info/METADATA,sha256=OK5Fwap_emuyXNCsD97-NHfqsLPQRR1okYo9v1P2YnY,633
3
+ kenenet-0.5.9.dist-info/WHEEL,sha256=tZoeGjtWxWRfdplE7E3d45VPlLNQnvbKiYnx7gwAy8A,92
4
+ kenenet-0.5.9.dist-info/top_level.txt,sha256=gUsWXLrM0jF4b4nbYJZdksdFewIx_F3xOF-zER8fMuQ,8
5
+ kenenet-0.5.9.dist-info/RECORD,,
@@ -1,5 +0,0 @@
1
- kenenet/__init__.py,sha256=ADgTAhQmBqHkgnGJ-FanKu7RVAW2f5nwST-C5KCvygs,8981
2
- kenenet-0.5.7.dist-info/METADATA,sha256=yxh3maVucwATfjITkSJ6CVUVpep1ulmjlzKAswrsygE,633
3
- kenenet-0.5.7.dist-info/WHEEL,sha256=tZoeGjtWxWRfdplE7E3d45VPlLNQnvbKiYnx7gwAy8A,92
4
- kenenet-0.5.7.dist-info/top_level.txt,sha256=gUsWXLrM0jF4b4nbYJZdksdFewIx_F3xOF-zER8fMuQ,8
5
- kenenet-0.5.7.dist-info/RECORD,,