Skip to main content

Extraction from angle resolved photoemission spectra

Project description

xARPES

xARPES

Repository for the code xARPES – extraction of the self-energy and Eliashberg function from angle-resolved photoemission spectroscopy. The documentation can be found on Read the Docs, while the code is maintained on GitHub. Instructions for installing the code and downloading the code are found below. An extensive description of the functionalities and examples is found at the arXiv preprint.

Warning

This project is currently undergoing beta testing. Some of the functionalities are in the process of being implemented. If you encounter any bugs, you can open an issue.

Contributing

Contributions to the code are most welcome. xARPES is intended to co-develop alongside the increasing complexity of experimental ARPES data sets. Contributions can be made by forking the code and creating a pull request. Importing of file formats from different beamlines is particularly encouraged. For development of the examples, the following scripts in /dev_tools could be useful:

  • The Rmd2ipynb.py file, to generate the .ipynb from which the examples can conveniently be developed; to be executed after cloning/pulling updated .Rmd and .py files, or if you prefer developing with .Rmd files.
  • The ipynb2Rmd2py.py file, to synchronise the .Rmd and .py files from the .ipynb file; to be executed right before pushing modifications to the repository. Note that this script resets some metadata in the .Rmd to prevent the tracking of their changes due to local virtual environments, etc.

Installation

xARPES installation can be divided into graphical package manager instructions, and command-line instructions for either conda or pip. With command-line instructions, an editable installation of xARPES can be created; on Windows, we strongly recommend Windows Powershell to do so. Here is a summary for the three options:

  • via a graphical package manager (Anaconda Navigator, VS Code, PyCharm, Spyder, JupyterLab)
  • via conda-forge, out-of-the-box or editable installation, sourcing the conda-forge package.
  • via Pip, out-of-the-box or editable installation, sourcing the PyPI package.

We strongly recommend installing xARPES in a (conda/pip) virtual environment, and to activate the environment each time before activating xARPES.

Graphical package manager installation

Most IDEs and scientific Python distributions include a GUI-based package manager.
These typically install from conda-forge (for conda environments) or PyPI (for venv/system Python).

Anaconda Navigator

  1. Open Anaconda Navigator
  2. Select or create an environment
  3. Set the package channel to conda-forge
  4. Search for “xarpes”
  5. Click Install

This installs the latest stable release from conda-forge.

PyCharm, VS Code, Spyder, or JupyterLab

These IDEs install from the active environment’s package source:

  • conda environment → installs from conda-forge
  • venv/system Python → installs from PyPI

Installation steps (generic)

  1. Open your IDE
  2. Select or create a Python environment
  3. Open the environment/package manager panel
  4. Search for “xarpes”
  5. Click Install

Conda Forge installation

Install xARPES inside a conda environment, either out of the box or as an editable.

Setting up a conda environment

Download and install Miniconda (see the Miniconda installation page).

Example for Linux:

wget https://repo.anaconda.com/miniconda/Miniconda3-latest-Linux-x86_64.sh  
bash Miniconda3-latest-Linux-x86_64.sh

Answer y to questions. Create and activate a new environment:

conda create -n <my_env> -c conda-forge  
conda activate <my_env>

Where <my_env> must be replaced by your desired name. Package compatibility ssues may arise if conda installs from different channels. This can be prevented by appending --strict-channel-priority to the creation command.

Installing xARPES

Option A — Out-of-the-box installation (from conda-forge)

conda install conda-forge::xarpes

Option B — Editable installation (GitHub)

First, clone the repository:

git clone git@github.com:xARPES/xARPES.git  
cd xARPES

Then perform editable installation (this mixes conda and pip):

pip install -e .

Pip installation

Install xARPES using pip, either out of the box or as an editable.

Setting up a virtual environment

Install venv if necessary:

sudo apt install python3-venv

Create and activate a virtual environment:

python3 -m venv <my_env>  
source <my_env>/bin/activate

Upgrade pip:

python3 -m pip install --upgrade pip

Installing xARPES

Option A — Out-of-the-box installation (PyPI)

python3 -m pip install xarpes

Option B — Editable installation (GitHub)

First, clone the repository:

git clone git@github.com:xARPES/xARPES.git  
cd xARPES

Then perform editable installation:

pip install -e .

Examples

After installation of xARPES, the examples/ folder can be downloaded to the current directory:

python -c "import xarpes; xarpes.download_examples()"

This attempts to download the examples from the version corresponding encountered in __init__.py. If no corresponding tagged version can be downloaded, the code attempts to download the latest examples instead.

Execution

It is recommended to use JupyterLab to analyse data. JupyterLab is launched using:

jupyter lab

Citation

If you have used xARPES for your research, please cite the following preprint:
arXiv preprint 2508.13845.

License

Copyright (C) 2025 xARPES Developers

This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 3, as published by the Free Software Foundation.

This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.

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

xarpes-0.5.0.tar.gz (3.9 MB view details)

Uploaded Source

Built Distribution

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

xarpes-0.5.0-py3-none-any.whl (50.0 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: xarpes-0.5.0.tar.gz
  • Upload date:
  • Size: 3.9 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: python-requests/2.32.3

File hashes

Hashes for xarpes-0.5.0.tar.gz
Algorithm Hash digest
SHA256 6dd3a748dc0f8a3ba778a9386763df655381c1c0365c7e8adfbf97b7d34b0563
MD5 9553cd60495a0a51c1bdd5c3b748d927
BLAKE2b-256 2284f636e58fbec5351feb3e2151d256fa1eeb1071ed6dd85deb7a0e87ab4692

See more details on using hashes here.

File details

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

File metadata

  • Download URL: xarpes-0.5.0-py3-none-any.whl
  • Upload date:
  • Size: 50.0 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: python-requests/2.32.3

File hashes

Hashes for xarpes-0.5.0-py3-none-any.whl
Algorithm Hash digest
SHA256 76a64a183c5f8d0625e3df096805d464564427cf2f887ed7b2c86274dddfb90c
MD5 4fa80efc110111b5f6c169504c5ad9a5
BLAKE2b-256 b56cefb18776b8dcb473da03f7359bcbc36d397aebfb132f6dd9cf5e51fc6fc1

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