https://doi.org/10.5281/zenodo.15058838
pyproject.toml
[project]
name = "multiterminal_invariant"
dynamic = ["version"]
authors = [
{name="Quantum Tinkerers"},
]
description = "A demonstration of the failure of the scattering invariant with imaginary self-energy"
[project.scripts]
execute_folder = "multiterminal_invariant.helpers:execute_folder"
zips = "multiterminal_invariant.helpers:generate_zips"
[build-system]
requires = ["hatchling", "hatch-vcs"]
build-backend = "hatchling.build"
[tool.hatch.version]
source = "vcs"
fallback-version = "0.0.0"
[tool.hatch.build.hooks.vcs]
version-file = "multiterminal_invariant/_version.py"
[tool.ruff]
line-length = 90
exclude = [ "multiterminal_invariant/_version.py" ]
[tool.codespell]
skip = "*.cls,*.bst,*.bib,*.lock"
ignore-words-list = "nwo,groth,braket,bra,ket"
[tool.pixi.project]
channels = ["https://prefix.dev/conda-forge"]
platforms = ["linux-64", "osx-64"] #, "win-64"]
[tool.pixi.pypi-dependencies]
multiterminal_invariant = { path = ".", editable = true }
skunk = { git = "https://github.com/akhmerov/skunk.git" }
[tool.pixi.dependencies]
ipykernel = ">=6.29.5,<7"
numpy = ">=2.2.3,<3"
scipy = ">=1.15.2,<2"
sympy = ">=1.13.3,<2"
matplotlib-base = ">=3.10.1,<4"
kwant = ">=1.5.0,<2"
python = ">=3.12.9,<3.13"
xarray = ">=2025.1.2,<2026"
h5netcdf = ">=1.6.1,<2"
adaptive = ">=1.3.2,<2"
cmasher = ">=1.9.2,<2"
[tool.pixi.feature.mkdocs.dependencies]
mkdocs = ">=1.6.1,<2"
mkdocs-material = ">=9.5.49,<10"
nbconvert = ">=7.16.4,<8"
jupytext = ">=1.16.6,<2"
markdown = ">=3.6,<4"
mkdocs-bibtex = ">=2.16.2,<3"
pymdown-extensions = ">=10.14.3,<11"
[tool.pixi.feature.mkdocs.pypi-dependencies]
mkdocs-execute-plugin = ">=0.0.8,<0.0.9"
[tool.pixi.feature.git.dependencies]
git = ">2.47.0,<3"
[tool.pixi.feature.pre-commit.dependencies]
pre-commit = ">=4.0.1,<5.0.0"
[tool.pixi.feature.latex.dependencies]
tectonic = ">=0.15.0,<0.16"
latexdiff = ">=1.3.4,<2"
curl = ">=8.11.1,<9"
[tool.pixi.feature.empty.dependencies]
[tool.pixi.feature.empty.system-requirements]
libc = { family = "unix", version = "0" }
[tool.pixi.tasks]
generate_results = { cmd = "execute_folder results", inputs = ["results/*.py", "data/*"], outputs=["publication/figures/*"] }
[tool.pixi.feature.latex.tasks]
manuscript = {cmd = "tectonic manuscript.tex -k", cwd = "publication", inputs = ["publication/*.tex", "publication/*.bib", "publication/figures/*.pdf"], outputs=["publication/manuscript.pdf", "publication/manuscript.bbl"], depends-on = ["generate_results", "svgtopdf"] }
diff = {cmd = "git describe --tags --abbrev=0 > /dev/null && curl -O https://gitlab.com/git-latexdiff/git-latexdiff/-/raw/48f7a405b102db80f433974a680bf567398a18f7/git-latexdiff && bash git-latexdiff --tectonic --ln-untracked $(git describe --tags --abbrev=0) HEAD --main manuscript.tex -o diff.pdf && rm git-latexdiff || echo 'No tags found, not diffing'", cwd = "publication", inputs = ["publication/*.tex", "publication/*.bib", "publication/figures/*.pdf"], outputs=["publication/diff.pdf"]}
[tool.pixi.feature.empty.tasks]
svgtopdf = { cmd = "bash -c 'for f in *.svg; do inkscape -o ${f%.*}.pdf $f; done'", depends-on = ["generate_results"], inputs = ["publication/figures/*.svg"], outputs = ["publication/figures/*.pdf"], cwd = "publication/figures" }
[tool.pixi.feature.mkdocs.tasks]
mkdocs = { cmd = "mkdocs", env = { JUPYTER_PLATFORM_DIRS = "1" }}
[tool.pixi.feature.pre-commit.tasks]
pre-commit = "pre-commit"
[tool.pixi.environments]
default = { features = ["git"], solve-group = "default" }
empty = { features = ["empty"], no-default-feature = true }
latex = { features = ["latex", "git"], no-default-feature = true }
pre-commit = { features = ["pre-commit", "git"], no-default-feature = true }
notes = { features = ["mkdocs"] }