Skip to main content

Python library for constructing and analyzing tight-binding models.

Project description


DOI PyPI Conda Version PyPI Downloads Conda Downloads readthedocs status SPEC 0 — Minimum Supported Dependencies Run examples on Binder

PythTB is a Python library for constructing and analyzing tight-binding models, built for modern topological band theory applications. It provides a streamlined path from model specification to physical interpretation, making it useful for both learning electronic structure and conducting research-level studies. With only a few lines of code, you can define lattice models, build tight-binding Hamiltonians, and compute electronic properties.

PythTB provides tools for:

  • Band structures and density of states
  • Berry phases and Berry curvature
  • Chern numbers, Wilson loops, and related invariants
  • Quantum geometric tensors and local Chern markers
  • Chern-Simons axion angle
  • Maximally localized Wannier functions
  • Wannier-based tight-binding models generated through Wannier90

Resources

Installation

PythTB is available through conda-forge (recommended) and PyPI.

# Conda (pythtb >= 1.8.0)
conda install -c conda-forge pythtb

# pip
pip install pythtb

To install from source in editable mode:

git clone https://github.com/pythtb/pythtb.git
cd pythtb
pip install -e .

PythTB ≥ 2.0.0 requires Python ≥ 3.12 and the core dependencies:

  • numpy ≥ 2.0
  • matplotlib ≥ 3.9

Optional extras can be installed via pip install .[group]:

  • [plotting]: Plotly for interactive visualization
  • [speedup]: TensorFlow for GPU-accelerated routines
  • [notebooks]: Jupyter support (IPython ≥ 8.17, ipykernel, notebook, jupyter, jupyterlab)
  • [docs]: Sphinx toolchain for documentation
  • [tests]: pytest
  • [dev]: developer tools (pytest, ruff, pre-commit)

For more detailed instructions, see:

Citation

If you use the code in your paper, please cite us

@software{Cole_Python_Tight_Binding_2025,
author = {Cole, Trey and Coh, Sinisa and Vanderbilt, David},
doi = {10.5281/zenodo.12721315},
license = {GPL-3.0-or-later},
month = nov,
title = {{Python Tight Binding (PythTB)}},
url = {https://zenodo.org/records/12721315},
version = {2.0.0},
year = {2025}
}

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

pythtb-2.0.1.tar.gz (36.0 MB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

pythtb-2.0.1-py3-none-any.whl (197.8 kB view details)

Uploaded Python 3

File details

Details for the file pythtb-2.0.1.tar.gz.

File metadata

  • Download URL: pythtb-2.0.1.tar.gz
  • Upload date:
  • Size: 36.0 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.12.8

File hashes

Hashes for pythtb-2.0.1.tar.gz
Algorithm Hash digest
SHA256 d31cedd0399fedc36753dac58054cafb53e4d985c4524759e00f67134bfb5374
MD5 724adf94401d47dc7b0459887807cb1c
BLAKE2b-256 bc00f41d03ab61181e43f7f38311199747848e7a04224ec562f53c5a16272117

See more details on using hashes here.

Provenance

The following attestation bundles were made for pythtb-2.0.1.tar.gz:

Publisher: pypi-publish.yml on pythtb/pythtb

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file pythtb-2.0.1-py3-none-any.whl.

File metadata

  • Download URL: pythtb-2.0.1-py3-none-any.whl
  • Upload date:
  • Size: 197.8 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.12.8

File hashes

Hashes for pythtb-2.0.1-py3-none-any.whl
Algorithm Hash digest
SHA256 b79ee7916564436023685ec82fe0c7a0b57ee9b291038eaf892776a3b017ccf0
MD5 7007064caaf8a3e00d026d12639cb2d9
BLAKE2b-256 141174b5a3d450eae33ac7d32be80a4ec6b8dbd206f6d51345fead284ce6c8d3

See more details on using hashes here.

Provenance

The following attestation bundles were made for pythtb-2.0.1-py3-none-any.whl:

Publisher: pypi-publish.yml on pythtb/pythtb

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page