TB2J 0.9.12.6__tar.gz → 0.9.12.8__tar.gz

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 (119) hide show
  1. {tb2j-0.9.12.6 → tb2j-0.9.12.8}/PKG-INFO +3 -2
  2. {tb2j-0.9.12.6 → tb2j-0.9.12.8}/TB2J/Jdownfolder.py +4 -3
  3. {tb2j-0.9.12.6 → tb2j-0.9.12.8}/TB2J/MAEGreen.py +0 -1
  4. tb2j-0.9.12.8/TB2J/__init__.py +3 -0
  5. {tb2j-0.9.12.6 → tb2j-0.9.12.8}/TB2J/anisotropy.py +2 -2
  6. {tb2j-0.9.12.6 → tb2j-0.9.12.8}/TB2J/basis.py +0 -3
  7. {tb2j-0.9.12.6 → tb2j-0.9.12.8}/TB2J/gpaw_wrapper.py +0 -3
  8. {tb2j-0.9.12.6 → tb2j-0.9.12.8}/TB2J/io_exchange/io_exchange.py +1 -1
  9. {tb2j-0.9.12.6 → tb2j-0.9.12.8}/TB2J/io_exchange/io_uppasd.py +0 -1
  10. {tb2j-0.9.12.6 → tb2j-0.9.12.8}/TB2J/plot.py +8 -7
  11. {tb2j-0.9.12.6 → tb2j-0.9.12.8}/TB2J/rotate_atoms.py +1 -1
  12. {tb2j-0.9.12.6 → tb2j-0.9.12.8}/TB2J/scripts/wann2J.py +1 -1
  13. {tb2j-0.9.12.6 → tb2j-0.9.12.8}/TB2J/spinham/hamiltonian.py +0 -1
  14. {tb2j-0.9.12.6 → tb2j-0.9.12.8}/TB2J/tensor_rotate.py +1 -2
  15. {tb2j-0.9.12.6 → tb2j-0.9.12.8}/TB2J/wannier/w90_tb_parser.py +0 -2
  16. {tb2j-0.9.12.6 → tb2j-0.9.12.8}/TB2J.egg-info/PKG-INFO +3 -2
  17. {tb2j-0.9.12.6 → tb2j-0.9.12.8}/TB2J.egg-info/requires.txt +2 -1
  18. {tb2j-0.9.12.6 → tb2j-0.9.12.8}/pyproject.toml +3 -2
  19. tb2j-0.9.12.6/TB2J/__init__.py +0 -1
  20. {tb2j-0.9.12.6 → tb2j-0.9.12.8}/LICENSE +0 -0
  21. {tb2j-0.9.12.6 → tb2j-0.9.12.8}/README.md +0 -0
  22. {tb2j-0.9.12.6 → tb2j-0.9.12.8}/TB2J/Jtensor.py +0 -0
  23. {tb2j-0.9.12.6 → tb2j-0.9.12.8}/TB2J/MAE.py +0 -0
  24. {tb2j-0.9.12.6 → tb2j-0.9.12.8}/TB2J/Oiju.py +0 -0
  25. {tb2j-0.9.12.6 → tb2j-0.9.12.8}/TB2J/Oiju_epc.py +0 -0
  26. {tb2j-0.9.12.6 → tb2j-0.9.12.8}/TB2J/citation.py +0 -0
  27. {tb2j-0.9.12.6 → tb2j-0.9.12.8}/TB2J/contour.py +0 -0
  28. {tb2j-0.9.12.6 → tb2j-0.9.12.8}/TB2J/density_matrix.py +0 -0
  29. {tb2j-0.9.12.6 → tb2j-0.9.12.8}/TB2J/downfold/Hdownfolder.py +0 -0
  30. {tb2j-0.9.12.6 → tb2j-0.9.12.8}/TB2J/epc.py +0 -0
  31. {tb2j-0.9.12.6 → tb2j-0.9.12.8}/TB2J/exchange.py +0 -0
  32. {tb2j-0.9.12.6 → tb2j-0.9.12.8}/TB2J/exchangeCL2.py +0 -0
  33. {tb2j-0.9.12.6 → tb2j-0.9.12.8}/TB2J/exchange_params.py +0 -0
  34. {tb2j-0.9.12.6 → tb2j-0.9.12.8}/TB2J/exchange_pert.py +0 -0
  35. {tb2j-0.9.12.6 → tb2j-0.9.12.8}/TB2J/exchange_qspace.py +0 -0
  36. {tb2j-0.9.12.6 → tb2j-0.9.12.8}/TB2J/external/__init__.py +0 -0
  37. {tb2j-0.9.12.6 → tb2j-0.9.12.8}/TB2J/external/p_tqdm.py +0 -0
  38. {tb2j-0.9.12.6 → tb2j-0.9.12.8}/TB2J/green.py +0 -0
  39. {tb2j-0.9.12.6 → tb2j-0.9.12.8}/TB2J/greentest.py +0 -0
  40. {tb2j-0.9.12.6 → tb2j-0.9.12.8}/TB2J/interfaces/__init__.py +0 -0
  41. {tb2j-0.9.12.6 → tb2j-0.9.12.8}/TB2J/interfaces/abacus/__init__.py +0 -0
  42. {tb2j-0.9.12.6 → tb2j-0.9.12.8}/TB2J/interfaces/abacus/abacus_api.py +0 -0
  43. {tb2j-0.9.12.6 → tb2j-0.9.12.8}/TB2J/interfaces/abacus/abacus_wrapper.py +0 -0
  44. {tb2j-0.9.12.6 → tb2j-0.9.12.8}/TB2J/interfaces/abacus/gen_exchange_abacus.py +0 -0
  45. {tb2j-0.9.12.6 → tb2j-0.9.12.8}/TB2J/interfaces/abacus/orbital_api.py +0 -0
  46. {tb2j-0.9.12.6 → tb2j-0.9.12.8}/TB2J/interfaces/abacus/stru_api.py +0 -0
  47. {tb2j-0.9.12.6 → tb2j-0.9.12.8}/TB2J/interfaces/abacus/test_density_matrix.py +0 -0
  48. {tb2j-0.9.12.6 → tb2j-0.9.12.8}/TB2J/interfaces/abacus/test_read_HRSR.py +0 -0
  49. {tb2j-0.9.12.6 → tb2j-0.9.12.8}/TB2J/interfaces/abacus/test_read_stru.py +0 -0
  50. {tb2j-0.9.12.6 → tb2j-0.9.12.8}/TB2J/interfaces/gpaw_interface.py +0 -0
  51. {tb2j-0.9.12.6 → tb2j-0.9.12.8}/TB2J/interfaces/lawaf_interface.py +0 -0
  52. {tb2j-0.9.12.6 → tb2j-0.9.12.8}/TB2J/interfaces/manager.py +0 -0
  53. {tb2j-0.9.12.6 → tb2j-0.9.12.8}/TB2J/interfaces/siesta_interface.py +0 -0
  54. {tb2j-0.9.12.6 → tb2j-0.9.12.8}/TB2J/interfaces/wannier90_interface.py +0 -0
  55. {tb2j-0.9.12.6 → tb2j-0.9.12.8}/TB2J/io_exchange/__init__.py +0 -0
  56. {tb2j-0.9.12.6 → tb2j-0.9.12.8}/TB2J/io_exchange/io_multibinit.py +0 -0
  57. {tb2j-0.9.12.6 → tb2j-0.9.12.8}/TB2J/io_exchange/io_tomsasd.py +0 -0
  58. {tb2j-0.9.12.6 → tb2j-0.9.12.8}/TB2J/io_exchange/io_txt.py +0 -0
  59. {tb2j-0.9.12.6 → tb2j-0.9.12.8}/TB2J/io_exchange/io_vampire.py +0 -0
  60. {tb2j-0.9.12.6 → tb2j-0.9.12.8}/TB2J/io_merge.py +0 -0
  61. {tb2j-0.9.12.6 → tb2j-0.9.12.8}/TB2J/kpoints.py +0 -0
  62. {tb2j-0.9.12.6 → tb2j-0.9.12.8}/TB2J/magnon/__init__.py +0 -0
  63. {tb2j-0.9.12.6 → tb2j-0.9.12.8}/TB2J/magnon/io_exchange2.py +0 -0
  64. {tb2j-0.9.12.6 → tb2j-0.9.12.8}/TB2J/magnon/magnon3.py +0 -0
  65. {tb2j-0.9.12.6 → tb2j-0.9.12.8}/TB2J/magnon/magnon_band.py +0 -0
  66. {tb2j-0.9.12.6 → tb2j-0.9.12.8}/TB2J/magnon/magnon_dos.py +0 -0
  67. {tb2j-0.9.12.6 → tb2j-0.9.12.8}/TB2J/magnon/magnon_io.py +0 -0
  68. {tb2j-0.9.12.6 → tb2j-0.9.12.8}/TB2J/magnon/magnon_math.py +0 -0
  69. {tb2j-0.9.12.6 → tb2j-0.9.12.8}/TB2J/magnon/plot.py +0 -0
  70. {tb2j-0.9.12.6 → tb2j-0.9.12.8}/TB2J/magnon/plot_magnon_dos_cli.py +0 -0
  71. {tb2j-0.9.12.6 → tb2j-0.9.12.8}/TB2J/magnon/structure.py +0 -0
  72. {tb2j-0.9.12.6 → tb2j-0.9.12.8}/TB2J/mathutils/__init__.py +0 -0
  73. {tb2j-0.9.12.6 → tb2j-0.9.12.8}/TB2J/mathutils/auto_kpath.py +0 -0
  74. {tb2j-0.9.12.6 → tb2j-0.9.12.8}/TB2J/mathutils/fermi.py +0 -0
  75. {tb2j-0.9.12.6 → tb2j-0.9.12.8}/TB2J/mathutils/fibonacci_sphere.py +0 -0
  76. {tb2j-0.9.12.6 → tb2j-0.9.12.8}/TB2J/mathutils/kR_convert.py +0 -0
  77. {tb2j-0.9.12.6 → tb2j-0.9.12.8}/TB2J/mathutils/lowdin.py +0 -0
  78. {tb2j-0.9.12.6 → tb2j-0.9.12.8}/TB2J/mathutils/rotate_spin.py +0 -0
  79. {tb2j-0.9.12.6 → tb2j-0.9.12.8}/TB2J/myTB.py +0 -0
  80. {tb2j-0.9.12.6 → tb2j-0.9.12.8}/TB2J/mycfr.py +0 -0
  81. {tb2j-0.9.12.6 → tb2j-0.9.12.8}/TB2J/orbital_magmom.py +0 -0
  82. {tb2j-0.9.12.6 → tb2j-0.9.12.8}/TB2J/orbmap.py +0 -0
  83. {tb2j-0.9.12.6 → tb2j-0.9.12.8}/TB2J/pauli.py +0 -0
  84. {tb2j-0.9.12.6 → tb2j-0.9.12.8}/TB2J/pert.py +0 -0
  85. {tb2j-0.9.12.6 → tb2j-0.9.12.8}/TB2J/rotate_siestaDM.py +0 -0
  86. {tb2j-0.9.12.6 → tb2j-0.9.12.8}/TB2J/scripts/TB2J_downfold.py +0 -0
  87. {tb2j-0.9.12.6 → tb2j-0.9.12.8}/TB2J/scripts/TB2J_eigen.py +0 -0
  88. {tb2j-0.9.12.6 → tb2j-0.9.12.8}/TB2J/scripts/TB2J_magnon.py +0 -0
  89. {tb2j-0.9.12.6 → tb2j-0.9.12.8}/TB2J/scripts/TB2J_magnon2.py +0 -0
  90. {tb2j-0.9.12.6 → tb2j-0.9.12.8}/TB2J/scripts/TB2J_magnon_dos.py +0 -0
  91. {tb2j-0.9.12.6 → tb2j-0.9.12.8}/TB2J/scripts/TB2J_merge.py +0 -0
  92. {tb2j-0.9.12.6 → tb2j-0.9.12.8}/TB2J/scripts/TB2J_plot_magnon_bands.py +0 -0
  93. {tb2j-0.9.12.6 → tb2j-0.9.12.8}/TB2J/scripts/TB2J_rotate.py +0 -0
  94. {tb2j-0.9.12.6 → tb2j-0.9.12.8}/TB2J/scripts/TB2J_rotateDM.py +0 -0
  95. {tb2j-0.9.12.6 → tb2j-0.9.12.8}/TB2J/scripts/__init__.py +0 -0
  96. {tb2j-0.9.12.6 → tb2j-0.9.12.8}/TB2J/scripts/abacus2J.py +0 -0
  97. {tb2j-0.9.12.6 → tb2j-0.9.12.8}/TB2J/scripts/siesta2J.py +0 -0
  98. {tb2j-0.9.12.6 → tb2j-0.9.12.8}/TB2J/sisl_wrapper.py +0 -0
  99. {tb2j-0.9.12.6 → tb2j-0.9.12.8}/TB2J/spinham/__init__.py +0 -0
  100. {tb2j-0.9.12.6 → tb2j-0.9.12.8}/TB2J/spinham/base_parser.py +0 -0
  101. {tb2j-0.9.12.6 → tb2j-0.9.12.8}/TB2J/spinham/constants.py +0 -0
  102. {tb2j-0.9.12.6 → tb2j-0.9.12.8}/TB2J/spinham/hamiltonian_terms.py +0 -0
  103. {tb2j-0.9.12.6 → tb2j-0.9.12.8}/TB2J/spinham/plot.py +0 -0
  104. {tb2j-0.9.12.6 → tb2j-0.9.12.8}/TB2J/spinham/qsolver.py +0 -0
  105. {tb2j-0.9.12.6 → tb2j-0.9.12.8}/TB2J/spinham/spin_api.py +0 -0
  106. {tb2j-0.9.12.6 → tb2j-0.9.12.8}/TB2J/spinham/spin_xml.py +0 -0
  107. {tb2j-0.9.12.6 → tb2j-0.9.12.8}/TB2J/spinham/supercell.py +0 -0
  108. {tb2j-0.9.12.6 → tb2j-0.9.12.8}/TB2J/symmetrize_J.py +0 -0
  109. {tb2j-0.9.12.6 → tb2j-0.9.12.8}/TB2J/thetaphi.py +0 -0
  110. {tb2j-0.9.12.6 → tb2j-0.9.12.8}/TB2J/utest.py +0 -0
  111. {tb2j-0.9.12.6 → tb2j-0.9.12.8}/TB2J/utils.py +0 -0
  112. {tb2j-0.9.12.6 → tb2j-0.9.12.8}/TB2J/versioninfo.py +0 -0
  113. {tb2j-0.9.12.6 → tb2j-0.9.12.8}/TB2J/wannier/__init__.py +0 -0
  114. {tb2j-0.9.12.6 → tb2j-0.9.12.8}/TB2J/wannier/w90_parser.py +0 -0
  115. {tb2j-0.9.12.6 → tb2j-0.9.12.8}/TB2J.egg-info/SOURCES.txt +0 -0
  116. {tb2j-0.9.12.6 → tb2j-0.9.12.8}/TB2J.egg-info/dependency_links.txt +0 -0
  117. {tb2j-0.9.12.6 → tb2j-0.9.12.8}/TB2J.egg-info/entry_points.txt +0 -0
  118. {tb2j-0.9.12.6 → tb2j-0.9.12.8}/TB2J.egg-info/top_level.txt +0 -0
  119. {tb2j-0.9.12.6 → tb2j-0.9.12.8}/setup.cfg +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: TB2J
3
- Version: 0.9.12.6
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"
@@ -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
@@ -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):
@@ -0,0 +1,3 @@
1
+ import importlib.metadata
2
+
3
+ __version__ = importlib.metadata.version("TB2J")
@@ -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
 
@@ -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
@@ -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 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],
@@ -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 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)):
@@ -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):
@@ -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):
@@ -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.6
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,4 +1,4 @@
1
- numpy<2.0
1
+ numpy
2
2
  scipy
3
3
  matplotlib
4
4
  ase>=3.19
@@ -10,6 +10,7 @@ pre-commit
10
10
  sympair>0.1.0
11
11
  tomli>=2.0.0
12
12
  tomli-w>=1.0.0
13
+ typing_extensions
13
14
 
14
15
  [all]
15
16
  sisl>=0.9.0
@@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta"
4
4
 
5
5
  [project]
6
6
  name = "TB2J"
7
- version = "0.9.12.6"
7
+ version = "0.9.12.8"
8
8
  description = "TB2J: First principle to Heisenberg exchange J using tight-binding Green function method"
9
9
  readme = "README.md"
10
10
  license = { text = "BSD-2-Clause" }
@@ -28,7 +28,7 @@ classifiers = [
28
28
  ]
29
29
  requires-python = ">=3.6"
30
30
  dependencies = [
31
- "numpy<2.0",
31
+ "numpy",
32
32
  "scipy",
33
33
  "matplotlib",
34
34
  "ase>=3.19",
@@ -40,6 +40,7 @@ dependencies = [
40
40
  "sympair>0.1.0",
41
41
  "tomli>=2.0.0",
42
42
  "tomli-w>=1.0.0",
43
+ "typing_extensions",
43
44
  ]
44
45
 
45
46
  [project.optional-dependencies]
@@ -1 +0,0 @@
1
-
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes