valence-labs / mess

MESS: Modern Electronic Structure Simulations
https://valence-labs.github.io/mess/
MIT License
20 stars 2 forks source link

Revisit tabulate usage in basis module #10

Closed hatemhelal closed 2 months ago

hatemhelal commented 2 months ago

While preparing the conda feedstock for mess, @FNTwin noticed that we use the tabulate package but don't actually include it in our dependencies:

https://github.com/valence-labs/mess/blob/80a338db77922e12a605cde25a100a721e33058f/mess/basis.py#L11

The only usage is to give the Basis::__repr__ method some formatting. It turns out this is only ever seen in non-html terminals for example:

>>> from mess.basis import basisset
>>> from mess.structure import Structure
>>> mol = Structure(atomic_number=1, position=(0,0,0))
>>> basisset(mol)
  primitive    orbital    coefficient      norm  center      lmn         alpha
-----------  ---------  -------------  --------  ----------  -------  --------
          0          0       0.154329  1.79444   [0. 0. 0.]  [0 0 0]  3.42525
          1          0       0.535328  0.500326  [0. 0. 0.]  [0 0 0]  0.623914
          2          0       0.444635  0.187735  [0. 0. 0.]  [0 0 0]  0.168855

tabulate is what puts the --- in the column header.