Metadata-Version: 2.1
Name: sed-processor
Version: 0.1.8a5
Summary: Single Event Data Frame Processor: Backend to handle photoelectron resolved datastreams
Home-page: https://github.com/OpenCOMPES/sed
License: MIT
Keywords: sed,mpes,flash,arpes
Author: OpenCOMPES team
Author-email: sed-processor@mpes.science
Requires-Python: >=3.8,<3.11
Classifier: License :: OSI Approved :: MIT License
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.8
Classifier: Programming Language :: Python :: 3.9
Classifier: Programming Language :: Python :: 3.10
Provides-Extra: notebook
Requires-Dist: bokeh (>=2.4.2,<3.0.0)
Requires-Dist: dask (>=2021.12.0,<2023.0.0)
Requires-Dist: fastdtw (>=0.3.4,<0.4.0)
Requires-Dist: fastparquet (>=0.8.0,<0.9.0)
Requires-Dist: h5py (>=3.6.0,<4.0.0)
Requires-Dist: ipykernel[notebook] (>=6.9.1,<7.0.0) ; extra == "notebook"
Requires-Dist: ipympl (>=0.9.1)
Requires-Dist: ipywidgets (>=7.7.1)
Requires-Dist: joblib (>=1.2.0,<2.0.0)
Requires-Dist: jupyter[notebook] (>=1.0.0,<2.0.0) ; extra == "notebook"
Requires-Dist: jupyterlab-h5web[notebook] (>=7.0.0) ; extra == "notebook"
Requires-Dist: lmfit (>=1.0.3,<2.0.0)
Requires-Dist: matplotlib (>=3.5.1,<4.0.0)
Requires-Dist: natsort (>=8.1.0,<9.0.0)
Requires-Dist: numba (>=0.55.1,<0.56.0)
Requires-Dist: numpy (>=1.18,<1.23)
Requires-Dist: opencv-python (<=4.8.0.74)
Requires-Dist: pandas (>=1.4.1,<2.0.0)
Requires-Dist: psutil (>=5.9.0,<6.0.0)
Requires-Dist: pyarrow (>=14.0.1,<15.0.0)
Requires-Dist: pynxtools (>=0.0.2)
Requires-Dist: pyyaml (>=6.0.0,<7.0.0)
Requires-Dist: scipy (>=1.8.0,<2.0.0)
Requires-Dist: symmetrize (>=0.5.5,<0.6.0)
Requires-Dist: threadpoolctl (>=3.1.0,<4.0.0)
Requires-Dist: tifffile (>=2022.2.9,<2023.0.0)
Requires-Dist: tqdm (>=4.62.3,<5.0.0)
Requires-Dist: xarray (>=0.20.2,<0.21.0)
Project-URL: Documentation, https://opencompes.github.io/sed/
Project-URL: Repository, https://github.com/OpenCOMPES/sed
Description-Content-Type: text/markdown

Backend to handle photoelectron resolved datastreams.

[![Documentation Status](https://github.com/OpenCOMPES/sed/actions/workflows/documentation.yml/badge.svg)](https://opencompes.github.io/sed/)
[![Ruff](https://img.shields.io/endpoint?url=https://raw.githubusercontent.com/astral-sh/ruff/main/assets/badge/v2.json)](https://github.com/astral-sh/ruff)
![](https://github.com/OpenCOMPES/sed/actions/workflows/linting.yml/badge.svg?branch=main)
![](https://github.com/OpenCOMPES/sed/actions/workflows/testing_multiversion.yml/badge.svg?branch=main)
![](https://img.shields.io/pypi/pyversions/sed-processor)
![](https://img.shields.io/pypi/l/sed-processor)
[![](https://img.shields.io/pypi/v/sed-processor)](https://pypi.org/project/sed-processor)
[![Coverage Status](https://coveralls.io/repos/github/OpenCOMPES/sed/badge.svg?branch=main&kill_cache=1)](https://coveralls.io/github/OpenCOMPES/sed?branch=main)


## Installation

### Pip (for users)

- Create a new virtual environment using either venv, pyenv, conda, etc. See below for an example.

```bash
python -m venv .sed-venv
```

- Activate your environment:

```bash
source .sed-venv/bin/activate
```

- Install `sed`, distributed as `sed-processor` on PyPI:

```bash
pip install sed-processor
```

- This should install all the requirements to run `sed` in your environment.

- If you intend to work with Jupyter notebooks, it is helpful to install a Jupyter kernel for your environment. This can be done, once your environment is activated, by typing:

```bash
python -m ipykernel install --user --name=sed_kernel
```
### For Contributors

To contribute to the development of `sed`, you can follow these steps:

1. Clone the repository:

```bash
git clone https://github.com/OpenCOMPES/sed.git
cd sed
```

2. Install the repository in editable mode:

```bash
pip install -e .
```

Now you have the development version of `sed` installed in your local environment. Feel free to make changes and submit pull requests.

### Poetry (for maintainers)

- Prerequisites:
  + Poetry: https://python-poetry.org/docs/

- Create a virtual environment by typing:

```bash
poetry shell
```

- A new shell will be spawned with the new environment activated.

- Install the dependencies from the `pyproject.toml` by typing:

```bash
poetry install --with dev, docs
```

- If you wish to use the virtual environment created by Poetry to work in a Jupyter notebook, you first need to install the optional notebook dependencies and then create a Jupyter kernel for that.

  + Install the optional dependencies `ipykernel` and `jupyter`:

  ```bash
  poetry install -E notebook
  ```

  + Make sure to run the command below within your virtual environment (`poetry run` ensures this) by typing:

  ```bash
  poetry run ipython kernel install --user --name=sed_poetry
  ```

  + The new kernel will now be available in your Jupyter kernels list.

