kenenet 1.0.6__py3-none-any.whl → 1.0.8__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
@@ -40,7 +40,7 @@ def get_pos(key='f10', kill=False):
40
40
  if kill:
41
41
  quick_print('killing process')
42
42
  zhmiscellany.misc.die()
43
- quick_print(f'Press {key} when ever you want the location')
43
+ quick_print(f'Press {key} when ever you want the location, automatically copies coords/rgb to clipboard')
44
44
  frame = inspect.currentframe().f_back
45
45
  lineno = frame.f_lineno
46
46
  _get_pos(key, kill)
@@ -51,9 +51,9 @@ def timer(clock=1):
51
51
  frame = inspect.currentframe().f_back
52
52
  lineno = frame.f_lineno
53
53
  if clock == 1:
54
- quick_print(f'Timer took \033[97m{elapsed}\033[0m seconds', f'{lineno}-{timings[clock][1]}')
54
+ quick_print(f'Timer took \033[97m{elapsed}\033[0m seconds', f'{timings[clock][1]}-{lineno}')
55
55
  else:
56
- quick_print(f'Timer {clock} took \033[97m{elapsed}\033[0m seconds', f'{lineno}-{timings[clock][1]}')
56
+ quick_print(f'Timer {clock} took \033[97m{elapsed}\033[0m seconds', f'{timings[clock][1]}-{lineno}')
57
57
  del timings[clock]
58
58
  return elapsed
59
59
  else:
@@ -286,7 +286,7 @@ _block_timings = defaultdict(float)
286
286
  _current_context = None
287
287
  _line_start_time = None
288
288
  _stack = []
289
- _ignore_line = {'frame = inspect.currentframe().f_back', 'filename = frame.f_code.co_filename', 'if _current_context is None:', 'sys.settrace(None)', 'Function: currentframe', 'return sys._getframe(1) if hasattr(sys, "_getframe") else None', ' Function: recurser', 'Function: <listcomp>', 'Function: here', 'Function: _array_repr_implementation', 'Function: wrapper', 'Function: array2string', 'Function: _array2string', 'Function: _formatArray', 'Function: _extendLine_pretty', 'Function: _extendLine', 'Function: __call__', 'Function: _var', 'Function: _std', 'Function: std', 'Function: _leading_trailing', 'Function: __init__'}
289
+ _ignore_line = {'frame = inspect.currentframe().f_back', 'filename = frame.f_code.co_filename', 'if _current_context is None:', 'sys.settrace(None)', 'Function: currentframe', 'return sys._getframe(1) if hasattr(sys, "_getframe") else None'}
290
290
  _seen_lines = set() # Track lines we've already processed
291
291
  _current_function = None
292
292
  _function_lines = defaultdict(set) # Track which lines belong to which function
@@ -359,15 +359,12 @@ def time_code(label=None):
359
359
  _seen_lines.clear() # Reset seen lines
360
360
  _function_lines.clear() # Reset function lines mapping
361
361
 
362
- # Define the trace function
363
362
  def trace_function(frame, event, arg):
364
363
  global _line_start_time, _stack, _seen_lines, _current_function, _function_lines
365
364
 
366
- # Skip tracking for package code
367
365
  if _is_package_code(frame.f_code.co_filename):
368
366
  return trace_function
369
367
 
370
- # Track function calls and returns
371
368
  if event == 'call':
372
369
  func_name = frame.f_code.co_name
373
370
 
@@ -384,12 +381,10 @@ def time_code(label=None):
384
381
  if _stack:
385
382
  func_name, start_time = _stack.pop()
386
383
 
387
- # Skip recording generated constructs
388
384
  if not _is_generated_construct(func_name):
389
385
  elapsed = time.time() - start_time
390
386
  _block_timings[f"Function: {func_name}"] += elapsed
391
387
 
392
- # Reset current function if we're returning from it
393
388
  if _current_function == func_name and _stack:
394
389
  _current_function = _stack[-1][0]
395
390
  elif not _stack:
@@ -397,37 +392,28 @@ def time_code(label=None):
397
392
  return None
398
393
 
399
394
  elif event == 'line':
400
- # Get current line information
401
395
  lineno = frame.f_lineno
402
396
  line_content = linecache.getline(frame.f_code.co_filename, lineno).strip()
403
397
  line_id = f"{lineno}:{line_content}"
404
398
 
405
- # Skip empty lines or comments
406
399
  if not line_content or line_content.startswith('#'):
407
400
  return trace_function
408
401
 
409
- # Check if we should stop tracing
410
402
  if "time_code" in line_content and _current_context is not None:
411
- # This might be the ending call, let's continue execution
412
403
  return trace_function
413
404
 
414
- # Skip recording if we're in a generated construct
415
405
  if _current_function and _is_generated_construct(_current_function):
416
406
  return trace_function
417
407
 
418
- # Record elapsed time since last line
419
408
  current_time = time.time()
420
409
  if _line_start_time is not None:
421
410
  elapsed = current_time - _line_start_time
422
411
 
423
- # Track relationship between current function and lines
424
412
  if _current_function:
425
413
  _function_lines[_current_function].add(line_id)
426
414
 
427
- # For timing, we always record all executions to get accurate timing
428
415
  _timings[_current_context].append((lineno, line_content, elapsed, line_id in _seen_lines))
429
416
 
430
- # For loop timings, first check if it's a loop
431
417
  if re.match(r'\s*(for|while)\s+', line_content):
432
418
  loop_id = f"Loop at line {lineno}: {line_content[:40]}{'...' if len(line_content) > 40 else ''}"
433
419
  _block_timings[loop_id] += elapsed
@@ -435,12 +421,10 @@ def time_code(label=None):
435
421
  # Mark this line as seen
436
422
  _seen_lines.add(line_id)
437
423
 
438
- # Set new start time for next line
439
424
  _line_start_time = current_time
440
425
 
441
426
  return trace_function
442
427
 
443
- # Start tracing
444
428
  sys.settrace(trace_function)
445
429
 
446
430
  else:
@@ -453,7 +437,6 @@ def time_code(label=None):
453
437
  quick_print(f"No times recorded: {context}")
454
438
  return
455
439
 
456
- # Process timings to aggregate by line but only show first occurrence
457
440
  aggregated_timings = defaultdict(float)
458
441
  first_occurrences = {}
459
442
 
@@ -461,18 +444,15 @@ def time_code(label=None):
461
444
  line_id = f"{lineno}:{line_content}"
462
445
  aggregated_timings[line_id] += elapsed
463
446
 
464
- # Store the first occurrence information
465
447
  if line_id not in first_occurrences:
466
448
  first_occurrences[line_id] = (lineno, line_content, elapsed)
467
449
 
468
- # Create sorted list of first occurrences with total time
469
450
  display_timings = [
470
451
  (lineno, line_content, aggregated_timings[f"{lineno}:{line_content}"])
471
452
  for lineno, line_content, _ in first_occurrences.values()
472
453
  if line_content not in _ignore_line
473
454
  ]
474
455
 
475
- # Sort by elapsed time (descending)
476
456
  sorted_timings = sorted(display_timings, key=lambda x: x[2], reverse=True)
477
457
 
478
458
  quick_print(f"\nTime spent on each line: {context}")
@@ -493,11 +473,9 @@ def time_code(label=None):
493
473
  quick_print(f"{'Chunks':^40} | {'Time':>12} | {'% of Time Spent':>10}")
494
474
  quick_print("-" * 80)
495
475
 
496
- # Sort block timings by time
497
476
  sorted_blocks = sorted(_block_timings.items(), key=lambda x: x[1], reverse=True)
498
477
 
499
478
  for block, elapsed in sorted_blocks:
500
- # Filter out generated constructs and ignored lines
501
479
  if (not any(ignore in block for ignore in _ignore_line) and
502
480
  not any(pattern in block for pattern in _ignore_function_patterns)):
503
481
  percentage = (elapsed / total_time) * 100 if total_time > 0 else 0
@@ -505,7 +483,6 @@ def time_code(label=None):
505
483
 
506
484
  quick_print("-" * 80)
507
485
 
508
- # Clear the timing data for this context
509
486
  del _timings[context]
510
487
  _block_timings.clear()
511
488
  _seen_lines.clear()
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: kenenet
3
- Version: 1.0.6
3
+ Version: 1.0.8
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=oC4cUSYUIAFkI15eYO98XTFtFWM8-t_2h0mQc4ueG7c,20122
2
+ kenenet-1.0.8.dist-info/METADATA,sha256=V5C3p7SASz7s7tb9KCyAkwe9b7mUgyqHNVkzPmMDRnM,1693
3
+ kenenet-1.0.8.dist-info/WHEEL,sha256=tZoeGjtWxWRfdplE7E3d45VPlLNQnvbKiYnx7gwAy8A,92
4
+ kenenet-1.0.8.dist-info/top_level.txt,sha256=gUsWXLrM0jF4b4nbYJZdksdFewIx_F3xOF-zER8fMuQ,8
5
+ kenenet-1.0.8.dist-info/RECORD,,
@@ -1,5 +0,0 @@
1
- kenenet/__init__.py,sha256=9-wRVH9wkUX6ivZSU5qp1bmW3zLQ5uzOOs9Fz-wiwhM,21796
2
- kenenet-1.0.6.dist-info/METADATA,sha256=eAlg0SPPCd5loqaHciquo2WsrHeoJSwlOVOFO0M7e0Y,1693
3
- kenenet-1.0.6.dist-info/WHEEL,sha256=tZoeGjtWxWRfdplE7E3d45VPlLNQnvbKiYnx7gwAy8A,92
4
- kenenet-1.0.6.dist-info/top_level.txt,sha256=gUsWXLrM0jF4b4nbYJZdksdFewIx_F3xOF-zER8fMuQ,8
5
- kenenet-1.0.6.dist-info/RECORD,,