MultiOptPy 1.20.4__py3-none-any.whl → 1.20.6__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.
@@ -119,35 +119,45 @@ class MD:
119
119
 
120
120
 
121
121
  def exec_md(self, TM, geom_num_list, prev_geom_num_list, B_g, B_e, pre_B_g, iter):
122
+ # Initialize SHAKE constraint if applicable
122
123
  if iter == 0 and len(self.constraint_condition_list) > 0:
123
124
  self.class_SHAKE = SHAKE(TM.delta_timescale, self.constraint_condition_list)
124
- if self.mdtype == "nosehoover" or self.mdtype == "nvt":
125
+
126
+ # Execute Thermostat / Integrator
127
+ if self.mdtype in ["nosehoover", "nvt"]:
125
128
  new_geometry = TM.Nose_Hoover_thermostat(geom_num_list, B_g)
126
129
  elif self.mdtype == "nosehooverchain":
127
130
  new_geometry = TM.Nose_Hoover_chain_thermostat(geom_num_list, B_g)
128
- elif self.mdtype == "velocityverlet" or self.mdtype == "nve":
131
+
132
+ elif self.mdtype in ["langevin", "baoab"]:
133
+ new_geometry = TM.Langevin_thermostat(geom_num_list, B_g)
134
+
135
+ elif self.mdtype in ["velocityverlet", "nve"]:
129
136
  new_geometry = TM.Velocity_Verlet(geom_num_list, B_g, pre_B_g, iter)
130
137
  else:
131
138
  print("Unexpected method.", self.mdtype)
132
- raise
139
+ raise ValueError(f"Unknown MD type: {self.mdtype}")
133
140
 
141
+ # Apply SHAKE constraints
134
142
  if iter > 0 and len(self.constraint_condition_list) > 0:
135
-
136
143
  new_geometry, tmp_momentum_list = self.class_SHAKE.run(new_geometry, prev_geom_num_list, TM.momentum_list, TM.element_list)
137
144
  TM.momentum_list = copy.copy(tmp_momentum_list)
138
145
 
139
- kinetic_ene = 0.0
140
-
141
- for i in range(len(geom_num_list)):
142
- kinetic_ene += np.sum(TM.momentum_list[i] ** 2) / (2 * atomic_mass(TM.element_list[i]))
146
+ # [Optimization] Calculate kinetic energy using vectorized method in Thermostat
147
+ kinetic_ene = TM.calc_tot_kinetic_energy()
143
148
 
144
149
  tot_energy = B_e + kinetic_ene
145
150
  print("hamiltonian :", tot_energy, "hartree")
146
151
 
147
152
  self.tot_energy_list.append(tot_energy)
148
153
 
154
+ # Apply Periodic Boundary Condition
149
155
  if len(self.pbc_box) > 0:
150
156
  new_geometry = apply_periodic_boundary_condition(new_geometry, TM.element_list, self.pbc_box)
157
+ # Ensure new_geometry remains a numpy array after PBC application
158
+ if not isinstance(new_geometry, np.ndarray):
159
+ new_geometry = np.array(new_geometry, dtype=np.float64)
160
+
151
161
  return new_geometry
152
162
 
153
163
 
@@ -221,11 +231,9 @@ class MD:
221
231
  #-----------------------------------
222
232
  with open(self.BPA_FOLDER_DIRECTORY+"input.txt", "w") as f:
223
233
  f.write(str(vars(self.args)))
224
- pre_B_g = []
225
-
226
- for i in range(len(element_list)):
227
- pre_B_g.append(np.array([0,0,0], dtype="float64"))
228
- pre_B_g = np.array(pre_B_g, dtype="float64")
234
+
235
+ # [Optimization] Efficient initialization of pre_B_g
236
+ pre_B_g = np.zeros((len(element_list), 3), dtype=np.float64)
229
237
 
230
238
  #-------------------------------------
231
239
  finish_frag = False
@@ -1,21 +1,21 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: MultiOptPy
3
- Version: 1.20.4
3
+ Version: 1.20.6
4
4
  Summary: Multifunctional geometry optimization tools for quantum chemical calculations.
5
5
  Author-email: ss0832 <highlighty876@gmail.com>
6
- License: GPLv3
6
+ License-Expression: GPL-3.0-or-later
7
7
  Requires-Python: >=3.12
8
8
  Description-Content-Type: text/markdown
9
9
  License-File: LICENSE
10
- Requires-Dist: numpy~=2.2.0
10
+ Requires-Dist: numpy>=2.2.0
11
11
  Requires-Dist: scipy>=1.13.0
12
- Requires-Dist: matplotlib~=3.10.0
12
+ Requires-Dist: matplotlib>=3.10.0
13
13
  Requires-Dist: torch~=2.6.0
14
- Requires-Dist: pyscf~=2.9.0
15
- Requires-Dist: tblite~=0.4.0
14
+ Requires-Dist: pyscf>=2.9.0
15
+ Requires-Dist: tblite>=0.4.0
16
16
  Requires-Dist: ase~=3.26.0
17
17
  Requires-Dist: fairchem-core~=2.7.0
18
- Requires-Dist: sympy~=1.13.0
18
+ Requires-Dist: sympy>=1.13.0
19
19
  Dynamic: license-file
20
20
 
21
21
  # MultiOptPy
@@ -29,7 +29,7 @@ Dynamic: license-file
29
29
  [![Buy Me A Coffee](https://img.shields.io/badge/Buy%20Me%20a%20Coffee-ffdd00?style=for-the-badge&logo=buy-me-a-coffee&logoColor=black)](https://buymeacoffee.com/ss0832)
30
30
 
31
31
  [![PyPI Downloads](https://static.pepy.tech/personalized-badge/multioptpy?period=total&units=INTERNATIONAL_SYSTEM&left_color=BLACK&right_color=GREEN&left_text=downloads)](https://pepy.tech/projects/multioptpy)
32
- [![DOI](https://zenodo.org/badge/DOI/10.5281/zenodo.17970774.svg)](https://doi.org/10.5281/zenodo.17970774)
32
+ [![DOI](https://zenodo.org/badge/DOI/10.5281/zenodo.17973395.svg)](https://doi.org/10.5281/zenodo.17973395)
33
33
 
34
34
  If this tool helped your studies, education, or saved your time, I'd appreciate a coffee!
35
35
  Your support serves as a great encouragement for this personal project and fuels my next journey.
@@ -80,9 +80,9 @@ conda create -n test_mop python=3.12.7
80
80
  conda activate test_mop
81
81
 
82
82
  ## 3. Download and install MultiOptPy:
83
- wget https://github.com/ss0832/MultiOptPy/archive/refs/tags/v1.20.3.zip
84
- unzip v1.20.3.zip
85
- cd MultiOptPy-1.20.3
83
+ wget https://github.com/ss0832/MultiOptPy/archive/refs/tags/v1.20.5.zip
84
+ unzip v1.20.5.zip
85
+ cd MultiOptPy-1.20.5
86
86
  pip install -r requirements.txt
87
87
 
88
88
  ## 4. Copy the test configuration file and run the AutoTS workflow:
@@ -107,10 +107,10 @@ python run_autots.py aldol_rxn.xyz -cfg config_autots_run_xtb_test.json
107
107
  # Installation via pip (Linux)
108
108
  conda create -n <env-name> python=3.12 pip
109
109
  conda activate <env-name>
110
- pip install git+https://github.com/ss0832/MultiOptPy.git@v1.20.3
111
- wget https://github.com/ss0832/MultiOptPy/archive/refs/tags/v1.20.3.zip
112
- unzip v1.20.3.zip
113
- cd MultiOptPy-1.20.3
110
+ pip install git+https://github.com/ss0832/MultiOptPy.git@v1.20.5
111
+ wget https://github.com/ss0832/MultiOptPy/archive/refs/tags/v1.20.5.zip
112
+ unzip v1.20.5.zip
113
+ cd MultiOptPy-1.20.5
114
114
 
115
115
  ## 💻 Command Line Interface (CLI) Functionality (v1.20.2)
116
116
  # The following eight core functionalities are available as direct executable commands in your terminal after installation:
@@ -157,7 +157,7 @@ References are given in the source code.
157
157
  After downloading the repository using git clone or similar commands, move to the generated directory and run the following:
158
158
  python command
159
159
  ```
160
- python optmain.py SN2.xyz -ma 150 1 6 -pyscf -elec 0 -spin 0 -opt rsirfo_block_fsb -modelhess
160
+ python optmain.py SN2.xyz -ma 150 1 6 -pyscf -elec -1 -spin 0 -opt rsirfo_block_fsb -modelhess
161
161
  ```
162
162
  CLI command (arbitrary directory)
163
163
  ```
@@ -412,13 +412,13 @@ If you use MultiOptPy in your research, please cite it as follows:
412
412
  month = dec,
413
413
  year = 2025,
414
414
  publisher = {Zenodo},
415
- version = {v1.20.3},
416
- doi = {10.5281/zenodo.17970774},
417
- url = {https://doi.org/10.5281/zenodo.17970774}
415
+ version = {v1.20.4},
416
+ doi = {10.5281/zenodo.17973395},
417
+ url = {https://doi.org/10.5281/zenodo.17973395}
418
418
  }
419
419
  ```
420
420
  ```
421
- ss0832. (2025). MultiOptPy: Multifunctional geometry optimization tools for quantum chemical calculations (v1.20.3). Zenodo. https://doi.org/10.5281/zenodo.17970774
421
+ ss0832. (2025). MultiOptPy: Multifunctional geometry optimization tools for quantum chemical calculations (v1.20.4). Zenodo. https://doi.org/10.5281/zenodo.17973395
422
422
  ```
423
423
 
424
424
  ## Setting Up an Environment for Using NNP(UMA) on Windows 11
@@ -1,15 +1,15 @@
1
1
  multioptpy/__init__.py,sha256=OJ7BAhHT2pWsIdC5wZfhCA5J8zW-odvaym9ySpPZ3Hw,125
2
- multioptpy/entrypoints.py,sha256=rizxMJSbFq2aAKpcsPIy1CTIh_ZCGkDpCEEkvMOy6uc,39130
2
+ multioptpy/entrypoints.py,sha256=JeAlyVHVGmPXRT9pIMdL5CfKRw6WZgzlYd02hZY8xK4,58482
3
3
  multioptpy/fileio.py,sha256=BJVhls9P_GU-ZB_nZgTgUPejru8-lJ1Qi-typHsG0WY,27175
4
- multioptpy/ieip.py,sha256=7zjvxW76k-5-tdgCpW0u4QzQBQtrLkcTYzNauhTX0qA,16182
5
- multioptpy/interface.py,sha256=t0wzrHhMxn4gV65NHoQ4_zbAVd6tCX0U87Z6sjvIXXc,81835
4
+ multioptpy/ieip.py,sha256=XjN3ii1xVclXdSVb6g1gO1Q_7VtOBFR9jK7MjdFZrFM,16786
5
+ multioptpy/interface.py,sha256=Xohjpk1ofcEmDygGg93dRh9Dzha6VjbtcefmcoXqoZE,82013
6
6
  multioptpy/irc.py,sha256=lTb1atfC5_QgW9a7FqQC-e-CXlTEhi1lms-zie_dEhI,20777
7
- multioptpy/moleculardynamics.py,sha256=FGA2fulBbNx26gCUSoauaOMoT0dIIddemXEiAoHC6p0,20359
7
+ multioptpy/moleculardynamics.py,sha256=qSrHtQYZXIK-ji7HyZeReAjLhrB2k_1DrO6iOTuudog,20816
8
8
  multioptpy/neb.py,sha256=eQQsB8HrDOZ4rlvHOUIwfR52QNDvuhvH1am5h6K7Ho0,59339
9
9
  multioptpy/optimization.py,sha256=FBMueS5ChGCZvCHsY7S8hCLf4nrWvjNMcEfWfj8vIdU,101480
10
10
  multioptpy/optimizer.py,sha256=Nm6uDEMiv9u5_CPdhQYqGzwmCqHNzDIdYeYIn9z5EwM,42047
11
11
  multioptpy/Calculator/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
12
- multioptpy/Calculator/ase_calculation_tools.py,sha256=gJsqUhv_JVv5_OrHbOD3IvSdfkJuRz4pQ14a_xmkknA,20143
12
+ multioptpy/Calculator/ase_calculation_tools.py,sha256=TxLpUsXM2Cg3U4jUfquZzq6IhGz7FbLj1GO8nWijzzw,20830
13
13
  multioptpy/Calculator/dxtb_calculation_tools.py,sha256=s3LTuypTsfZEIrnkuOQUOCegfh9LCyUG0tI3zzYiliQ,16492
14
14
  multioptpy/Calculator/emt_calculation_tools.py,sha256=aq4I3yM0_A7PFCX2sB5qHfEoij2LP0cqYu_BQkMztMQ,21762
15
15
  multioptpy/Calculator/gpaw_calculation_tools.py,sha256=P2a8YSCzHvgSdvPS_HQo-liLkVBQ1ePr4tooHJm2aL4,8079
@@ -25,10 +25,11 @@ multioptpy/Calculator/ase_tools/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm
25
25
  multioptpy/Calculator/ase_tools/fairchem.py,sha256=n7sZVEik1iw-gjTXyUx6uGQbJhn9FhhCJXatKQGK8oY,1627
26
26
  multioptpy/Calculator/ase_tools/gamess.py,sha256=OvRD5TGze--x-ZKqLPUAC78UwVlZwLDf-B4VoHrjp9I,904
27
27
  multioptpy/Calculator/ase_tools/gaussian.py,sha256=y4r64zX2o5zORUDt_h6SmnsBQ3wM8WQr7zP1XVmcw74,7829
28
+ multioptpy/Calculator/ase_tools/gxtb_dev.py,sha256=cBWenNu4PYtgQ-kelwmMqJ0FK4WxnCd-IGOA_BxX-y0,1529
28
29
  multioptpy/Calculator/ase_tools/mace.py,sha256=AsyUkTFrOI-kSnDT4d7ehViQfCRT5fG8wdYUTn56RCw,928
29
30
  multioptpy/Calculator/ase_tools/mopac.py,sha256=RUMNikbmVxIvoTi4H8JU3fXY2vBu6BzPxcv0NPd_L-k,723
30
31
  multioptpy/Calculator/ase_tools/nwchem.py,sha256=0NPIaX1_mzkzLh_r9e3WJA6fEiNrksEbXFwbATHkNuw,1162
31
- multioptpy/Calculator/ase_tools/orca.py,sha256=-9D5bqzQzn9IkvbYGC-OJtJKbneGKFKQVBcOhldvfw8,1026
32
+ multioptpy/Calculator/ase_tools/orca.py,sha256=JjTCvW3YT1KwaImkIxyd8FcUgz8BHO5ZFGHqiX3lJKc,10141
32
33
  multioptpy/Calculator/ase_tools/pygfn0.py,sha256=N-Rrtu8wvduPxRSGQMYK9LmQiWCtfCbkBOTXjhHK-gE,1468
33
34
  multioptpy/Constraint/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
34
35
  multioptpy/Constraint/constraint_condition.py,sha256=wS14fYCzP1V4_d1HLElW3a6fxKfEEX3EjxPvvbRPhZ8,44202
@@ -52,7 +53,7 @@ multioptpy/Interpolation/linear_interpolation.py,sha256=9Nu3znsNKGWoYZ0gEWhhrwEi
52
53
  multioptpy/Interpolation/savitzky_golay_interpolation.py,sha256=MVUT8Rbe_8oN11FAPu99LeeJwOZ-C23wnLwiOo9f8Lc,12483
53
54
  multioptpy/Interpolation/spline_interpolation.py,sha256=n_HK4TDri2owAwcW_zyIxnZKpO96WcV8IvLhm0QPuB0,14746
54
55
  multioptpy/MD/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
55
- multioptpy/MD/thermostat.py,sha256=CBC_LLuOqum6Gvk2uK23zUKF0qb8tjHhzi6CziJkQUs,8205
56
+ multioptpy/MD/thermostat.py,sha256=z7WqlR7wzvSRk2IHXTHeWJj-PTW4083viEjNWLXIJd8,12232
56
57
  multioptpy/MEP/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
57
58
  multioptpy/MEP/pathopt_bneb_force.py,sha256=k9ld8UJaWWOoU6yjTPGpE1kyx7V69W2k0QR23_lSnys,23826
58
59
  multioptpy/MEP/pathopt_dmf_force.py,sha256=69yCYIAIWyJmz6ouS6tZ5i7KVIyWwxEmwq_aqFUCSq8,21014
@@ -77,7 +78,7 @@ multioptpy/ModelHessian/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG
77
78
  multioptpy/ModelHessian/approx_hessian.py,sha256=efF8FA7lqBuw8h4DmkfU7T78yZiS5tQ_FhMm0CAseYE,6717
78
79
  multioptpy/ModelHessian/calc_params.py,sha256=aWkXqqyYpg5_qemflM2oIkFA8g-h3wTiE_C_a5dkLxc,7645
79
80
  multioptpy/ModelHessian/fischer.py,sha256=pdXmOMGF4Ie8cA3qN-KuyhJl_cuetvmpoI9t0fE3tNE,11011
80
- multioptpy/ModelHessian/fischerd3.py,sha256=zdmdEOqCWseY9VrroOZY9kOOIeBfJkhWlwDIBrgJwVI,16266
81
+ multioptpy/ModelHessian/fischerd3.py,sha256=QWS-vWkHEzPLiMl8bAhd5A9BV1fKj8ym7GVVdZ8fg5M,13450
81
82
  multioptpy/ModelHessian/fischerd4.py,sha256=GuSwCjzMV8g6BHvX0DJjHr_8AfjVdrfNn5DO_BEdDj4,17070
82
83
  multioptpy/ModelHessian/gfn0xtb.py,sha256=xUipDBP_o9Y9bJ74RehCY06kroueStc0MsSm1llg638,27051
83
84
  multioptpy/ModelHessian/gfnff.py,sha256=INsTLJ2c7wEqk0mxn_lURsQ2JsT8dM6JClR2etEein8,31162
@@ -151,8 +152,8 @@ multioptpy/Optimizer/rfo_neb.py,sha256=gtgkW8ImC_-QZGpsYHmBgvstkoPuGedNUG6BFrfvM
151
152
  multioptpy/Optimizer/ric_rfo.py,sha256=xSDYTkOxQ8MytlSYo0z49Grd9-ZPcaJFbmHuqs7ePwI,33884
152
153
  multioptpy/Optimizer/rl_step.py,sha256=XARDUifWoVmcoXXbVvmVGxvNEyLA1DtfENGnliUuuTg,27344
153
154
  multioptpy/Optimizer/rmspropgrave.py,sha256=xUDXB1NKLljfc39NWXqc2-5NC-ux9bt58NpYlXb7LnM,2327
154
- multioptpy/Optimizer/rsirfo.py,sha256=wSiueMmcpP2ZTpOl8ziHvv2ijuzhT0M9qle_DMkLOY4,76994
155
- multioptpy/Optimizer/rsprfo.py,sha256=P_wQttq6cZ7XJvfkYIuW1IRpZBqImMgfCmpNwRCWPiI,49316
155
+ multioptpy/Optimizer/rsirfo.py,sha256=IjJ2BDu0QL4cFWi04BBmTU5N7xPqnAIf2jkkO3GV8OM,81810
156
+ multioptpy/Optimizer/rsprfo.py,sha256=MZs8yBO3z-jhBAxZYR1WaG5DOWEoBC_uYrHqourYh70,56180
156
157
  multioptpy/Optimizer/sadam.py,sha256=7FjyALhYqHCOKXrN06tzCiCuS1SWKIPh1bJEdORYXMk,1865
157
158
  multioptpy/Optimizer/samsgrad.py,sha256=QGL-Pv6A4pvgOAI-BGyNqci7X-GH2J98Wm2xsoJa2Zc,2016
158
159
  multioptpy/Optimizer/tr_lbfgs.py,sha256=3GK1meULSBkuCyJkJ7AvEBzq2cFu8sr6dx3GIePrlAw,26949
@@ -166,6 +167,7 @@ multioptpy/OtherMethod/dimer.py,sha256=54oqeExIqP_PPBpaZAwo59X11n6k1BgttpYIGKnJ7
166
167
  multioptpy/OtherMethod/elastic_image_pair.py,sha256=YSXjfrmHRRnl5YZ5JVZMLsDSCyfY911Q2F5qp6dj1rQ,33586
167
168
  multioptpy/OtherMethod/modelfunction.py,sha256=GX_YvA8rOzcKeaZcth6L-S0q9wdsTLA07E9sjOaFyRU,26168
168
169
  multioptpy/OtherMethod/newton_traj.py,sha256=gozEqyOCpD4zbYMf3IwPKIMC7v4D7ddXCu1MUz8tzxE,20154
170
+ multioptpy/OtherMethod/spring_pair_method.py,sha256=6YdLCIO-OOt_Mzzf8JFFtWVYAIa1Tsdi1VCxEbbPuto,15577
169
171
  multioptpy/OtherMethod/twopshs.py,sha256=GmBLKTNK-HqFpVmGgwmrtw9-IOf_hPYlUTslx95Sl20,49969
170
172
  multioptpy/PESAnalyzer/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
171
173
  multioptpy/PESAnalyzer/calc_irc_curvature.py,sha256=YVZBydXcYLfO0Y8ZYGS7WXokkORfVQaO6zPbXwhQJt4,4986
@@ -241,9 +243,9 @@ multioptpy/Wrapper/ieip_wrapper.py,sha256=H0Fa7x5mzyFu5rnig7GdcZGX9LFclzRxDuREX5
241
243
  multioptpy/Wrapper/md_wrapper.py,sha256=EGQKY8BwBbjWkXxKQGlelzht872OsUp9GmyxPDgWav4,3050
242
244
  multioptpy/Wrapper/neb_wrapper.py,sha256=ZOyHhuSDKA5hABnQB7PYPfbQ9OyaAj9KKBeKu_HLiY4,3254
243
245
  multioptpy/Wrapper/optimize_wrapper.py,sha256=b5DoiSb5Y4YjzYaSfxNa4A5QMn7_UzAvActPOpL78Ok,2667
244
- multioptpy-1.20.4.dist-info/licenses/LICENSE,sha256=OXLcl0T2SZ8Pmy2_dmlvKuetivmyPd5m1q-Gyd-zaYY,35149
245
- multioptpy-1.20.4.dist-info/METADATA,sha256=dG63R9Y4sXhoGbAjwINFbLarxvbM4eqBR81Y_pkyrPo,16690
246
- multioptpy-1.20.4.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
247
- multioptpy-1.20.4.dist-info/entry_points.txt,sha256=u2Y0tgYMu7UyZumhLCfoME92lCQXhurAAsixL_B3caw,404
248
- multioptpy-1.20.4.dist-info/top_level.txt,sha256=_MXQNcS1xJbRbGnYUM-F_G-PlLK7wTIkuqx-EvfAhRc,11
249
- multioptpy-1.20.4.dist-info/RECORD,,
246
+ multioptpy-1.20.6.dist-info/licenses/LICENSE,sha256=OXLcl0T2SZ8Pmy2_dmlvKuetivmyPd5m1q-Gyd-zaYY,35149
247
+ multioptpy-1.20.6.dist-info/METADATA,sha256=wPARwptr8gTPYvTEG3kamkh_rOecyhJbNndyInlmngc,16713
248
+ multioptpy-1.20.6.dist-info/WHEEL,sha256=wUyA8OaulRlbfwMtmQsvNngGrxQHAvkKcvRmdizlJi0,92
249
+ multioptpy-1.20.6.dist-info/entry_points.txt,sha256=u2Y0tgYMu7UyZumhLCfoME92lCQXhurAAsixL_B3caw,404
250
+ multioptpy-1.20.6.dist-info/top_level.txt,sha256=_MXQNcS1xJbRbGnYUM-F_G-PlLK7wTIkuqx-EvfAhRc,11
251
+ multioptpy-1.20.6.dist-info/RECORD,,
@@ -1,5 +1,5 @@
1
1
  Wheel-Version: 1.0
2
- Generator: setuptools (80.9.0)
2
+ Generator: setuptools (80.10.2)
3
3
  Root-Is-Purelib: true
4
4
  Tag: py3-none-any
5
5