TB2J 0.9.12.7__py3-none-any.whl → 0.9.12.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.
TB2J/Jdownfolder.py CHANGED
@@ -47,8 +47,8 @@ class JDownfolder:
47
47
  self.qmesh = qmesh
48
48
  self.qpts = monkhorst_pack(qmesh)
49
49
  self.nqpt = len(self.qpts)
50
- self.nMn = self.nM * 3
51
- self.nLn = self.nL * 3
50
+ self.nMn = self.nM * self.nxyz
51
+ self.nLn = self.nL * self.nxyz
52
52
  self.iso_only = iso_only
53
53
 
54
54
  def get_JR(self):
@@ -62,6 +62,7 @@ class JDownfolder:
62
62
  for iR, R in enumerate(self.Rlist):
63
63
  phase = np.exp(-2.0j * np.pi * np.dot(q, R))
64
64
  JR_downfolded[iR] += np.real(Jq_downfolded[iq] * phase / self.nqpt)
65
+ return JR_downfolded, self.Rlist
65
66
 
66
67
  def downfold_oneq(self, J):
67
68
  JMM = J[np.ix_(self.iMn, self.iMn)]
@@ -121,7 +122,7 @@ class PWFDownfolder:
121
122
  marker="o",
122
123
  ax=None,
123
124
  savefig="downfold_band.png",
124
- show=True,
125
+ show=False,
125
126
  )
126
127
  self.JR_downfolded = ewf.HwannR
127
128
  self.Rlist = ewf.Rlist
TB2J/MAEGreen.py CHANGED
@@ -155,7 +155,6 @@ class MAEGreen(ExchangeNCL):
155
155
  dE_angle = np.zeros(na, dtype=complex)
156
156
  dE_angle_atom = np.zeros((na, self.natoms), dtype=complex)
157
157
  # dE_angle_orbitals = np.zeros((na, self.natoms, self.norb, self.norb), dtype=complex)
158
- # dE_angle_orbitals = DefaultDict(lambda: 0)
159
158
  dE_angle_atom_orb = DefaultDict(lambda: 0)
160
159
  for iangle, (theta, phi) in enumerate(zip(thetas, phis)):
161
160
  for ik, dHk in enumerate(Hsoc_k):
TB2J/__init__.py CHANGED
@@ -1,5 +1,3 @@
1
1
  import importlib.metadata
2
- import TB2J
3
2
 
4
3
  __version__ = importlib.metadata.version("TB2J")
5
-
TB2J/anisotropy.py CHANGED
@@ -339,8 +339,8 @@ class Anisotropy:
339
339
  # print(X_max, Y_max, X_min, Y_min)
340
340
  # ax.scatter(X_max, Y_max, color="r", marker="o")
341
341
  # ax.scatter(X_min, Y_min, color="b", marker="o")
342
- ax.set_xlabel("$\theta$ (degree)")
343
- ax.set_ylabel("$\phi$ degree")
342
+ ax.set_xlabel(r"$\theta$ (degree)")
343
+ ax.set_ylabel(r"$\phi$ degree")
344
344
  # ax.scatter(X_max, Y_max, color="r", marker="o")
345
345
  # ax.scatter(X_min, Y_min, color="r", marker="o")
346
346
 
TB2J/basis.py CHANGED
@@ -3,10 +3,7 @@
3
3
  """
4
4
  class for basis set
5
5
  """
6
- from typing import Any
7
- import numpy as np
8
6
  import dataclasses
9
- from TB2J.utils import symbol_number
10
7
 
11
8
 
12
9
  @dataclasses.dataclass
TB2J/gpaw_wrapper.py CHANGED
@@ -2,10 +2,8 @@ try:
2
2
  from gpaw.lcao.tightbinding import TightBinding
3
3
  from gpaw import restart, GPAW
4
4
  from gpaw.lcao.tools import (
5
- get_lead_lcao_hamiltonian,
6
5
  get_lcao_hamiltonian,
7
6
  get_bf_centers,
8
- get_bfi,
9
7
  )
10
8
 
11
9
  _has_gpaw = True
@@ -16,7 +14,6 @@ except:
16
14
  import numpy as np
17
15
  from scipy.linalg import eigh
18
16
  from ase.dft.kpoints import monkhorst_pack
19
- from ase.units import Ha
20
17
  import pickle
21
18
 
22
19
 
@@ -18,12 +18,12 @@ from datetime import datetime
18
18
  import matplotlib.pyplot as plt
19
19
  import numpy as np
20
20
 
21
- from TB2J.versioninfo import __version__
22
21
  from TB2J.io_exchange.io_txt import write_Jq_info
23
22
  from TB2J.Jtensor import combine_J_tensor
24
23
  from TB2J.kpoints import monkhorst_pack
25
24
  from TB2J.spinham.spin_api import SpinModel
26
25
  from TB2J.utils import symbol_number
26
+ from TB2J.versioninfo import __version__
27
27
 
28
28
 
29
29
  class SpinIO(object):
@@ -63,7 +63,6 @@ def write_uppasd_exchange(cls, fname):
63
63
  d = np.dot(np.array(R), cls.atoms.get_cell()) + pos[j] - pos[i]
64
64
  myfile.write(
65
65
  "{i} {j} {Rx} {Ry} {Rz} {Jij}\n".format(
66
- IID=counter,
67
66
  i=i + 1,
68
67
  j=j + 1,
69
68
  Rx=d[0],
TB2J/plot.py CHANGED
@@ -1,11 +1,12 @@
1
+ import argparse
2
+ import os
3
+
1
4
  import matplotlib.pyplot as plt
2
- from TB2J.spinham.spin_api import SpinModel
3
- from TB2J.io_exchange.io_exchange import SpinIO
4
5
  import numpy as np
5
- from TB2J.versioninfo import __version__
6
+
7
+ from TB2J.io_exchange.io_exchange import SpinIO
6
8
  from TB2J.spinham.qsolver import QSolverASEWrapper
7
- import argparse
8
- import os
9
+ from TB2J.spinham.spin_api import SpinModel
9
10
 
10
11
 
11
12
  def write_eigen(qmesh, gamma=True, path="./", output_fname="EigenJq.txt", **kwargs):
@@ -25,7 +26,7 @@ def plot_magnon_band(
25
26
  Jq=False,
26
27
  kpath_fname="exchange_kpth.txt",
27
28
  ax=None,
28
- **kwargs
29
+ **kwargs,
29
30
  ):
30
31
  m = SpinModel(fname=fname, sc_matrix=None)
31
32
  m.set_ham(**kwargs)
@@ -57,7 +58,7 @@ def plot_magnon_dos(
57
58
  txt_filename="magnon_dos.txt",
58
59
  Jq=False,
59
60
  ax=None,
60
- **kwargs
61
+ **kwargs,
61
62
  ):
62
63
  ffname = os.path.join(path, "exchange.xml")
63
64
  if not (os.path.exists(ffname) and os.path.isfile(ffname)):
TB2J/rotate_atoms.py CHANGED
@@ -2,7 +2,7 @@
2
2
  import copy
3
3
  from ase.io import read, write
4
4
  import numpy as np
5
- from TB2J.tensor_rotate import Rxx, Rxy, Rxz, Ryx, Ryy, Ryz, Rzx, Rzy, Rzz
5
+ from TB2J.tensor_rotate import Rzx, Rzy, Rzz
6
6
 
7
7
 
8
8
  def rotate_atom_xyz(atoms, noncollinear=False):
TB2J/scripts/wann2J.py CHANGED
@@ -61,7 +61,7 @@ def run_wann2J():
61
61
  if args.efermi is None:
62
62
  print("Please input fermi energy using --efermi ")
63
63
  sys.exit()
64
- if args.elements is None and args.index_magnetic_atoms is None:
64
+ if args.elements is None or args.index_magnetic_atoms is None:
65
65
  print("Please input the magnetic elements, e.g. --elements Fe Ni")
66
66
  sys.exit()
67
67
 
@@ -19,7 +19,6 @@ from .plot import group_band_path
19
19
  from ase.cell import Cell
20
20
  from .qsolver import QSolver
21
21
  import json
22
- import os
23
22
 
24
23
 
25
24
  class NumpyEncoder(json.JSONEncoder):
TB2J/tensor_rotate.py CHANGED
@@ -1,7 +1,6 @@
1
1
  import numpy as np
2
- import scipy as sp
3
2
  from scipy.spatial.transform import Rotation
4
- from numpy.linalg import norm, det
3
+ from numpy.linalg import norm
5
4
 
6
5
 
7
6
  # Rotation from a to b
@@ -2,10 +2,8 @@
2
2
  parse the tb files in Wannier90
3
3
  """
4
4
 
5
- import os
6
5
  import re
7
6
  import numpy as np
8
- from typing import List, Tuple, Dict
9
7
 
10
8
 
11
9
  def ssrline(file):
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: TB2J
3
- Version: 0.9.12.7
3
+ Version: 0.9.12.8
4
4
  Summary: TB2J: First principle to Heisenberg exchange J using tight-binding Green function method
5
5
  Author-email: Xu He <mailhexu@gmail.com>
6
6
  Maintainer-email: Xu He <mailhexu@gmail.com>
@@ -26,7 +26,7 @@ Classifier: License :: OSI Approved :: BSD License
26
26
  Requires-Python: >=3.6
27
27
  Description-Content-Type: text/markdown
28
28
  License-File: LICENSE
29
- Requires-Dist: numpy<2.0
29
+ Requires-Dist: numpy
30
30
  Requires-Dist: scipy
31
31
  Requires-Dist: matplotlib
32
32
  Requires-Dist: ase>=3.19
@@ -38,6 +38,7 @@ Requires-Dist: pre-commit
38
38
  Requires-Dist: sympair>0.1.0
39
39
  Requires-Dist: tomli>=2.0.0
40
40
  Requires-Dist: tomli-w>=1.0.0
41
+ Requires-Dist: typing_extensions
41
42
  Provides-Extra: siesta
42
43
  Requires-Dist: sisl>=0.9.0; extra == "siesta"
43
44
  Requires-Dist: netcdf4; extra == "siesta"
@@ -1,12 +1,12 @@
1
- TB2J/Jdownfolder.py,sha256=U6R8v6ZC-AgMA6wvvFPyacXX_lYJcRu1kzNr7aVB1tg,10827
1
+ TB2J/Jdownfolder.py,sha256=K8WrvU_5daH7eQgB53VymJPFRWZoOMlvQGgIca9GNt0,10885
2
2
  TB2J/Jtensor.py,sha256=WRhpp5N92a6lA1jeM1hc7jYUoTOLIdMnIIKpdOyzjR4,3192
3
3
  TB2J/MAE.py,sha256=fM8U-Dgp9HcQOEeC_kyZV1oVrygBvcux9BraUXVouvY,10994
4
- TB2J/MAEGreen.py,sha256=zVLjQtFDFcRmC8PYm7MOgKnkOuFJEMKr-eoNBABUsMc,15759
4
+ TB2J/MAEGreen.py,sha256=l-l3y9YGTKG2Vqa9ysSD6abyy0_PhYFqst5yoMjzgGE,15706
5
5
  TB2J/Oiju.py,sha256=cNGv8N5uH_swGq7cnAt2OyiDfqtjLlLrwseGu0E4iaM,3383
6
6
  TB2J/Oiju_epc.py,sha256=oytM3NYW7nWmklrGgNlqwIpI_JYv_hb7ZnR4o9nYNog,6809
7
- TB2J/__init__.py,sha256=InMvlYShnmTAXsFy2f37MH2g5BaFYj-PTq6v-xGBOGg,89
8
- TB2J/anisotropy.py,sha256=0zmvXkmDmakbBOwGYLa3IIkv5cE99SHLAQJsGoZz7JQ,25463
9
- TB2J/basis.py,sha256=DFo6_QUwjBwisP6zGxvoO0lpGTMDPAOkiL9giNCjOjA,1558
7
+ TB2J/__init__.py,sha256=4snBkP_Q_-pFYbLHVoTWZ35Oo5zCX6tsPQ0_L8DKfFo,76
8
+ TB2J/anisotropy.py,sha256=VaIDM_4IPT9dWkzruVWiR99FbcCbp5cn1LiNuqI-zv0,25465
9
+ TB2J/basis.py,sha256=yoVL-jLGJ8ykdsMX3MpnjeNsAA_F07jy53HQ60bnt3o,1479
10
10
  TB2J/citation.py,sha256=gcQeyJZaT1Qrtsl8Y3s4neOH3-vvgmIcCvXeV2o3vj0,2891
11
11
  TB2J/contour.py,sha256=zLHQZZ3hhgLkLFPATCraLOJyLJKLC0fba_L_5sRz23o,3246
12
12
  TB2J/density_matrix.py,sha256=D5k8Oe21OCiLVORNYbo4TZOFG0slrQSbj91kJ3TMFjs,1514
@@ -16,7 +16,7 @@ TB2J/exchangeCL2.py,sha256=1b0Lx5dSjgCUYSSng5cqJzo-hmXCD91cbaes9jqsU5s,11474
16
16
  TB2J/exchange_params.py,sha256=RZ7xmWJTgwbp1OZDWWXhFmTt4DPBfabEgfcmfD9Nq4Q,8030
17
17
  TB2J/exchange_pert.py,sha256=jmFMtQbYa_uczM4VAeS6TijkIHRFIqEzZJswzE9Wfuo,8523
18
18
  TB2J/exchange_qspace.py,sha256=ZL68qBGFUaQ9BsSPsJaaoWOr9RssPiqX34R_9I3nk_8,8436
19
- TB2J/gpaw_wrapper.py,sha256=aJ--9Dtyq7jOP1Hkh-Sh1nWcfXm6zKcljOCO0DNCAr0,6890
19
+ TB2J/gpaw_wrapper.py,sha256=cnXwDDN-pcfxRI3o5OTNjgql8CkxylltFZy9bDxOffU,6813
20
20
  TB2J/green.py,sha256=ySXjoV3Cj_E2C41dRfc3TkS7M4vmM6qcHXkt-_-jxsY,17071
21
21
  TB2J/greentest.py,sha256=2ISSfhor9ecSEOi_E6b4Cv26wEIQlwlzca0ru8z44_E,1603
22
22
  TB2J/io_merge.py,sha256=mgoc8ZUP_a_g-9KvWWISp25qo6aBJ8TQsDsBrMSB5nk,7509
@@ -27,12 +27,12 @@ TB2J/orbital_magmom.py,sha256=JTwO9ZDgRRQndqR9aFIua4eTvwLMoGsTiY_HaIPMZ2I,889
27
27
  TB2J/orbmap.py,sha256=XLQjKMxCy2eADaM5eb2F_zG08V7lzpXJxp5uEtTeVYI,7194
28
28
  TB2J/pauli.py,sha256=ESpAhk6LG5ugzuW1YFUTqiDxcg-pQ7wNnzR2FtUnvKM,5295
29
29
  TB2J/pert.py,sha256=RaCJfewl0doht4cjAnzzGKe-uj2le4aqe0iPKFrq9fo,1192
30
- TB2J/plot.py,sha256=-QJXd6QCIEaeLXvIHEfSoaOpb3CyfVDocmahBVE6B_c,4116
31
- TB2J/rotate_atoms.py,sha256=Dwptn-wdDW4zYzjYb95yxTzuZOe9WPuLjh3d3-YcSs0,3277
30
+ TB2J/plot.py,sha256=AhZW7ThKYWVZR8L_T2WhvBoqtw1CkrwG1TxgExtvQYI,4079
31
+ TB2J/rotate_atoms.py,sha256=Gl_NDPrzJR0Xi9GP-0N2ZZFZ3hpccoEG-nLE6vr9L0o,3247
32
32
  TB2J/rotate_siestaDM.py,sha256=I4ytO8uFP8_GFyBs9-zMdiMSZS3Y3lj2dSLfNBNI2ZY,1078
33
33
  TB2J/sisl_wrapper.py,sha256=A5x1-tt8efUSPeGY5wM5m6-pJYQFXTCzQHVqD6RBa2g,14792
34
34
  TB2J/symmetrize_J.py,sha256=pv65f7TXW371kfnByIkg885XFEGg4UmWlzqY7cOUNAk,4474
35
- TB2J/tensor_rotate.py,sha256=4-DfT_Mg5e40fbd74M5W0D5DqmUq-kVOOLDkkkI834A,8083
35
+ TB2J/tensor_rotate.py,sha256=ZAC52knugXNJHpvpqSrmrHVdCs04b9v5X2F7rXV2zn4,8059
36
36
  TB2J/thetaphi.py,sha256=Z7N3EOSM7rjHd7b9HxMYLPQO__uR0VwEiV9b471Yudc,399
37
37
  TB2J/utest.py,sha256=z_ahi7tpHQF9WlHNQihcQ7qzfezRJQXQt28eB1X_z64,3897
38
38
  TB2J/utils.py,sha256=DHkc7BK0KUGesfoAv1OxMgIw_iZzcFXh--3ybsFSd_c,12535
@@ -56,11 +56,11 @@ TB2J/interfaces/abacus/test_density_matrix.py,sha256=bMWWJYtDS57SpPZ-eZXZ9Hr_UK4
56
56
  TB2J/interfaces/abacus/test_read_HRSR.py,sha256=W1oO_yigT50Yb5_u-KB_IfTpM7kArGkBuMSMs0H4CTs,1235
57
57
  TB2J/interfaces/abacus/test_read_stru.py,sha256=hoKPHVco8vwzC7Gao4bOPCdAPhh29x-9DTJJqRr7AYM,788
58
58
  TB2J/io_exchange/__init__.py,sha256=LqEnG67qDVKt4hCUywDEQvUIJ7jsQjmtueOW_J16NOE,54
59
- TB2J/io_exchange/io_exchange.py,sha256=_NRh0vUrnowOUUk7sndr2-LKfQnnXQeIVKC9K8pugFI,24698
59
+ TB2J/io_exchange/io_exchange.py,sha256=LjNmd3VWXQD588ICcytQfR2_DLDyXKuIuFiPcf2tKhg,24698
60
60
  TB2J/io_exchange/io_multibinit.py,sha256=8PDmWxzGuv-GwJosj2ZTmiyNY_duFVWJ4ekCuSqGdd8,6739
61
61
  TB2J/io_exchange/io_tomsasd.py,sha256=NqkAC1Fl-CUnFA21eBzSy_S5F_oeQFJysw4UukQbN8o,4173
62
62
  TB2J/io_exchange/io_txt.py,sha256=jFScdZ5W5_VNSEWYq6WDNKWeshZ0wxFfEzyjfvvU9MA,10601
63
- TB2J/io_exchange/io_uppasd.py,sha256=bI4iPEgnK4TvCZNvb6x2xYXgjW7pEehCqmcizy2pqFU,3301
63
+ TB2J/io_exchange/io_uppasd.py,sha256=qhGhHbp3cZmwuBo1SrEBQulrPjEWPD3yRgVs-juQ7Fs,3268
64
64
  TB2J/io_exchange/io_vampire.py,sha256=vOStLmtCiWLp9GPhZpsAmrtaRHg9KSmtOM2Fky6yCQA,5762
65
65
  TB2J/magnon/__init__.py,sha256=Q69duroGIIotgW_71ZdHYarSiJLGAu9NPYgEacUk6eI,117
66
66
  TB2J/magnon/io_exchange2.py,sha256=EcC3x6H13qq61WBsr__xKzHDtSvy_dMz1tEdUaqSG2I,23265
@@ -91,11 +91,11 @@ TB2J/scripts/TB2J_rotateDM.py,sha256=lH71mkg0BKDGVLoK7VvmIPkf2mCjyc0V5l9rZZgyfP4
91
91
  TB2J/scripts/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
92
92
  TB2J/scripts/abacus2J.py,sha256=3DE3EjRIcI0ydBQoH3WTGpYKYMEVL53hnB8PQ4gojdk,1809
93
93
  TB2J/scripts/siesta2J.py,sha256=2CrS-wfVr0W2NaGvY9niNslC0xoX0WgDZFlrmIWUr20,2332
94
- TB2J/scripts/wann2J.py,sha256=djLBG3t4oEimokMG6TIFHyjp8u8DtnizN9coQXOTN7U,3254
94
+ TB2J/scripts/wann2J.py,sha256=lzRqyKWkwlbTp9PZLwFLdFhtVE6twescJxbJ1Uw1r84,3253
95
95
  TB2J/spinham/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
96
96
  TB2J/spinham/base_parser.py,sha256=oQRHvFE_BlUtTaTZykKgvicu40oXcbICB-D1aAt-qlA,2196
97
97
  TB2J/spinham/constants.py,sha256=y4-hRyl5EAR42k24Oa5XhAsUQtKVn1MAgyqNf-p3PrM,762
98
- TB2J/spinham/hamiltonian.py,sha256=OfsjlGIgFwpXaohopZcgPamSfjm3X46_zc245eyTr_A,16607
98
+ TB2J/spinham/hamiltonian.py,sha256=x7ACIdZhblGMStsENk8lpqYGnT2YeIZEN2ikjC1H5Uk,16597
99
99
  TB2J/spinham/hamiltonian_terms.py,sha256=7e84tfEjvAfZltUkrSWi1sUEiW_itLKy83lxi5iBpcQ,9714
100
100
  TB2J/spinham/plot.py,sha256=tLLNqFAATVrP1kmSVLPKzn686i-CUyqu4qgOcs-okHI,6599
101
101
  TB2J/spinham/qsolver.py,sha256=Sr9I3aGfVNYn5wzwPx1QonHe6ZZUXBAujWRa7nTA5u4,4986
@@ -104,10 +104,10 @@ TB2J/spinham/spin_xml.py,sha256=mneeZzkCE5andvIlur_6VK3XzWvoL-PVqSoWKXtDYTM,1103
104
104
  TB2J/spinham/supercell.py,sha256=y17uUC6r3gQb278FhxIW4CABihfLTvKFj6flyXrCPR8,12217
105
105
  TB2J/wannier/__init__.py,sha256=7ojCbM84PYv1X1Tbo4NHI-d3gWmQsZB_xiYqbfxVV1E,80
106
106
  TB2J/wannier/w90_parser.py,sha256=dbd63LuKyv2DVUzqRINGsbDzEsOxsQyE8_Ear_LQIRg,4620
107
- TB2J/wannier/w90_tb_parser.py,sha256=qt8pnuprmPp9iIAYwPkPbmEzk6ZPgMq2xognoQp7vwc,4610
108
- tb2j-0.9.12.7.dist-info/licenses/LICENSE,sha256=CbZI-jyRTjiqIcWa244cRSHJdjjtUNqGR4HeJkgEwJw,1332
109
- tb2j-0.9.12.7.dist-info/METADATA,sha256=xKTEEAWJ12fTonjhJRIcpEFs9zUlBcVEasug7atzo7w,4138
110
- tb2j-0.9.12.7.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
111
- tb2j-0.9.12.7.dist-info/entry_points.txt,sha256=QlTwH3gCmaKBW48nr0FwGTd5LTThTiemw_36u7e1B7o,770
112
- tb2j-0.9.12.7.dist-info/top_level.txt,sha256=whYa5ByLYhl5XnTPBHSWr-IGD6VWmr5Ql2bye2qwV_s,5
113
- tb2j-0.9.12.7.dist-info/RECORD,,
107
+ TB2J/wannier/w90_tb_parser.py,sha256=XPh0PNgX_fKYQodDOzZj6DKsvgULMQERU8Kjh4U2xZY,4563
108
+ tb2j-0.9.12.8.dist-info/licenses/LICENSE,sha256=CbZI-jyRTjiqIcWa244cRSHJdjjtUNqGR4HeJkgEwJw,1332
109
+ tb2j-0.9.12.8.dist-info/METADATA,sha256=XPEff72kw_twdGi2ruf-uI3rH4Y8AVyphAGf3612y1k,4167
110
+ tb2j-0.9.12.8.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
111
+ tb2j-0.9.12.8.dist-info/entry_points.txt,sha256=QlTwH3gCmaKBW48nr0FwGTd5LTThTiemw_36u7e1B7o,770
112
+ tb2j-0.9.12.8.dist-info/top_level.txt,sha256=whYa5ByLYhl5XnTPBHSWr-IGD6VWmr5Ql2bye2qwV_s,5
113
+ tb2j-0.9.12.8.dist-info/RECORD,,