ka-uts-com 2.1.1.250415__py3-none-any.whl → 2.2.2.250430__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.
ka_uts_com/__version__.py CHANGED
@@ -1,10 +1,10 @@
1
1
  __title__ = 'ka_uts_com'
2
2
  __description__ = 'Communication Utilities.'
3
3
  __url__ = 'https://ka-ut-com.readthedocs.io/en/latest'
4
- __version__ = '2.1.1.250415'
4
+ __version__ = '2.2.2.250430'
5
5
  __build__ = 0x022200
6
6
  __author__ = 'Bernd Stroehle'
7
7
  __author_email__ = 'bernd.stroehle@gmail.com'
8
8
  __license__ = 'Apache-2.0'
9
- __copyright__ = 'Copyright 2024 Bernd Stroehle'
9
+ __copyright__ = 'Copyright 2025 Bernd Stroehle'
10
10
  __cake__ = u'\u2728 \U0001f370 \u2728'
ka_uts_com/app.py CHANGED
@@ -1,8 +1,7 @@
1
1
  # coding=utf-8
2
2
  from typing import Any
3
3
 
4
- from logging import Logger
5
-
4
+ from ka_uts_log.log import Log
6
5
  from ka_uts_uts.utils.pacmod import PacMod
7
6
  from ka_uts_uts.ioc.yaml_ import Yaml_
8
7
 
@@ -10,7 +9,6 @@ TyAny = Any
10
9
  TyArr = list[Any]
11
10
  TyBool = bool
12
11
  TyDic = dict[Any, Any]
13
- TyLogger = Logger
14
12
 
15
13
  TnAny = None | Any
16
14
  TnArr = None | TyArr
@@ -37,9 +35,9 @@ class App:
37
35
  cls.sw_replace_keys = kwargs.get('sw_replace_keys', False)
38
36
  if cls.sw_replace_keys:
39
37
  try:
40
- cls.keys = Yaml_.read(PacMod.sh_path_keys(cls_com), cls_com.Log)
38
+ cls.keys = Yaml_.read_with_safeloader(PacMod.sh_path_keys(cls_com))
41
39
  except Exception as exc:
42
- cls_com.Log.error(exc, exc_info=True)
40
+ Log.error(exc, exc_info=True)
43
41
  raise
44
42
 
45
43
  @classmethod
ka_uts_com/cfg.py CHANGED
@@ -1,8 +1,6 @@
1
1
  # coding=utf-8
2
2
  from typing import Any
3
3
 
4
- from logging import Logger
5
-
6
4
  from ka_uts_uts.ioc.yaml_ import Yaml_
7
5
 
8
6
  TyAny = Any
@@ -10,7 +8,6 @@ TyTimeStamp = int
10
8
  TyArr = list[Any]
11
9
  TyBool = bool
12
10
  TyDic = dict[Any, Any]
13
- TyLogger = Logger
14
11
 
15
12
 
16
13
  class Cfg:
@@ -26,7 +23,7 @@ class Cfg:
26
23
  cls.sw_init = True
27
24
  _path = cls_com.sh_path_cfg_yaml()
28
25
  if _path:
29
- cls.cfg = Yaml_.read(_path, cls_com.Log)
26
+ cls.cfg = Yaml_.read_with_safeloader(_path)
30
27
 
31
28
  @classmethod
32
29
  def sh(cls, cls_com, **kwargs) -> Any:
ka_uts_com/com.py CHANGED
@@ -6,8 +6,7 @@ import time
6
6
  import calendar
7
7
  from datetime import datetime
8
8
 
9
- # from ka_uts_uts.utils.aoeqstmt import AoEqStmt
10
- from ka_uts_arr.aoeqstmt import AoEqStmt
9
+ from ka_uts_equ.equ import AoEqu
11
10
  from ka_uts_uts.utils.pac import Pac
12
11
  from ka_uts_uts.utils.pacmod import PacMod
13
12
 
@@ -60,17 +59,19 @@ class Com:
60
59
  Exit: Any = None
61
60
 
62
61
  @classmethod
63
- def init(cls, cls_app, kwargs: TyDic):
62
+ def init(cls, kwargs: TyDic):
63
+ # def init(cls, cls_app, kwargs: TyDic):
64
64
  """
65
65
  initialise static variables of Com class
66
66
  """
67
67
  if cls.sw_init:
68
68
  return
69
69
  cls.sw_init = True
70
- cls.dir_dat = kwargs.get('dir_dat', '/data')
70
+ # cls.dir_dat = kwargs.get('dir_dat', '/data')
71
71
  cls.tenant = kwargs.get('tenant')
72
- cls.log_type = kwargs.get('log_type', 'std')
72
+ # cls.log_type = kwargs.get('log_type', 'std')
73
73
  cls.cmd = kwargs.get('cmd')
74
+ cls_app = kwargs.get('cls_app')
74
75
  cls.d_com_pacmod = PacMod.sh_d_pacmod(cls)
75
76
  cls.d_app_pacmod = PacMod.sh_d_pacmod(cls_app)
76
77
  cls.ts = calendar.timegm(time.gmtime())
@@ -78,7 +79,7 @@ class Com:
78
79
 
79
80
  cls.path_bin = cls.sh_path_bin()
80
81
 
81
- cls.Log = Log.sh(cls_app, **kwargs)
82
+ cls.Log = Log.sh(**kwargs)
82
83
  cls.Cfg = Cfg.sh(cls, **kwargs)
83
84
  cls.App = App.sh(cls, **kwargs)
84
85
  cls.Exit = Exit.sh(**kwargs)
@@ -88,9 +89,11 @@ class Com:
88
89
  """
89
90
  show keyword arguments
90
91
  """
91
- _kwargs: TyDic = AoEqStmt.sh_d_eq(*args, d_parms=d_parms)
92
- cls.init(cls_app, _kwargs)
92
+ _kwargs: TyDic = AoEqu.sh_d_eq(*args, d_parms=d_parms)
93
+ _kwargs['cls_app'] = cls_app
93
94
  _kwargs['com'] = cls
95
+
96
+ cls.init(_kwargs)
94
97
  return _kwargs
95
98
 
96
99
  @classmethod
@@ -98,24 +101,24 @@ class Com:
98
101
  """
99
102
  show path to bin directory in package
100
103
  """
101
- package = cls.d_app_pacmod['package']
102
- path = "bin"
103
- return Pac.sh_path_by_package(package, path)
104
+ _package = cls.d_app_pacmod['package']
105
+ _path = 'bin'
106
+ return Pac.sh_path_by_package(_package, _path)
104
107
 
105
108
  @classmethod
106
109
  def sh_path_data(cls) -> Any:
107
110
  """
108
111
  show path to data directory in package
109
112
  """
110
- package = cls.d_app_pacmod['package']
111
- path = "data"
112
- return Pac.sh_path_by_package(package, path)
113
+ _package = cls.d_app_pacmod['package']
114
+ _path = 'data'
115
+ return Pac.sh_path_by_package(_package, _path)
113
116
 
114
117
  @classmethod
115
118
  def sh_path_cfg_yaml(cls) -> Any:
116
119
  """
117
120
  show path to configuration yaml-file in data directory of package
118
121
  """
119
- package = cls.d_app_pacmod['package']
120
- path = os.path.join('data', 'cfg.yml')
121
- return Pac.sh_path_by_package(package, path)
122
+ _package = cls.d_app_pacmod['package']
123
+ _path = os.path.join('data', 'cfg.yml')
124
+ return Pac.sh_path_by_package(_package, _path)
@@ -1,7 +1,7 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: ka_uts_com
3
- Version: 2.1.1.250415
4
- Summary: Communication Class Utilities
3
+ Version: 2.2.2.250430
4
+ Summary: Communication and CLIs Utilities
5
5
  Author-email: Bernd Stroehle <bernd.stroehle@gmail.com>
6
6
  Maintainer-email: Bernd Stroehle <bernd.stroehle@gmail.com>
7
7
  License-Expression: GPL-3.0-only WITH Classpath-exception-2.0 OR BSD-3-Clause
@@ -17,11 +17,9 @@ Classifier: Topic :: Software Development :: Libraries :: Python Modules
17
17
  Requires-Python: >=3.10
18
18
  Description-Content-Type: text/x-rst
19
19
  License-File: LICENSE.txt
20
- Requires-Dist: Jinja2>=3.1.6
21
- Requires-Dist: orjson>=3.10.16
22
- Requires-Dist: psutil>=7.0.0
23
- Requires-Dist: PyYAML>=6.0.2
24
- Requires-Dist: simplejson>=3.20.1
20
+ Requires-Dist: ka_uts_equ>=2.2.0.250427
21
+ Requires-Dist: ka_uts_log>=2.2.0.250427
22
+ Requires-Dist: ka_uts_uts>=2.2.1.250429
25
23
  Dynamic: license-file
26
24
 
27
25
  ##########
@@ -64,13 +62,20 @@ Package files
64
62
  Classification
65
63
  ==============
66
64
 
67
- The Files of Package ``ka_uts_com`` could be classified into the follwing file types:
65
+ The Package ``ka_uts_uts`` consist of Files with the following file types (c.f.: **Appendix**):
68
66
 
69
- #. *Special files*
70
- #. *Dunder modules*
71
- #. *Decorator modules*
72
- #. *Package modules*
73
- #. *Data files*
67
+ #. **Special files** (*Appendix: Special python package files*)
68
+
69
+ #. **Dunder modules** (*Appendix: Special python package modules*)
70
+
71
+ #. **Decorator modules**
72
+
73
+ a. *dec.py*
74
+
75
+ #. **Modules**
76
+
77
+ a. *com.py*
78
+ #. *timer.py*
74
79
 
75
80
  Decorator Modules
76
81
  *****************
@@ -652,25 +657,33 @@ Application parameter for logging
652
657
  .. Application-parameter-used-in-log-naming-label:
653
658
  .. table:: *Application parameter used in log naming*
654
659
 
655
- +-----------------+---------------------------+----------+------------+
656
- |Name |Decription |Values |Example |
657
- +=================+===========================+==========+============+
658
- |dir_dat |Application data directory | |/otev/data |
659
- +-----------------+---------------------------+----------+------------+
660
- |tenant |Application tenant name | |UMH |
661
- +-----------------+---------------------------+----------+------------+
662
- |package |Application package name | |otev_xls_srr|
663
- +-----------------+---------------------------+----------+------------+
664
- |cmd |Application command | |evupreg |
665
- +-----------------+---------------------------+----------+------------+
666
- |pid |Process ID |evupreg |
667
- +-----------------+---------------------------+----------+------------+
668
- |log_ts_type |Timestamp type used in |ts, |ts |
669
- | |logging files|ts, dt |dt | |
670
- +-----------------+---------------------------+----------+------------+
671
- |log_sw_single_dir|Enable single log directory|True, |True |
672
- | |or multiple log directories|False | |
673
- +-----------------+---------------------------+----------+------------+
660
+ +-----------------+--------------------------+-----------------+------------+
661
+ |Name |Decription |Values |Example |
662
+ | | +-----------------+ |
663
+ | | |Value|Type | |
664
+ +=================+==========================+=====+===========+============+
665
+ |dir_dat |Application data directory| |Path |/otev/data |
666
+ +-----------------+--------------------------+-----+-----------+------------+
667
+ |tenant |Application tenant name | |str |UMH |
668
+ +-----------------+--------------------------+-----+-----------+------------+
669
+ |package |Application package name | |str |otev_xls_srr|
670
+ +-----------------+--------------------------+-----+-----------+------------+
671
+ |cmd |Application command | |str |evupreg |
672
+ +-----------------+--------------------------+-----+-----------+------------+
673
+ |pid |Process ID | |str |evupreg |
674
+ +-----------------+--------------------------+-----+-----------+------------+
675
+ |log_ts_type |Timestamp type used in |ts |Timestamp |ts |
676
+ | |loggin files +-----+-----------+------------+
677
+ | | |dt |Datetime | |
678
+ +-----------------+--------------------------+-----+-----------+------------+
679
+ |log_sw_single_dir|Enable single log |True |Bool |True |
680
+ | |directory or multiple +-----+-----------+ |
681
+ | |log directories |False|Bool | |
682
+ +-----------------+--------------------------+-----+-----------+------------+
683
+ |log_sw_pid |Enable display of pid |True |Bool |True |
684
+ | |in log file name +-----+-----------+ |
685
+ | | |False|Bool | |
686
+ +-----------------+--------------------------+-----+-----------+------------+
674
687
 
675
688
  Log type and Log directories
676
689
  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
@@ -719,25 +732,35 @@ Conventions
719
732
  |critical|/<dir_dat>/<tenant>/RUN/<package>/<cmd>/<Log directory>|<Log type>_<ts>_<pid>.log|
720
733
  +--------+-------------------------------------------------------+-------------------------+
721
734
 
722
- Examples
723
- """"""""
735
+ Examples (with log_ts_type = 'ts')
736
+ """"""""""""""""""""""""""""""""""
737
+
738
+ The examples use the following parameter values.
739
+
740
+ #. dir_dat = '/data/otev'
741
+ #. tenant = 'UMH'
742
+ #. package = 'otev_srr'
743
+ #. cmd = 'evupreg'
744
+ #. log_sw_single_dir = True
745
+ #. log_sw_pid = True
746
+ #. log_ts_type = 'ts'
724
747
 
725
748
  .. Naming-examples-for-logging-file-paths-label:
726
749
  .. table:: *Naming examples for logging file paths*
727
750
 
728
- +--------+--------------------------------------------+------------------------+
729
- |Type |Directory |File |
730
- +========+============================================+========================+
731
- |debug |/data/otev/umh/RUN/otev_xls_srr/evupreg/logs|debs_1737118199_9470.log|
732
- +--------+--------------------------------------------+------------------------+
733
- |info |/data/otev/umh/RUN/otev_xls_srr/evupreg/logs|infs_1737118199_9470.log|
734
- +--------+--------------------------------------------+------------------------+
735
- |warning |/data/otev/umh/RUN/otev_xls_srr/evupreg/logs|wrns_1737118199_9470.log|
736
- +--------+--------------------------------------------+------------------------+
737
- |error |/data/otev/umh/RUN/otev_xls_srr/evupreg/logs|errs_1737118199_9470.log|
738
- +--------+--------------------------------------------+------------------------+
739
- |critical|/data/otev/umh/RUN/otev_xls_srr/evupreg/logs|crts_1737118199_9470.log|
740
- +--------+--------------------------------------------+------------------------+
751
+ +--------+----------------------------------------+------------------------+
752
+ |Type |Directory |File |
753
+ +========+========================================+========================+
754
+ |debug |/data/otev/umh/RUN/otev_srr/evupreg/logs|debs_1737118199_9470.log|
755
+ +--------+----------------------------------------+------------------------+
756
+ |info |/data/otev/umh/RUN/otev_srr/evupreg/logs|infs_1737118199_9470.log|
757
+ +--------+----------------------------------------+------------------------+
758
+ |warning |/data/otev/umh/RUN/otev_srr/evupreg/logs|wrns_1737118199_9470.log|
759
+ +--------+----------------------------------------+------------------------+
760
+ |error |/data/otev/umh/RUN/otev_srr/evupreg/logs|errs_1737118199_9470.log|
761
+ +--------+----------------------------------------+------------------------+
762
+ |critical|/data/otev/umh/RUN/otev_srr/evupreg/logs|crts_1737118199_9470.log|
763
+ +--------+----------------------------------------+------------------------+
741
764
 
742
765
  Python Terminology
743
766
  ==================
@@ -751,15 +774,15 @@ Overview
751
774
  .. Python package-label:
752
775
  .. table:: *Python package*
753
776
 
754
- +--------------+-----------------------------------------------------------------+
755
- |Name |Definition |
756
- +==============+==========+======================================================+
757
- |Python package|Python packages are directories that contains the special module |
758
- | |``__init__.py`` and other modules, packages files or directories.|
759
- +--------------+-----------------------------------------------------------------+
760
- |Python |Python sub-packages are python packages which are contained in |
761
- |sub-package |another pyhon package. |
762
- +--------------+-----------------------------------------------------------------+
777
+ +-----------+-----------------------------------------------------------------+
778
+ |Name |Definition |
779
+ +===========+==========+======================================================+
780
+ |Python |Python packages are directories that contains the special module |
781
+ |package |``__init__.py`` and other modules, packages files or directories.|
782
+ +-----------+-----------------------------------------------------------------+
783
+ |Python |Python sub-packages are python packages which are contained in |
784
+ |sub-package|another pyhon package. |
785
+ +-----------+-----------------------------------------------------------------+
763
786
 
764
787
  Python package sub-directories
765
788
  ------------------------------
@@ -770,16 +793,15 @@ Overview
770
793
  .. Python package sub-direcories-label:
771
794
  .. table:: *Python package sub-directories*
772
795
 
773
- +--------------+-----------------------------------------+
774
- |Name |Definition |
775
- +==============+==========+==============================+
776
- |Python package|Python packages sub-directories are |
777
- |sub-directory |directories contained in python packages.|
778
- +--------------+-----------------------------------------+
779
- |Special Python|Special Python package sub-directories |
780
- |package |are python package sub-directories with |
781
- |sub-directory |with a special meaning |
782
- +--------------+-----------------------------------------+
796
+ +---------------------+----------------------------------------+
797
+ |Name |Definition |
798
+ +=====================+========================================+
799
+ |Python |directory contained in a python package.|
800
+ |package sub-directory| |
801
+ +---------------------+----------------------------------------+
802
+ |Special python |Python package sub-directories with a |
803
+ |package sub-directory|special meaning like data or cfg. |
804
+ +---------------------+----------------------------------------+
783
805
 
784
806
  Special python package sub-directories
785
807
  --------------------------------------
@@ -807,21 +829,21 @@ Overview
807
829
  .. Python-package-files-label:
808
830
  .. table:: *Python package files*
809
831
 
810
- +--------------+--------------------------------------------------------------------+
811
- |Name |Definition |
812
- +==============+==========+=========================================================+
813
- |Python |Python packages are files within a python package. |
814
- |package files | |
815
- +--------------+--------------------------------------------------------------------+
816
- |Special python|Special python package files are package files which are not modules|
817
- |package files |and used as python marker files like ``__init__.py`` |
818
- +--------------+--------------------------------------------------------------------+
819
- |Python package|Python modules are files with suffix ``.py``; they could be empty or|
820
- |module |contain python code; other modules can be imported into a module. |
821
- +--------------+--------------------------------------------------------------------+
822
- |Special python|Special python modules like ``__init__.py`` or ``main.py`` are |
823
- |package module|python modules with special names and functionality. |
824
- +--------------+--------------------------------------------------------------------+
832
+ +--------------+---------------------------------------------------------+
833
+ |Name |Definition |
834
+ +==============+==========+==============================================+
835
+ |Python |File within a python package. |
836
+ |package file | |
837
+ +--------------+---------------------------------------------------------+
838
+ |Special python|Python package file which are not modules and used as |
839
+ |package file |python marker files like ``__init__.py``. |
840
+ +--------------+---------------------------------------------------------+
841
+ |Python |File with suffix ``.py`` which could be empty or contain |
842
+ |package module|python code; Other modules can be imported into a module.|
843
+ +--------------+---------------------------------------------------------+
844
+ |Special python|Python package module with special name and functionality|
845
+ |package module|like ``main.py`` or ``__init__.py``. |
846
+ +--------------+---------------------------------------------------------+
825
847
 
826
848
  Special python package files
827
849
  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
@@ -875,17 +897,21 @@ Overview
875
897
  .. Python elements-label:
876
898
  .. table:: *Python elements*
877
899
 
878
- +-------------+--------------------------------------------------------------+
879
- |Python method|Python methods are python functions defined in python modules.|
880
- +-------------+--------------------------------------------------------------+
881
- |Special |Special python methods are python functions with special names|
882
- |python method|and functionalities. |
883
- +-------------+--------------------------------------------------------------+
884
- |Python class |Python classes are defined in python modules. |
885
- +-------------+--------------------------------------------------------------+
886
- |Python class |Python class methods are python methods defined python |
887
- |method |classes. |
888
- +-------------+--------------------------------------------------------------+
900
+ +-------------------+---------------------------------------------+
901
+ |Name |Definition |
902
+ +===================+=============================================+
903
+ |Python method |Function defined in a python module. |
904
+ +-------------------+---------------------------------------------+
905
+ |Special |Python method with special name and |
906
+ |python method |functionality like ``init``. |
907
+ +-------------------+---------------------------------------------+
908
+ |Python class |Python classes are defined in python modules.|
909
+ +-------------------+---------------------------------------------+
910
+ |Python class method|Python method defined in a python class. |
911
+ +-------------------+---------------------------------------------+
912
+ |Special |Python class method with special name and |
913
+ |Python class method|functionality like ``init``. |
914
+ +-------------------+---------------------------------------------+
889
915
 
890
916
  Special python methods
891
917
  ^^^^^^^^^^^^^^^^^^^^^^
@@ -0,0 +1,14 @@
1
+ ka_uts_com/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
2
+ ka_uts_com/__version__.py,sha256=2rDHmi9PKXVhwxm4yZoSJwJIorzaxh6L2hqGcCyiaR8,365
3
+ ka_uts_com/app.py,sha256=3ns3q-nmPArmKEwitIp4xHR5cEl5tU-Q6QM1NHkM9Wc,1147
4
+ ka_uts_com/cfg.py,sha256=RQoOwiPRyElO40lu7GqXDcOV-G0Sx_9i09sxkZVK6mI,678
5
+ ka_uts_com/com.py,sha256=NjnsDZSX8jvvc2tbSa0LhER8VoBfUsC9euCbY7EyIQQ,3080
6
+ ka_uts_com/exit.py,sha256=RIpFKwEGeBCBBPPQXIcLsrYeNY2dTF8BDlESe6UhdMo,791
7
+ ka_uts_com/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
8
+ ka_uts_com/timer.py,sha256=hSNDh5qV6stSRLLEv-G_eMRoglsOU9N2HvRPUQ-s7yU,2153
9
+ ka_uts_com/decorators/dec.py,sha256=NHerkpjOYpJXz2CIh9HlN3_YCyLv-SbyQL4ldyGUSpM,217
10
+ ka_uts_com-2.2.2.250430.dist-info/licenses/LICENSE.txt,sha256=BiT3QGI_2iRbdvgS3HDig57lnXJVk60Pj4xM9eeCczI,814
11
+ ka_uts_com-2.2.2.250430.dist-info/METADATA,sha256=sUl26AccLjsjPELOclMTsJdQxiawFhh_FfDKOuS1G2I,32982
12
+ ka_uts_com-2.2.2.250430.dist-info/WHEEL,sha256=ooBFpIzZCPdw3uqIQsOo4qqbA4ZRPxHnOH7peeONza0,91
13
+ ka_uts_com-2.2.2.250430.dist-info/top_level.txt,sha256=cWCIrm1g6Jn-FbCQuB3wBrrNH1YwqVlc6mE0jV6vg74,21
14
+ ka_uts_com-2.2.2.250430.dist-info/RECORD,,
@@ -1,5 +1,5 @@
1
1
  Wheel-Version: 1.0
2
- Generator: setuptools (78.1.0)
2
+ Generator: setuptools (80.0.1)
3
3
  Root-Is-Purelib: true
4
4
  Tag: py3-none-any
5
5
 
@@ -1,14 +0,0 @@
1
- ka_uts_com/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
2
- ka_uts_com/__version__.py,sha256=Xl4-Q_1rFgGIeNNOQjoG9C9bX4YgjFerfGYQ-inehGo,365
3
- ka_uts_com/app.py,sha256=XGsbQGR_IihCUKJPB__M6CvBPzeoaGOh4Z-kmAR5tE0,1167
4
- ka_uts_com/cfg.py,sha256=xeg5UxdhYWWtr9qho8LDtZqrqVk3DI3d_HGOkCnmDKg,721
5
- ka_uts_com/com.py,sha256=eXC9P45H6kxqNbDn5lnPS6vL6yM-46grRCDL7oGCnI4,3024
6
- ka_uts_com/exit.py,sha256=RIpFKwEGeBCBBPPQXIcLsrYeNY2dTF8BDlESe6UhdMo,791
7
- ka_uts_com/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
8
- ka_uts_com/timer.py,sha256=hSNDh5qV6stSRLLEv-G_eMRoglsOU9N2HvRPUQ-s7yU,2153
9
- ka_uts_com/decorators/dec.py,sha256=NHerkpjOYpJXz2CIh9HlN3_YCyLv-SbyQL4ldyGUSpM,217
10
- ka_uts_com-2.1.1.250415.dist-info/licenses/LICENSE.txt,sha256=BiT3QGI_2iRbdvgS3HDig57lnXJVk60Pj4xM9eeCczI,814
11
- ka_uts_com-2.1.1.250415.dist-info/METADATA,sha256=PrhWtQiNwlPg7hTOqrvNsO7hqE0fNFALhP_f-xxrjcI,31944
12
- ka_uts_com-2.1.1.250415.dist-info/WHEEL,sha256=CmyFI0kx5cdEMTLiONQRbGQwjIoR1aIYB7eCAQ4KPJ0,91
13
- ka_uts_com-2.1.1.250415.dist-info/top_level.txt,sha256=cWCIrm1g6Jn-FbCQuB3wBrrNH1YwqVlc6mE0jV6vg74,21
14
- ka_uts_com-2.1.1.250415.dist-info/RECORD,,