modulitiz-micro 2.32.0__py311-none-any.whl → 2.34.0__py311-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.
@@ -15,6 +15,14 @@ class ModuloGit(object):
15
15
  def getRemoteRevision(self)->str:
16
16
  return self.inner.remotes[0].fetch()[0].ref.object.hexsha
17
17
 
18
+ @catchAndRaiseGitExceptions
19
+ def addFile(self,filenamePath:str):
20
+ self.inner.index.add(filenamePath)
21
+
22
+ @catchAndRaiseGitExceptions
23
+ def removeFile(self,filenamePath:str):
24
+ self.inner.index.remove(filenamePath,working_tree=True)
25
+
18
26
  @catchAndRaiseGitExceptions
19
27
  def update(self)->str:
20
28
  return self.inner.remotes[0].pull()[0].ref.object.hexsha
@@ -1,8 +1,8 @@
1
1
  import threading
2
2
 
3
3
  from modulitiz_micro.files.ModuloLogging import ModuloLogging
4
- from modulitiz_micro.multithreading.ModuloThreadLogger import ModuloThreadLogger
5
- from modulitiz_micro.multithreading.ModuloThreadWithCallbackError import ModuloThreadWithCallbackError
4
+ from modulitiz_micro.multithread.ModuloThreadLogger import ModuloThreadLogger
5
+ from modulitiz_micro.multithread.ModuloThreadWithCallbackError import ModuloThreadWithCallbackError
6
6
 
7
7
 
8
8
  class ModuloThread(object):
@@ -1,5 +1,5 @@
1
1
  from modulitiz_micro.files.ModuloLogging import ModuloLogging
2
- from modulitiz_micro.multithreading.ModuloThreadWithCallbackError import ModuloThreadWithCallbackError
2
+ from modulitiz_micro.multithread.ModuloThreadWithCallbackError import ModuloThreadWithCallbackError
3
3
 
4
4
 
5
5
  class ModuloThreadLogger(ModuloThreadWithCallbackError):
@@ -36,8 +36,8 @@ class ModuloEmail(object):
36
36
 
37
37
  def sendWithLoginAndClose(self,destinatari:str|list|tuple, oggetto:str, messaggio:str,
38
38
  isHtml:bool)->dict:
39
- # controllo se gia' loggato
40
- if self.isLogged is False:
39
+ # check if already logged
40
+ if not self.isLogged:
41
41
  self.login(self.user,self.password)
42
42
  # invio email
43
43
  try:
@@ -12,7 +12,7 @@ from modulitiz_micro.ModuloStringhe import ModuloStringhe
12
12
  from modulitiz_micro.eccezioni.EccezioneRuntime import EccezioneRuntime
13
13
  from modulitiz_micro.files.ModuloFiles import ModuloFiles
14
14
  from modulitiz_micro.files.ModuloLogging import ModuloLogging
15
- from modulitiz_micro.multithreading.ModuloThread import ModuloThread
15
+ from modulitiz_micro.multithread.ModuloThread import ModuloThread
16
16
  from modulitiz_micro.rete.ModuloNetworking import ModuloNetworking
17
17
  from modulitiz_micro.rete.http.ModuloHttp import ModuloHttp
18
18
  from modulitiz_micro.rete.http.ModuloHttpUtils import ModuloHttpUtils
@@ -7,7 +7,7 @@ import time
7
7
  import psutil
8
8
 
9
9
  from modulitiz_micro.files.ModuloLogging import ModuloLogging
10
- from modulitiz_micro.multithreading.ModuloThread import ModuloThread
10
+ from modulitiz_micro.multithread.ModuloThread import ModuloThread
11
11
  from modulitiz_micro.sistema.ModuloSystem import ModuloSystem
12
12
 
13
13
 
@@ -1,3 +1,4 @@
1
+ from abc import ABC
1
2
  from abc import abstractmethod
2
3
 
3
4
  from telethon import TelegramClient
@@ -6,7 +7,7 @@ from modulitiz_micro.ModuloStringhe import ModuloStringhe
6
7
  from modulitiz_micro.util.decorators.noAwait import noAwait
7
8
 
8
9
 
9
- class ModuloTelegram(object):
10
+ class AbstractModuloTelegram(ABC):
10
11
  def __init__(self,apiId:int,apiHash:str,nomefileSessione:str,phoneNumWithCountryCode:str):
11
12
  self.apiId=apiId
12
13
  self.apiHash=apiHash
@@ -1,7 +1,7 @@
1
- from modulitiz_micro.social.telegram.ModuloTelegram import ModuloTelegram
1
+ from modulitiz_micro.social.telegram.AbstractModuloTelegram import AbstractModuloTelegram
2
2
 
3
3
 
4
- class ModuloTelegramSimple(ModuloTelegram):
4
+ class ModuloTelegramSimple(AbstractModuloTelegram):
5
5
  """
6
6
  Utility di gestione semplice per il sistema di messaggistica istantanea Telegram.
7
7
  """
@@ -7,21 +7,17 @@ from modulitiz_micro.files.ModuloFiles import ModuloFiles
7
7
  from modulitiz_micro.sistema.ModuloSystem import ModuloSystem
8
8
  from modulitiz_micro.util.wheel.ModuloCheckTestNamingConvention import ModuloCheckTestNamingConvention
9
9
  from modulitiz_micro.util.wheel.ModuloToml import ModuloToml
10
- from modulitiz_micro.files.git.ModuloGit import ModuloGit
11
10
 
12
11
 
13
12
  class ModuloBuildWheel(object):
14
13
  CMD_PYTHON="python"
15
14
  PATTERN_NOMEFILE_WHEEL="{}-{}-{}-none-any.whl"
16
- MAX_VERSION_TO_KEEP=10
17
15
 
18
16
  def __init__(self,moduleName:str,percorsoFileMain:str):
19
17
  self.moduleName=moduleName
20
- self.moduleNameNormalized=moduleName.replace("_","-")
21
18
 
22
19
  self.percorsoCartellaSource=os.path.dirname(percorsoFileMain)
23
20
  self.percorsoCartellaRoot=os.path.dirname(self.percorsoCartellaSource)
24
- self.git=ModuloGit(os.path.dirname(self.percorsoCartellaRoot))
25
21
  self.skipUnitTest=False
26
22
 
27
23
  self.moduloToml=ModuloToml("pyproject.toml")
@@ -33,15 +29,15 @@ class ModuloBuildWheel(object):
33
29
  def doWork(self):
34
30
  self.versionOld=self.moduloToml.retrieveVersion()
35
31
  self.skipUnitTest=input("Skip unit test? y, n (default = n):")=='y'
36
- # chiedo quale versione aumentare (major, minor, bug fix)
32
+ # ask which version should be incremented (major, minor, bug fix)
37
33
  versionType=input("Which version increment? 1=major, 2=minor, 3=bug fix (default = 2):")
38
34
  if versionType=="":
39
35
  versionType=2
40
36
  else:
41
37
  versionType=int(versionType)
42
- # calcolo la prossima versione
38
+ # compute next version
43
39
  self.__computeVersionNew(versionType)
44
- # stampo info
40
+ # printing info
45
41
  msg=f"Build {self.moduleName} {self.versionNew}"
46
42
  ModuloSystem.setTitoloFinestra(msg)
47
43
  print("""{}
@@ -49,43 +45,33 @@ class ModuloBuildWheel(object):
49
45
  {} (from version {})
50
46
  ============================================================
51
47
  {}""".format(ModuloColorText.GRASSETTO,msg,self.versionOld,ModuloColorText.DEFAULT))
52
- # cambio cartella
48
+ # change dir
53
49
  os.chdir(self.percorsoCartellaSource)
54
50
  if self.__doUnitTests() is True:
55
51
  return
56
52
  # aggiorno versione
57
53
  self.moduloToml.updateVersion(self.versionNew)
58
- # costruisco wheel
54
+ # building wheel
59
55
  ModuloSystem.systemCallPrintOutput(f'{self.CMD_PYTHON} -m pip install -U build twine==6.0.1',None)
60
56
  print()
61
- percorsoCartellaOut=os.path.dirname(self.percorsoCartellaRoot)
62
- percorsoCartellaOut=ModuloFiles.pathJoin(ModuloFiles.pathJoin(percorsoCartellaOut,"wheels"),self.moduleNameNormalized)
57
+ percorsoCartellaOut=ModuloFiles.pathJoin(self.percorsoCartellaRoot,"wheel")
63
58
  cmd='{} -m build --wheel --outdir "{}"'.format(self.CMD_PYTHON,percorsoCartellaOut)
64
59
  ModuloSystem.systemCallPrintOutput(cmd,None)
60
+ # deleting temporary dirs
65
61
  print()
66
- # cancello cartelle temporanee
67
62
  shutil.rmtree(ModuloFiles.pathJoin(self.percorsoCartellaSource,"build"))
68
63
  shutil.rmtree(ModuloFiles.pathJoin(self.percorsoCartellaSource,self.moduleName+".egg-info"))
69
- # installo wheel
64
+ # install wheel
70
65
  self.filenameWheel=self.PATTERN_NOMEFILE_WHEEL.format(self.moduleName,self.versionNew,self.moduloToml.retrieveMinPyVersion())
71
66
  percorsoWheel=ModuloFiles.pathJoin(percorsoCartellaOut,self.filenameWheel)
72
67
  cmd='{} -m pip install -U "{}"'.format(self.CMD_PYTHON,percorsoWheel)
73
68
  ModuloSystem.systemCallPrintOutput(cmd,None)
74
69
  print()
75
- # aggiungo il file al repo
76
- self.git.inner.index.add(percorsoWheel)
77
- # se presenti, cancello le versioni troppo vecchie
78
- print()
79
- oldFilenames=ModuloListe.humanOrder(os.listdir(percorsoCartellaOut))[:-self.MAX_VERSION_TO_KEEP]
80
- if len(oldFilenames)==0:
81
- return
82
- print("Cancello le versioni troppo vecchie:")
83
- for file in oldFilenames:
84
- deletedFilename=self.git.inner.index.remove(ModuloFiles.pathJoin(percorsoCartellaOut,file),working_tree=True)
85
- print("\n".join(deletedFilename))
86
70
  print("Uploading to Pypi")
87
71
  cmd='{} -m twine upload "{}"'.format(self.CMD_PYTHON,percorsoWheel)
88
72
  ModuloSystem.systemCallPrintOutput(cmd,None)
73
+ # delete wheel
74
+ os.remove(percorsoWheel)
89
75
 
90
76
  def __doUnitTests(self) -> bool:
91
77
  if self.skipUnitTest is True:
@@ -116,9 +102,9 @@ class ModuloBuildWheel(object):
116
102
  ==================================================
117
103
  """+ModuloColorText.DEFAULT
118
104
  if lastRow!="OK":
119
- print(PATTERN_TO_PRINT.format(ModuloColorText.ROSSO,"ERRORE nei test"))
105
+ print(PATTERN_TO_PRINT.format(ModuloColorText.ROSSO,"Errors during tests execution"))
120
106
  return True
121
- print(PATTERN_TO_PRINT.format(ModuloColorText.VERDE,"test completati con successo"))
107
+ print(PATTERN_TO_PRINT.format(ModuloColorText.VERDE,"Tests completed successfully"))
122
108
  return False
123
109
 
124
110
  def __computeVersionNew(self,versionType:int):
@@ -1,10 +1,9 @@
1
1
  import os.path
2
2
  import re
3
3
 
4
- from modulitiz_micro.ModuloStringhe import ModuloStringhe
5
-
6
4
  from modulitiz_micro.ModuloFunzioni import ModuloFunzioni
7
5
  from modulitiz_micro.ModuloListe import ModuloListe
6
+ from modulitiz_micro.ModuloStringhe import ModuloStringhe
8
7
  from modulitiz_micro.files.ModuloFiles import ModuloFiles
9
8
 
10
9
 
@@ -16,8 +15,6 @@ class ModuloCheckTestNamingConvention(object):
16
15
  EXCLUDE_FILES=("TestMain.py",)
17
16
 
18
17
  def __init__(self,moduleName:str,pathSource:str):
19
- self.moduleName=moduleName
20
- self.moduleNameNormalizzato=moduleName.replace("_","-")
21
18
  self.pathSource=ModuloFiles.pathJoin(pathSource,moduleName)
22
19
  self.pathTest=ModuloFiles.pathJoin(pathSource,"test")
23
20
  self.errors=[]
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: modulitiz_micro
3
- Version: 2.32.0
3
+ Version: 2.34.0
4
4
  Summary: Raccolta dei miei moduli - versione micro
5
5
  Author-email: tiz <sderfo1234@altervista.org>
6
6
  Classifier: Programming Language :: Python :: 3
@@ -41,7 +41,7 @@ modulitiz_micro/files/cache/CacheBean.py,sha256=sYnJDPUaQJNln7yQnPb2bAapOULhpfEN
41
41
  modulitiz_micro/files/cache/CacheRam.py,sha256=S05YkHkfV-l3WGaoHWLktaEZklrC01GVA2r89U7a35E,961
42
42
  modulitiz_micro/files/cache/DatabaseCache.py,sha256=4AAvzkSOSGhvEcf99hzQQVRDLYuaBkXN-aBUP2Lr9Mg,2300
43
43
  modulitiz_micro/files/cache/decorators/cacheRam.py,sha256=X-7JzB6n0yE9oviICYBoKXrxn8KDMy1B_snKR0CMFCk,744
44
- modulitiz_micro/files/git/ModuloGit.py,sha256=wJwLV_IJRMZdBTOLSdSWlzWxEi9SOePB5TGgevVLQRw,559
44
+ modulitiz_micro/files/git/ModuloGit.py,sha256=h_Gkz0gcy7TxkvOC6ASQrUn5LDb2rPsWIzwsMPS91Rs,793
45
45
  modulitiz_micro/files/git/decorators/catchAndRaiseGitExceptions.py,sha256=9O7LjMRmpW022oxq2E_VOK0F2A8PqwHNAkzB9rWuZ6M,443
46
46
  modulitiz_micro/files/git/exceptions/EccezioneGit.py,sha256=uGHc8athDaBaIzc11l_MzK-5OiYR4UGwkBTRvaOwKVo,176
47
47
  modulitiz_micro/gestionedom/GestioneDom.py,sha256=SwLeXd6VVpBPqIQoeNWM8GpU6m3AnpGx-d6xuGvQOnQ,1306
@@ -49,15 +49,15 @@ modulitiz_micro/init/AbstractBasicInit.py,sha256=D0rRDzbft5kXRAI5wsz12BPOvJjQXKR
49
49
  modulitiz_micro/init/AbstractInit.py,sha256=HAtiyLDU-ocIQR9Lud-wbbUKPaBVrcbWtbTUmnNVNDU,217
50
50
  modulitiz_micro/keylogger/EccezioneKeyLogger.py,sha256=L5gkTtkAlgHheYaMeKAITvxXy1bnKk9FrB0cLqHa4m4,205
51
51
  modulitiz_micro/keylogger/ModuloKeylogger.py,sha256=DZaxZ92Oe_ISA1MNCz4MHJv0iSb-ZgLt-IaOjlZ1rD8,1866
52
- modulitiz_micro/multithread/ModuloThread.py,sha256=IwIuOx3CREuPffxruI1l-tWE4pvgheXxy2Fea3KtV4c,962
53
- modulitiz_micro/multithread/ModuloThreadLogger.py,sha256=WhIe0DxzVUiByt4aGpsBFEPpWBlyElZt9Ga-ddnX7Ss,358
52
+ modulitiz_micro/multithread/ModuloThread.py,sha256=pFQGpOTIFvXnGuJBtjVQA9nNxcBObg4OS5ppSWAfItI,956
53
+ modulitiz_micro/multithread/ModuloThreadLogger.py,sha256=EI3XXb_y_p4y-I_-ENjNjiKMg6EuDT5ot2WBTpC9LSo,355
54
54
  modulitiz_micro/multithread/ModuloThreadWithCallbackError.py,sha256=C8juxxBN3xwUgax-cG2Rs2n_2GkNfELuorrTkKHjJW0,699
55
55
  modulitiz_micro/nlp/ModuloNlp.py,sha256=2cJrGJE29XQPlk7eFcRg66xzUzXppzsGfTzZuVnaZrQ,763
56
56
  modulitiz_micro/nlp/ModuloNlpDateAndTime.py,sha256=T_QS-QgvbJpAHQfM2cuPoHAV5QCVGsk4116XSPGJFZ0,1792
57
57
  modulitiz_micro/rete/ModuloNetworking.py,sha256=vsErzGVGPlVbb-anvoI9Z_Lz6nO6imjKLuNWO3hEcyE,1932
58
58
  modulitiz_micro/rete/ModuloOpenVpn.py,sha256=p0v1r0n13IowXqWxAk3Bj8OZmPodf59UC_SIC7TucQ4,612
59
59
  modulitiz_micro/rete/email/EmailBean.py,sha256=-9wiyQ9WF_Zlcl2DQRlR19udXsAegrcxoDAdJBLjWks,191
60
- modulitiz_micro/rete/email/ModuloEmail.py,sha256=CKgfyVanVxLd10ejukl9Urh3R5K7GPi7gVUyLSEZhJs,2873
60
+ modulitiz_micro/rete/email/ModuloEmail.py,sha256=wJ2TPiTnrf-U3hKsVt7KiFw8ks_BDJ1NjGWRAYKbSg8,2866
61
61
  modulitiz_micro/rete/http/ModuloHttp.py,sha256=B5tJbXK7sE2aRWASDo4aePC-mv6zz7RHgBh5N7c3o8Q,4478
62
62
  modulitiz_micro/rete/http/ModuloHttpConnectionSafe.py,sha256=Ne19tLgZ1J7u7lyV_IGogdSLdIkMsoyNS_CE-_shndc,2845
63
63
  modulitiz_micro/rete/http/ModuloHttpUtils.py,sha256=fxvQ_OqelHwXPBObo7y4iPsigCKqhr47_iu71ptwgoY,2281
@@ -66,14 +66,14 @@ modulitiz_micro/rete/http/decorators/catchAndRaiseHttpExceptions.py,sha256=HcTro
66
66
  modulitiz_micro/rete/ntp/AbstractModuloNtp.py,sha256=ZKyZ19hx8HuET8SwlWQq546WPdmdhxvMRhj6Om79udM,2726
67
67
  modulitiz_micro/rete/ntp/ModuloNtpIt.py,sha256=GD5DjouuoV4xeltgSOYNcqcCbrTqzvmr-9EXs4BBGmU,224
68
68
  modulitiz_micro/rete/socketserver/AbstractBasicGetSocketServer.py,sha256=4B2QxAu1oOxjHpWjSuvemvq6EN_1nDMP4gtSU7HFsyw,1215
69
- modulitiz_micro/rete/socketserver/AbstractSocketServer.py,sha256=MVNXjBIBZ4CXS3Gk0z_nXKVzI7KzweHtZJtz2Z6Q1rY,8964
69
+ modulitiz_micro/rete/socketserver/AbstractSocketServer.py,sha256=FwutTfE-htfVZMzKrRWReTzr-gHCBpMY9k--S8UVRuM,8961
70
70
  modulitiz_micro/rete/ssl/ModuloSsl.py,sha256=rMHUsHan0E11Rvto3rXxyG_HoVG6FgVrXehiAZzu9io,1945
71
71
  modulitiz_micro/sistema/EnvVarsEnum.py,sha256=Zj1GjjyGTsh_lNSaf0n1ypjGqj-LAI4oO74L8ql7j20,152
72
72
  modulitiz_micro/sistema/ModuloEnvVars.py,sha256=5yaX25JjOsWX-QM9clUyfTI7loZIW2p9ScYr4YFY12Q,820
73
73
  modulitiz_micro/sistema/ModuloSystem.py,sha256=3yfh23SA6BrU9ND_nTN0j8i2dBAVIgA5hJ8HuxtzDCI,8226
74
- modulitiz_micro/sistema/ModuloSystemPipe.py,sha256=reCTylwW2P0GZbHvw6skvCyfHqedezf3j7p8IamKuqI,1816
75
- modulitiz_micro/social/telegram/ModuloTelegram.py,sha256=hNgq5juIF533MccCljIEF_N315Rko-i2zgQzQLUWVVM,1660
76
- modulitiz_micro/social/telegram/ModuloTelegramSimple.py,sha256=A5hcDDgXFIXxLPCyEaIvJRsHrU3XxlxtLM3_FrCWcho,888
74
+ modulitiz_micro/sistema/ModuloSystemPipe.py,sha256=P9jStTaxLfGBA3hjigsK_jkyANjb5D3i-04ds1JsjTk,1813
75
+ modulitiz_micro/social/telegram/AbstractModuloTelegram.py,sha256=wTLFU_4IfggEcst_l0d_yG4XLKzzqwjxbYc_0TsjJws,1685
76
+ modulitiz_micro/social/telegram/ModuloTelegramSimple.py,sha256=ubueZYzNRKQ6Q2iv_lXzLw54XBTT9CAMSmp3HPrxXEU,912
77
77
  modulitiz_micro/util/beans/conf/AbstractBasicConfBean.py,sha256=19ZBoMU9DZ6hZDhS4WWL6DWIZuHZl-yNH3ctgXH4w0A,394
78
78
  modulitiz_micro/util/beans/conf/AbstractConfBean.py,sha256=S44qVeGx52bfTwARkP1wSpho_3F5ePxIsGUFtIL0dqA,672
79
79
  modulitiz_micro/util/beans/fileconf/AbstractBasicFileConfBean.py,sha256=y7Bu8_jiWsXGHFJL_-N2eyuwXdvlXFl2YYf3IADgVfU,412
@@ -93,12 +93,12 @@ modulitiz_micro/util/spooler/eccezioni/EccezioneSpoolerFull.py,sha256=K8mRD4ZFWi
93
93
  modulitiz_micro/util/unittesting/AbstractOverrideTestUtil.py,sha256=QCFS7aVOjQ43MBaaQ86Pnpudb1zEvdR0aMsgeV4CJ1A,723
94
94
  modulitiz_micro/util/unittesting/AbstractTestUtil.py,sha256=CGca5Ow0c7_sX0LSmQ_jhhXHAs4Mmy335Ax605kxqpc,286
95
95
  modulitiz_micro/util/unittesting/ModuloRunUnitTest.py,sha256=8sFblZyRSDGmf2fQqYCchwgsn0wySzoz8ilx4-3OIvM,749
96
- modulitiz_micro/util/wheel/ModuloBuildWheel.py,sha256=G9pCp5nxnCuZm3KPxmKO0gOC99iKS5HqhvGm71zr9gQ,5432
97
- modulitiz_micro/util/wheel/ModuloCheckTestNamingConvention.py,sha256=RTCjNbEV-ZYgOYaUT3DwhlOgTDROT3m9DUaN1xxajmc,3611
96
+ modulitiz_micro/util/wheel/ModuloBuildWheel.py,sha256=b-jTcimKw_n6KGOsftraXDVeyIxiX4znP6QqHDLl3H0,4672
97
+ modulitiz_micro/util/wheel/ModuloCheckTestNamingConvention.py,sha256=zR8beiJvOgC7-UZazQ0xPexdfq-umSCGQBTM0mcb2xs,3523
98
98
  modulitiz_micro/util/wheel/ModuloToml.py,sha256=SpefiCBZxk1aWQk_NppTohq6_YPNthdNJ9FyDHY1Vms,1165
99
99
  modulitiz_micro/util/wheel/ModuloWheel.py,sha256=yX-jk01-w9ibVwZfPkP1IngJbebYAoZfW6PQ2UA88Ck,326
100
- modulitiz_micro-2.32.0.dist-info/LICENSE,sha256=uPoUkUN5SDvh_W1oG_ar-EUYMcDiWAjhPukR_zrFUyc,1065
101
- modulitiz_micro-2.32.0.dist-info/METADATA,sha256=93jt_kJKtRgPhTuv6naY9FVxc6ZYBG-4rARz7pP8TgA,1587
102
- modulitiz_micro-2.32.0.dist-info/WHEEL,sha256=2aRSX09k7pmd4gPs96VOQ860h0v0t30ka6JGHtpC3BY,94
103
- modulitiz_micro-2.32.0.dist-info/top_level.txt,sha256=ESJE0qtNJp3tbKPrffbFVjH511NSjJHxscfpdLjTpA8,16
104
- modulitiz_micro-2.32.0.dist-info/RECORD,,
100
+ modulitiz_micro-2.34.0.dist-info/LICENSE,sha256=uPoUkUN5SDvh_W1oG_ar-EUYMcDiWAjhPukR_zrFUyc,1065
101
+ modulitiz_micro-2.34.0.dist-info/METADATA,sha256=HVA1qwD_BqiH_uxIaOqu7AdeE8Hh-6jhRzv9ilTodlk,1587
102
+ modulitiz_micro-2.34.0.dist-info/WHEEL,sha256=2aRSX09k7pmd4gPs96VOQ860h0v0t30ka6JGHtpC3BY,94
103
+ modulitiz_micro-2.34.0.dist-info/top_level.txt,sha256=ESJE0qtNJp3tbKPrffbFVjH511NSjJHxscfpdLjTpA8,16
104
+ modulitiz_micro-2.34.0.dist-info/RECORD,,