pyphyschemtools 0.1.0__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.
Files changed (80) hide show
  1. pyphyschemtools/Chem3D.py +831 -0
  2. pyphyschemtools/ML.py +42 -0
  3. pyphyschemtools/PeriodicTable.py +289 -0
  4. pyphyschemtools/__init__.py +43 -0
  5. pyphyschemtools/aithermo.py +350 -0
  6. pyphyschemtools/cheminformatics.py +230 -0
  7. pyphyschemtools/core.py +119 -0
  8. pyphyschemtools/icons-logos-banner/Logo_pyPhysChem_border.svg +1109 -0
  9. pyphyschemtools/icons-logos-banner/__init__.py +0 -0
  10. pyphyschemtools/icons-logos-banner/logo.png +0 -0
  11. pyphyschemtools/icons-logos-banner/tools4pyPC_banner.png +0 -0
  12. pyphyschemtools/icons-logos-banner/tools4pyPC_banner.svg +193 -0
  13. pyphyschemtools/kinetics.py +193 -0
  14. pyphyschemtools/resources/css/BrainHalfHalf-120x139.base64 +1 -0
  15. pyphyschemtools/resources/css/BrainHalfHalf-120x139.png +0 -0
  16. pyphyschemtools/resources/css/BrainHalfHalf.base64 +8231 -0
  17. pyphyschemtools/resources/css/BrainHalfHalf.png +0 -0
  18. pyphyschemtools/resources/css/BrainHalfHalf.svg +289 -0
  19. pyphyschemtools/resources/css/visualID.css +325 -0
  20. pyphyschemtools/resources/img/Tranformative_3.webp +0 -0
  21. pyphyschemtools/resources/img/Tranformative_3_banner.png +0 -0
  22. pyphyschemtools/resources/img/pyPhysChem_1.png +0 -0
  23. pyphyschemtools/resources/svg/BrainHalfHalf.png +0 -0
  24. pyphyschemtools/resources/svg/BrainHalfHalf.svg +289 -0
  25. pyphyschemtools/resources/svg/GitHub-Logo-C.png +0 -0
  26. pyphyschemtools/resources/svg/GitHub-Logo.png +0 -0
  27. pyphyschemtools/resources/svg/Logo-Universite-Toulouse-n-2023.png +0 -0
  28. pyphyschemtools/resources/svg/Logo_pyPhysChem_1-translucentBgd-woName.png +0 -0
  29. pyphyschemtools/resources/svg/Logo_pyPhysChem_1-translucentBgd.png +0 -0
  30. pyphyschemtools/resources/svg/Logo_pyPhysChem_1.png +0 -0
  31. pyphyschemtools/resources/svg/Logo_pyPhysChem_1.svg +622 -0
  32. pyphyschemtools/resources/svg/Logo_pyPhysChem_5.png +0 -0
  33. pyphyschemtools/resources/svg/Logo_pyPhysChem_5.svg +48 -0
  34. pyphyschemtools/resources/svg/Logo_pyPhysChem_border.svg +1109 -0
  35. pyphyschemtools/resources/svg/Python-logo-notext.svg +265 -0
  36. pyphyschemtools/resources/svg/Python_logo_and_wordmark.svg.png +0 -0
  37. pyphyschemtools/resources/svg/UT3_logoQ.jpg +0 -0
  38. pyphyschemtools/resources/svg/UT3_logoQ.png +0 -0
  39. pyphyschemtools/resources/svg/Universite-Toulouse-n-2023.svg +141 -0
  40. pyphyschemtools/resources/svg/X.png +0 -0
  41. pyphyschemtools/resources/svg/logoAnaconda.png +0 -0
  42. pyphyschemtools/resources/svg/logoAnaconda.webp +0 -0
  43. pyphyschemtools/resources/svg/logoCNRS.png +0 -0
  44. pyphyschemtools/resources/svg/logoDebut.svg +316 -0
  45. pyphyschemtools/resources/svg/logoEnd.svg +172 -0
  46. pyphyschemtools/resources/svg/logoFin.svg +172 -0
  47. pyphyschemtools/resources/svg/logoPPCL.svg +359 -0
  48. pyphyschemtools/resources/svg/logoPytChem.png +0 -0
  49. pyphyschemtools/resources/svg/logo_lpcno_300_dpi_notexttransparent.png +0 -0
  50. pyphyschemtools/resources/svg/logo_pyPhysChem.png +0 -0
  51. pyphyschemtools/resources/svg/logo_pyPhysChem_0.png +0 -0
  52. pyphyschemtools/resources/svg/logo_pyPhysChem_0.svg +390 -0
  53. pyphyschemtools/resources/svg/logopyPhyschem.png +0 -0
  54. pyphyschemtools/resources/svg/logopyPhyschem_2.webp +0 -0
  55. pyphyschemtools/resources/svg/logopyPhyschem_3.webp +0 -0
  56. pyphyschemtools/resources/svg/logopyPhyschem_4.webp +0 -0
  57. pyphyschemtools/resources/svg/logopyPhyschem_5.png +0 -0
  58. pyphyschemtools/resources/svg/logopyPhyschem_5.webp +0 -0
  59. pyphyschemtools/resources/svg/logopyPhyschem_6.webp +0 -0
  60. pyphyschemtools/resources/svg/logopyPhyschem_7.webp +0 -0
  61. pyphyschemtools/resources/svg/logos-Anaconda-pyPhysChem.png +0 -0
  62. pyphyschemtools/resources/svg/logos-Anaconda-pyPhysChem.svg +58 -0
  63. pyphyschemtools/resources/svg/pyPCBanner.svg +309 -0
  64. pyphyschemtools/resources/svg/pyPhysChem-GitHubSocialMediaTemplate.png +0 -0
  65. pyphyschemtools/resources/svg/pyPhysChem-GitHubSocialMediaTemplate.svg +295 -0
  66. pyphyschemtools/resources/svg/pyPhysChemBanner.png +0 -0
  67. pyphyschemtools/resources/svg/pyPhysChemBanner.svg +639 -0
  68. pyphyschemtools/resources/svg/qrcode-pyPhysChem.png +0 -0
  69. pyphyschemtools/resources/svg/repository-open-graph-template.png +0 -0
  70. pyphyschemtools/spectra.py +451 -0
  71. pyphyschemtools/survey.py +1048 -0
  72. pyphyschemtools/sympyUtilities.py +51 -0
  73. pyphyschemtools/tools4AS.py +960 -0
  74. pyphyschemtools/visualID.py +101 -0
  75. pyphyschemtools/visualID_Eng.py +175 -0
  76. pyphyschemtools-0.1.0.dist-info/METADATA +38 -0
  77. pyphyschemtools-0.1.0.dist-info/RECORD +80 -0
  78. pyphyschemtools-0.1.0.dist-info/WHEEL +5 -0
  79. pyphyschemtools-0.1.0.dist-info/licenses/LICENSE +674 -0
  80. pyphyschemtools-0.1.0.dist-info/top_level.txt +1 -0
@@ -0,0 +1,101 @@
1
+ import os,sys,platform
2
+ from datetime import datetime
3
+ import datetime, time
4
+ #from IPython.core.display import display,Image,Markdown,HTML
5
+ from IPython.display import display,Image,Markdown,HTML
6
+ from urllib.request import urlopen
7
+
8
+ __author__ = "Romuald POTEAU"
9
+ __maintainer__ = "Romuald POTEAU"
10
+ __email__ = "romuald.poteau@univ-tlse3.fr"
11
+ __status__ = "Development"
12
+
13
+ _start_time = None
14
+ _end_time = None
15
+ _chrono_start = None
16
+ _chrono_stop = None
17
+
18
+ class color:
19
+ PURPLE = '\033[95m'
20
+ CYAN = '\033[96m'
21
+ DARKCYAN = '\033[36m'
22
+ BLUE = '\033[94m'
23
+ GREEN = '\033[92m'
24
+ YELLOW = '\033[93m'
25
+ RED = '\033[91m'
26
+ BOLD = '\033[1m'
27
+ UNDERLINE = '\033[4m'
28
+ OFF = '\033[0m'
29
+
30
+ def css_styling(pwy):
31
+ styles = open(pwy+"/css/visualID.css", "r").read()
32
+ display(HTML(styles))
33
+ #def css_styling():
34
+ # html = urlopen("file:./css/visualID.css")
35
+ # styles = HTML(html.read().decode('utf-8'))
36
+ # display(HTML(styles))
37
+
38
+ def display_md(text):
39
+ display(Markdown(text))
40
+
41
+ def hdelay(sec):
42
+ return str(datetime.timedelta(seconds=int(sec)))
43
+
44
+ # Return human delay like 01:14:28 543ms
45
+ # delay can be timedelta or seconds
46
+ def hdelay_ms(delay):
47
+ if type(delay) is not datetime.timedelta:
48
+ delay=datetime.timedelta(seconds=delay)
49
+ sec = delay.total_seconds()
50
+ hh = sec // 3600
51
+ mm = (sec // 60) - (hh * 60)
52
+ ss = sec - hh*3600 - mm*60
53
+ ms = (sec - int(sec))*1000
54
+ return f'{hh:02.0f}:{mm:02.0f}:{ss:02.0f} {ms:03.0f}ms'
55
+
56
+ def chrono_start():
57
+ global _chrono_start, _chrono_stop
58
+ _chrono_start=time.time()
59
+
60
+ # return delay in seconds or in humain format
61
+ def chrono_stop(hdelay=False):
62
+ global _chrono_start, _chrono_stop
63
+ _chrono_stop = time.time()
64
+ sec = _chrono_stop - _chrono_start
65
+ if hdelay : return hdelay_ms(sec)
66
+ return sec
67
+
68
+ def chrono_show():
69
+ print('\nDuration : ', hdelay_ms(time.time() - _chrono_start))
70
+
71
+ def init(pwy):
72
+ global _start_time
73
+ # Styling notebook
74
+ #
75
+ css_styling(pwy)
76
+ # Today, now and hostname
77
+ #
78
+ _start_time = datetime.datetime.now()
79
+ start_time = _start_time.strftime("%A %d %B %Y, %H:%M:%S")
80
+ _h = platform.uname()
81
+ h = _h[1]+" ("+_h[0]+")"
82
+ md = f'**Début à:** {start_time} \n'
83
+ md+= f'**Hostname:** {h}'
84
+ display_md(md)
85
+ #print('Run time :', _start_time.strftime("%A %d %B %Y, %H:%M:%S"))
86
+ #print('Hostname :', f'{h[1]} ({h[0]})')
87
+ path2svg = pwy + 'svg/'
88
+ md = '<p style="text-align: center"><img width="800px" src="' + path2svg + 'logoDebut.svg" style="margin-left:auto; margin-right:auto"/></p>'
89
+ display_md(md)
90
+
91
+ def end(pwy):
92
+ global _end_time
93
+ _end_time = datetime.datetime.now()
94
+ end_time = time.strftime("%A %d %B %Y, %H:%M:%S")
95
+ duration = hdelay_ms(_end_time - _start_time)
96
+ md = f'**Fin à:** {end_time} \n'
97
+ md+= f'**Durée:** {duration}'
98
+ display_md(md)
99
+ path2svg = pwy + 'svg/'
100
+ md = '<p style="text-align: center"><img width="800px" src="' + path2svg + 'logoFin.svg" style="margin-left:auto; margin-right:auto"/></p>'
101
+ display_md(md)
@@ -0,0 +1,175 @@
1
+ import os, sys, platform
2
+ import datetime, time
3
+ #from IPython.core.display import display,Image,Markdown,HTML
4
+ from IPython.display import display,Image,Markdown,HTML
5
+ from urllib.request import urlopen
6
+
7
+ __author__ = "Romuald POTEAU"
8
+ __maintainer__ = "Romuald POTEAU"
9
+ __email__ = "romuald.poteau@univ-tlse3.fr"
10
+ __status__ = "Development"
11
+
12
+ # Get the absolute path to this file's directory within the package
13
+ _PKG_PATH = os.path.dirname(__file__)
14
+
15
+ _start_time = None
16
+ _end_time = None
17
+ _chrono_start = None
18
+ _chrono_stop = None
19
+
20
+ class color:
21
+ PURPLE = '\033[95m'
22
+ CYAN = '\033[96m'
23
+ DARKCYAN = '\033[36m'
24
+ BLUE = '\033[94m'
25
+ GREEN = '\033[92m'
26
+ YELLOW = '\033[93m'
27
+ RED = '\033[91m'
28
+ BOLD = '\033[1m'
29
+ UNDERLINE = '\033[4m'
30
+ OFF = '\033[0m'
31
+
32
+ class fg:
33
+ PURPLE = '\033[95m'
34
+ CYAN = '\033[96m'
35
+ DARKCYAN = '\033[36m'
36
+ BLUE = '\033[94m'
37
+ GREEN = '\033[92m'
38
+ YELLOW = '\033[93m'
39
+ RED = '\033[91m'
40
+ LIGHTGRAY = "\033[37m"
41
+ DARKGRAY = "\033[90m"
42
+ BLACK = '\033[30m'
43
+ WHITE = "\033[38;5;231m"
44
+ OFF = '\033[0m'
45
+ class hl:
46
+ BLINK = "\033[5m"
47
+ blink = "\033[25m" #reset blink
48
+ BOLD = '\033[1m'
49
+ bold = "\033[21m" #reset bold
50
+ UNDERL = '\033[4m'
51
+ underl = "\033[24m" #reset underline
52
+ ITALIC = "\033[3m"
53
+ italic = "\033[23m"
54
+ OFF = '\033[0m'
55
+ class bg:
56
+ DARKRED = "\033[38;5;231;48;5;52m"
57
+ DARKREDB = "\033[38;5;231;48;5;52;1m"
58
+ LIGHTRED = "\033[48;5;217m"
59
+ LIGHTREDB = "\033[48;5;217;1m"
60
+ LIGHTYELLOW = "\033[48;5;228m"
61
+ LIGHTYELLOWB = "\033[48;5;228;1m"
62
+ LIGHTGREEN = "\033[48;5;156m"
63
+ LIGHTGREENB = "\033[48;5;156;1m"
64
+ LIGHTBLUE = "\033[48;5;117m"
65
+ LIGHTBLUEB = "\033[48;5;117;1m"
66
+ OFF = "\033[0m"
67
+
68
+
69
+ def apply_css_style():
70
+ """
71
+ Explicitly reads and applies the visualID CSS stylesheet
72
+ from the package resources.
73
+ """
74
+ css_path = os.path.join(_PKG_PATH, "resources", "css", "visualID.css")
75
+ if os.path.exists(css_path):
76
+ with open(css_path, "r") as f:
77
+ styles = f.read()
78
+ # Some CSS files might not have the <style> tag if they are raw CSS
79
+ if not styles.strip().startswith("<style>"):
80
+ styles = f"<style>{styles}</style>"
81
+ display(HTML(styles))
82
+ else:
83
+ print(f"[Warning] CSS file not found at {css_path}")
84
+
85
+ def init(Research=False):
86
+ """
87
+ Initializes the notebook environment: applies CSS,
88
+ displays the banner, and shows hostname/time.
89
+ """
90
+ global _start_time
91
+ _start_time = datetime.datetime.now()
92
+
93
+ # 1. Call the explicit CSS function
94
+ apply_css_style()
95
+
96
+ # 2. Display the banner
97
+ banner = "pyPCBanner.svg" if Research else "pyPhysChemBanner.svg"
98
+ banner_path = os.path.join(_PKG_PATH, "resources", "svg", banner)
99
+
100
+ if os.path.exists(banner_path):
101
+ with open(banner_path, "r") as f:
102
+ svg_data = f.read()
103
+ display(HTML(f'<div style="text-align: center;">{svg_data}</div>'))
104
+
105
+ # 3. Environment Info
106
+ now = datetime.datetime.now().strftime("%A %d %B %Y, %H:%M:%S")
107
+ display(Markdown(f"**Environment initialized:** {now} on {platform.node()}"))
108
+
109
+ def display_md(text):
110
+ display(Markdown(text))
111
+
112
+ def hdelay(sec):
113
+ return str(datetime.timedelta(seconds=int(sec)))
114
+
115
+ # Return human delay like 01:14:28 543ms
116
+ # delay can be timedelta or seconds
117
+ def hdelay_ms(delay):
118
+ if type(delay) is not datetime.timedelta:
119
+ delay=datetime.timedelta(seconds=delay)
120
+ sec = delay.total_seconds()
121
+ hh = sec // 3600
122
+ mm = (sec // 60) - (hh * 60)
123
+ ss = sec - hh*3600 - mm*60
124
+ ms = (sec - int(sec))*1000
125
+ return f'{hh:02.0f}:{mm:02.0f}:{ss:02.0f} {ms:03.0f}ms'
126
+
127
+ def chrono_start():
128
+ global _chrono_start, _chrono_stop
129
+ _chrono_start=time.time()
130
+
131
+ # return delay in seconds or in humain format
132
+ def chrono_stop(hdelay=False):
133
+ global _chrono_start, _chrono_stop
134
+ _chrono_stop = time.time()
135
+ sec = _chrono_stop - _chrono_start
136
+ if hdelay : return hdelay_ms(sec)
137
+ return sec
138
+
139
+ def chrono_show():
140
+ print('\nDuration : ', hdelay_ms(time.time() - _chrono_start))
141
+
142
+ def end():
143
+ """
144
+ Terminates the notebook session: displays duration,
145
+ end time, and the termination logo from package resources.
146
+ """
147
+ global _start_time, _end_time
148
+
149
+ # 1. Calcul du temps
150
+ _end_time = datetime.datetime.now()
151
+ end_str = _end_time.strftime("%A %d %B %Y, %H:%M:%S")
152
+
153
+ # Calcul de la durée si _start_time existe
154
+ if _start_time:
155
+ duration = hdelay_ms(_end_time - _start_time)
156
+ else:
157
+ duration = "Unknown (init() was not called)"
158
+
159
+ # 2. Affichage des infos de fin
160
+ md = f'**End at:** {end_str} \n'
161
+ md += f'**Duration:** {duration}'
162
+
163
+ # 3. Affichage du logo de fin (depuis le package)
164
+ # On suppose que le logo s'appelle logoEnd.svg et est dans resources/svg/
165
+ logo_path = os.path.join(_PKG_PATH, "resources", "svg", "logoEnd.svg")
166
+
167
+ if os.path.exists(logo_path):
168
+ with open(logo_path, "r") as f:
169
+ svg_data = f.read()
170
+ display(HTML(f'<div style="text-align: center; width: 800px; margin: auto;">{svg_data}</div>'))
171
+ else:
172
+ # Fallback si le logo est manquant
173
+ print(f"[Warning] End logo not found at {logo_path}")
174
+ display_md(md)
175
+
@@ -0,0 +1,38 @@
1
+ Metadata-Version: 2.4
2
+ Name: pyphyschemtools
3
+ Version: 0.1.0
4
+ Summary: A comprehensive Python toolbox for physical chemistry and cheminformatics
5
+ Author-email: "Romuald POTEAU, LPCNO" <romuald.poteau@utoulouse.fr>
6
+ Project-URL: Homepage, https://github.com/rpoteau/pyphyschemtools
7
+ Project-URL: Repository, https://github.com/rpoteau/pyphyschemtools
8
+ Project-URL: Changelog, https://github.com/rpoteau/pyphyschemtools/blob/main/CHANGELOG.md
9
+ Project-URL: Documentation, https://github.com/rpoteau/pyphyschemtools/blob/main/README.md
10
+ Project-URL: Issues, https://github.com/rpoteau/pyphyschemtools/issues
11
+ Requires-Python: >=3.8
12
+ Description-Content-Type: text/markdown
13
+ License-File: LICENSE
14
+ Requires-Dist: numpy
15
+ Requires-Dist: pandas
16
+ Requires-Dist: matplotlib
17
+ Requires-Dist: scipy
18
+ Requires-Dist: ipywidgets
19
+ Requires-Dist: jupyter
20
+ Requires-Dist: Pillow
21
+ Requires-Dist: openpyxl
22
+ Requires-Dist: rdkit
23
+ Requires-Dist: py3Dmol
24
+ Provides-Extra: docs
25
+ Requires-Dist: sphinx; extra == "docs"
26
+ Requires-Dist: sphinx_rtd_theme; extra == "docs"
27
+ Requires-Dist: myst-parser; extra == "docs"
28
+ Requires-Dist: numpydoc; extra == "docs"
29
+ Dynamic: license-file
30
+
31
+ <div style="text-align:center">
32
+ <img src="https://raw.githubusercontent.com/rpoteau/pyphyschemtools/main/pyphyschemtools/icons-logos-banner/tools4pyPC_banner.png" alt="t4pyPCbanner" width="800"/>
33
+ </div>
34
+
35
+ # pyPhysChemTools
36
+
37
+
38
+
@@ -0,0 +1,80 @@
1
+ pyphyschemtools/Chem3D.py,sha256=i6ieFGEiO1bwZ7GdtNnFCEbfVRXa4YSGkd7SLnjndUs,32709
2
+ pyphyschemtools/ML.py,sha256=ofNGptNqv31BGG_QKepYmpF9M_uPLkDRXhrJiDWsqWo,1608
3
+ pyphyschemtools/PeriodicTable.py,sha256=bk11SIN3xofpIp2SIZHLx7t-EyRBFUVRUUpfddaSvCc,13499
4
+ pyphyschemtools/__init__.py,sha256=CUZWtKfjmw964Dx6wfVxBu5j049Om-f6ScwhGyvjMsE,1465
5
+ pyphyschemtools/aithermo.py,sha256=8x204bHVZwR2bb6j3G6XrUD0XePxcZG6NCH6808x8K0,15017
6
+ pyphyschemtools/cheminformatics.py,sha256=Qps_JSYWOzZQcXwKElI1iWGjWAPDgwmtDKuJwONsKmI,8977
7
+ pyphyschemtools/core.py,sha256=m2WGuu3EmLTJvMoD_WDScGesbRfo9PIC6HIdAUQRGHg,4866
8
+ pyphyschemtools/kinetics.py,sha256=3YyzzQ7FKZ7wNALRDsLNLhpZpDp38LHWOUfMojsh8hE,7696
9
+ pyphyschemtools/spectra.py,sha256=XMkkzrWK6QtDm2mcvNSJfbE6fiGPU-8U-nvTcPYWWdI,21626
10
+ pyphyschemtools/survey.py,sha256=Rcw0xb0_nwsxETleB1C2xjKmZfrUw4PXDm48CMSptHU,45816
11
+ pyphyschemtools/sympyUtilities.py,sha256=eZHv0vDAxJ5hWb40U3ZmhfDU-cwEdN-_1ZgcV_B6dGo,1558
12
+ pyphyschemtools/tools4AS.py,sha256=733OboqFLDscmtVLDLdDNjAGQgUcBVm6H6Zm3uG_q3I,44778
13
+ pyphyschemtools/visualID.py,sha256=JlAd5nnZIliHOiKvkToArYhkbty-OntuFGf2CdPbgo8,3061
14
+ pyphyschemtools/visualID_Eng.py,sha256=o-EdCOduo_qruRrr5kkplixaT1t79f3I3M1Ya5TOc_Q,5244
15
+ pyphyschemtools/icons-logos-banner/Logo_pyPhysChem_border.svg,sha256=w6AhEF3Ym5Xe6AyUJ0WZ8rTzYXCFCSQLCAftrmPaG7w,55288
16
+ pyphyschemtools/icons-logos-banner/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
17
+ pyphyschemtools/icons-logos-banner/logo.png,sha256=qnxdLQGvv1TNcz_n4EseQhzZgIX6O710tqm418_EIRY,388311
18
+ pyphyschemtools/icons-logos-banner/tools4pyPC_banner.png,sha256=z7o_kBK0sIBsXHEJrT2GyLHu-0T0T3S8YkWcpxR2joA,89058
19
+ pyphyschemtools/icons-logos-banner/tools4pyPC_banner.svg,sha256=JQhtJmTXkatvHwGtSc0gHBTZB_E0eh_nLB9kX7sxt7k,99752
20
+ pyphyschemtools/resources/css/BrainHalfHalf-120x139.base64,sha256=rn-r0NKiX92EEEOlME-nUw_fC8B6mrEThX7v9L1y4Eg,25092
21
+ pyphyschemtools/resources/css/BrainHalfHalf-120x139.png,sha256=tBhhTXidkqjvmavprPAl3BZlsqswu7DbP_rAz-tyS_Q,18818
22
+ pyphyschemtools/resources/css/BrainHalfHalf.base64,sha256=0VLlFvSdEaVfHJR-RDNu27V0PzBN0HSfsXxGU0mRFXw,633735
23
+ pyphyschemtools/resources/css/BrainHalfHalf.png,sha256=xOl5kFSwb4QngqTv0KRuXISDU7Vme_KU-6Rpz99dRsI,469128
24
+ pyphyschemtools/resources/css/BrainHalfHalf.svg,sha256=4MRiqNq2_9NS1Ns6z_JRqIUca324TojZvjtPdNAxVD8,16996
25
+ pyphyschemtools/resources/css/visualID.css,sha256=1p6ULjkkWjT5CqRjTSYX6qyZel5-Sw3pGU7je2pFgIE,31729
26
+ pyphyschemtools/resources/img/Tranformative_3.webp,sha256=GYF45M-0E46T0U7RukL6SFG1DADJ1-YZVqki0eU-SR4,770088
27
+ pyphyschemtools/resources/img/Tranformative_3_banner.png,sha256=aeHj5yKH3pnhwLgj4NPuD_QdZKYO0W8XQz6vZ3kWOlM,3926871
28
+ pyphyschemtools/resources/img/pyPhysChem_1.png,sha256=56hHAKCzXb2aVSN_gmzPMLB7gOVYD9Y2C9nFp0HbaGc,2379769
29
+ pyphyschemtools/resources/svg/BrainHalfHalf.png,sha256=0gMjUzaYU_dPx7akTyOGs7wQb0wKN2scrLV7Emf_lVk,467696
30
+ pyphyschemtools/resources/svg/BrainHalfHalf.svg,sha256=bciwdlLrnNn7woUXOMgOkqz0qGf_96ExSsRP-D4z3gQ,16988
31
+ pyphyschemtools/resources/svg/GitHub-Logo-C.png,sha256=_e0i3r58JlrNmTIxVU73IwK0OB_LODLb0txchkBW6Cc,37989
32
+ pyphyschemtools/resources/svg/GitHub-Logo.png,sha256=JSAGC6iIywDt20TfPDII4Ji5VP9JRsCMNIP29wsswjU,29980
33
+ pyphyschemtools/resources/svg/Logo-Universite-Toulouse-n-2023.png,sha256=OC1RKyYtLL3cGge7LYGxViz-h3OcHBb8mv9Ry3Pi-Ek,52483
34
+ pyphyschemtools/resources/svg/Logo_pyPhysChem_1-translucentBgd-woName.png,sha256=B14i_O154PyQti8WTgpufX2hTG-AlzJTYihRw-3gtFY,346119
35
+ pyphyschemtools/resources/svg/Logo_pyPhysChem_1-translucentBgd.png,sha256=Z_K463eB8rac9OTxfadHk2I5AtHKI8np0oRF26oxjFc,467702
36
+ pyphyschemtools/resources/svg/Logo_pyPhysChem_1.png,sha256=znxBVjaQI2XxiuExsXOMKg5CLdaMB4EOvpBSTg0KJ2A,598625
37
+ pyphyschemtools/resources/svg/Logo_pyPhysChem_1.svg,sha256=ZWWWUuTQivI-PlZcsDGw1n8TR5vYSREPAPrgypsF6-M,33300
38
+ pyphyschemtools/resources/svg/Logo_pyPhysChem_5.png,sha256=yebG4Ff1j-_y48ib8kB53bCHCKvrVgY0Awpd3JCiU-4,184087
39
+ pyphyschemtools/resources/svg/Logo_pyPhysChem_5.svg,sha256=4AwMvR3g4On3tpWw1FVDhIdiRVA3H2wJ9S1vUotAuOk,11128
40
+ pyphyschemtools/resources/svg/Logo_pyPhysChem_border.svg,sha256=w6AhEF3Ym5Xe6AyUJ0WZ8rTzYXCFCSQLCAftrmPaG7w,55288
41
+ pyphyschemtools/resources/svg/Python-logo-notext.svg,sha256=WqlZrKOVxFqXWBtNgze0JxLjsPZ8iepEbbD4scOcGgI,9605
42
+ pyphyschemtools/resources/svg/Python_logo_and_wordmark.svg.png,sha256=QNTL_YV0YtcoFGQRT-LBzCrrswBfLn28U1cchMdWYlU,32261
43
+ pyphyschemtools/resources/svg/UT3_logoQ.jpg,sha256=Q9tYeNN-SZbfAWVb-HqTh6igT9L8gfdku4Vt0LFlmmU,191518
44
+ pyphyschemtools/resources/svg/UT3_logoQ.png,sha256=dtdMcso1TUOBFrqxBGhhdF-WDl1xCTZPNZ9z3FvtDnk,242998
45
+ pyphyschemtools/resources/svg/Universite-Toulouse-n-2023.svg,sha256=VlQVIH-Of6s05fIrkuvCz11oQ3XDQAZT-9IP8G5Pwjc,8152
46
+ pyphyschemtools/resources/svg/X.png,sha256=voQC3AhJ4iLazVoEmr7cZ2bU_zc5ok6daUU-uvXS96M,2963937
47
+ pyphyschemtools/resources/svg/logoAnaconda.png,sha256=FFqe26atGslDgxUISNCo8bHFLKgA-OAyuCPM-1oJvgc,1221035
48
+ pyphyschemtools/resources/svg/logoAnaconda.webp,sha256=sldWCjn5_S2U9QSvIBCz63q5vThPS6CQ_vgjvHqE1BQ,14194
49
+ pyphyschemtools/resources/svg/logoCNRS.png,sha256=h2fFDYdp-OFk-5JY2O7FrJKNw8WOne3D2BgMjbmo1rQ,113697
50
+ pyphyschemtools/resources/svg/logoDebut.svg,sha256=8y_nb4xSvO5QDv-R3gk0FP8toGQsokie5zAvb3ytN10,381892
51
+ pyphyschemtools/resources/svg/logoEnd.svg,sha256=IsQV-Zc3HrjpQzQ5SnWO_5x_O42jO9OMJ_qGoBufSVc,5643
52
+ pyphyschemtools/resources/svg/logoFin.svg,sha256=AYyt-anllgL9D8Lpb1AaD5OKns451pO9oc8aCp4px70,5640
53
+ pyphyschemtools/resources/svg/logoPPCL.svg,sha256=oPTqnf-mg5Xx6aPoqFjlZChIyXLgvs-PoGU6zjYsdy0,17524
54
+ pyphyschemtools/resources/svg/logoPytChem.png,sha256=FUMME17AsciR7QETknScpJEPzUkWh12jy6WXlEfROec,118749
55
+ pyphyschemtools/resources/svg/logo_lpcno_300_dpi_notexttransparent.png,sha256=mjvQoboGYcisfnb4uQkcREFIEOhqZTujhuKbJpzxWvo,66841
56
+ pyphyschemtools/resources/svg/logo_pyPhysChem.png,sha256=Hgn_fbjScovqtQrAw5UHlDameNpKgY6qxtzrk7WChkg,503867
57
+ pyphyschemtools/resources/svg/logo_pyPhysChem_0.png,sha256=e84bedeMK7SYD6UQBVfb8_eIuUs82-fclVwR953zOUM,135976
58
+ pyphyschemtools/resources/svg/logo_pyPhysChem_0.svg,sha256=w7_OpHTbnf55dEThGEDLrRNbjDuI02O_zcXbMxLYqZk,18463
59
+ pyphyschemtools/resources/svg/logopyPhyschem.png,sha256=QBxeHTUJwbUEb9bvXxFH1pgKvrrV-5pAIdKr87_n7jQ,4202238
60
+ pyphyschemtools/resources/svg/logopyPhyschem_2.webp,sha256=kFEuV0DOPkDsS33ifN8EGyLOe4jIEPlmnbKjK36nzFk,115220
61
+ pyphyschemtools/resources/svg/logopyPhyschem_3.webp,sha256=bgneI51XBKy0Yg2zmXcqoPUC6Ow3NWkGg-yVdFImFNI,144648
62
+ pyphyschemtools/resources/svg/logopyPhyschem_4.webp,sha256=0jRfk1S9LbzQgqQN6tPCQysyCZbaQQdLqlVLSXuy_Ds,93012
63
+ pyphyschemtools/resources/svg/logopyPhyschem_5.png,sha256=sxWSpff5wVh65H13NlUHHe_4g0byTN69KUZi6PhZi3E,1826433
64
+ pyphyschemtools/resources/svg/logopyPhyschem_5.webp,sha256=R1MjWXJL3UrOwq6-dQF5uChw3c1kcu257McpzDMDQwM,90134
65
+ pyphyschemtools/resources/svg/logopyPhyschem_6.webp,sha256=-gDM0QemFMlhS6KDBCHCVYGMjuWBoIe04uBIn2PD60Y,103346
66
+ pyphyschemtools/resources/svg/logopyPhyschem_7.webp,sha256=6ij3TYZWcFcqjwHfO9kI2bEFzZOOwI2fWkuMuz6KObA,140670
67
+ pyphyschemtools/resources/svg/logos-Anaconda-pyPhysChem.png,sha256=PlT2nM90CDZBLedZdK3qTBNmrMKDj_rYiyRGS--feJA,170127
68
+ pyphyschemtools/resources/svg/logos-Anaconda-pyPhysChem.svg,sha256=GWcGrQXKA73-PUzVVCXBr35XnxDh8Hb4F4txEqLd9wY,1949
69
+ pyphyschemtools/resources/svg/pyPCBanner.svg,sha256=VMPxBM5_IVsx8qFDPV7xsyU20AXoOsay0t5l1KxdH4U,314955
70
+ pyphyschemtools/resources/svg/pyPhysChem-GitHubSocialMediaTemplate.png,sha256=ivb2e70asN15zQmQBPqeOzuDadCIHiW67wRjl1ds1MY,660416
71
+ pyphyschemtools/resources/svg/pyPhysChem-GitHubSocialMediaTemplate.svg,sha256=QfTilq-1wiwVmx05SHtwAGM1Gzihu706-CoyAMyG6Ug,3980384
72
+ pyphyschemtools/resources/svg/pyPhysChemBanner.png,sha256=sK5NwjbEYJvMAAzPBCqwvrBp_jXvYJHsexQAHxxjiE4,201435
73
+ pyphyschemtools/resources/svg/pyPhysChemBanner.svg,sha256=39LrLnFn7R681Hh3YXB3K17Sp0Xp3ynDOGUbXuORQ3s,4388883
74
+ pyphyschemtools/resources/svg/qrcode-pyPhysChem.png,sha256=rP7X-9eHL7HYj4ffmwBMLfQTaRIOyzShVfavRXiomtw,71070
75
+ pyphyschemtools/resources/svg/repository-open-graph-template.png,sha256=UlnW5BMkLGOv6IAnEi7teDYS_5qeSLmpxRMT9r9m-5Q,51470
76
+ pyphyschemtools-0.1.0.dist-info/licenses/LICENSE,sha256=OXLcl0T2SZ8Pmy2_dmlvKuetivmyPd5m1q-Gyd-zaYY,35149
77
+ pyphyschemtools-0.1.0.dist-info/METADATA,sha256=czaz2iQUWNclIfmwqo9E1ZIKio-KGYN8_jB6jSsJcaw,1352
78
+ pyphyschemtools-0.1.0.dist-info/WHEEL,sha256=wUyA8OaulRlbfwMtmQsvNngGrxQHAvkKcvRmdizlJi0,92
79
+ pyphyschemtools-0.1.0.dist-info/top_level.txt,sha256=N92w2qk4LQ42OSdzK1R2h_x1CyUFaFBOrOML2RnmFgE,16
80
+ pyphyschemtools-0.1.0.dist-info/RECORD,,
@@ -0,0 +1,5 @@
1
+ Wheel-Version: 1.0
2
+ Generator: setuptools (80.10.2)
3
+ Root-Is-Purelib: true
4
+ Tag: py3-none-any
5
+