Skip to main content

Python tools for analysis of angle-resolved photoemission and related spectroscopic data

Project description

peaks

git GitHub Actions Workflow Status Latest version on pypi Supported Python versions docs Code Style: Ruff (Black-compatible)

peaks: Python Electron Spectroscopy Analysis by King Group St Andrews.

peaks provides a collection of analysis tools for the loading, processing and visualisation of spectroscopic data, with a core focus on tools for angle-resolved photoemission.

peaks is an evolution of the PyPhoto package originally developed by Phil King, Brendan Edwards, Tommaso Antonelli, Edgar Abarca Morales, Lewis Hart, and Liam Trzaska from the King group at the University of St Andrews. This version of peaks is the result of a major restructuring of the package in 2023-2025 by Brendan Edwards, Phil King, and Shu Mo.

Contact pdk6@st-andrews.ac.uk.

Citation

If you use peaks in your work, please cite:

peaks: a Python package for analysis of angle-resolved photoemission and related spectroscopies
Phil D. C. King, Brendan Edwards, Shu Mo, Tommaso Antonelli, Edgar Abarca Morales, Lewis Hart, and Liam Trzaska
arXiv:2508.04803 (2025)

Installation

peaks is registed on PyPI under the name peaks-arpes.

peaks has been tested with Python 3.11 through 3.14. It is recommended to install peaks in its own isolated environment. E.g. using conda:

conda create -n peaks python=3.12
conda activate peaks
pip install peaks-arpes

peaks will then be installed together with its core dependencies.

Optional dependencies

To install optional dependencies, append \[dep1, dep2, ...\] to the end of the pip install ... command, where dep is the name of the dependency. The following options can currently be specified:

  • structure - required for the use of the bz module, for e.g. plotting Brillouin zones on the data;
  • ML - required for the use of the machine learning module;
  • dev - optional development dependencies, used for e.g. linting the code and installing pre-commit hooks.
  • docs - optional dependencies for building local copies of the documentation.

Intel mac users: peaks depends on numba, which cannot be installed via pip on Intel macOS since v0.63.0 as pre-built wheels for this platform are no longer provided on PyPI. Install numba via conda first (or build from source) before installing peaks, e.g.

conda create -n peaks python=3.12
conda activate peaks
conda install -c conda-forge numba
pip install peaks-arpes

Installing from source

The latest version of peaks can be installed directly from source:

pip install git+https://github.com/phrgab/peaks.git

To install a specific tagged version, append @<tag> to the end of the git link where <tag> is the tag name.

Basic Usage

peaks is typically run in a Jupyter notebook or equivalent. To import peaks run:

import peaks as pks

See the User Guide for more information on the package and its use.

Documentation

The peaks documentation can be found at research.st-andrews.ac.uk/kinggroup/peaks.

Contributing

Contributions to the package are welcome. Please see the contributing guide in the documentation for more information.

License

Copyright 2019-2026, peaks developers

Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at

https://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.

peaks also makes extensive use of many other packages - see dependencies in pyproject.toml and their relevant licenses in the source control of those packages.

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

peaks_arpes-0.5.0.tar.gz (476.1 kB view details)

Uploaded Source

Built Distribution

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

peaks_arpes-0.5.0-py3-none-any.whl (515.6 kB view details)

Uploaded Python 3

File details

Details for the file peaks_arpes-0.5.0.tar.gz.

File metadata

  • Download URL: peaks_arpes-0.5.0.tar.gz
  • Upload date:
  • Size: 476.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.11.7 {"installer":{"name":"uv","version":"0.11.7","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Debian GNU/Linux","version":"12","id":"bookworm","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for peaks_arpes-0.5.0.tar.gz
Algorithm Hash digest
SHA256 84fefa70787a2951affb1adcdee3f9a80c8b1da40fd2ac314b56d0d0163be0c1
MD5 3e220dc150e9f1f9d96e9d8851148a18
BLAKE2b-256 c27fdd2c91d8c7bf2c189c62a102aa06b3b7d06866d4cbe1c220798b179e9e6a

See more details on using hashes here.

File details

Details for the file peaks_arpes-0.5.0-py3-none-any.whl.

File metadata

  • Download URL: peaks_arpes-0.5.0-py3-none-any.whl
  • Upload date:
  • Size: 515.6 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.11.7 {"installer":{"name":"uv","version":"0.11.7","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Debian GNU/Linux","version":"12","id":"bookworm","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for peaks_arpes-0.5.0-py3-none-any.whl
Algorithm Hash digest
SHA256 3b7e5de3396c570f7df6f0ce632aa2f53ace48e6c6dbb98c01e2b4f1950ac958
MD5 8c91a00f265b18a18f493c3f35453e04
BLAKE2b-256 9b66f939ba7c04d1886bb9195a4da2e0eb332ec57414bf2de21a93e2b9268c0b

See more details on using hashes here.

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