Metadata-Version: 2.4
Name: multipac_testbench
Version: 1.9.1
Summary: Post-treat the data produced by the MULTIPAC test bench.
Author-email: Adrien Plaçais <placais@lpsc.in2p3.fr>
Project-URL: Documentation, https://multipac-testbench.readthedocs.io/en/latest/
Project-URL: Homepage, https://github.com/AdrienPlacais/multipac_testbench
Keywords: post treatment,multipactor
Classifier: Development Status :: 3 - Alpha
Classifier: Intended Audience :: Science/Research
Classifier: License :: OSI Approved :: MIT License
Classifier: Operating System :: OS Independent
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.12
Classifier: Programming Language :: Python :: 3.13
Classifier: Programming Language :: Python :: 3.14
Classifier: Topic :: Scientific/Engineering :: Physics
Requires-Python: >=3.12
Description-Content-Type: text/markdown
License-File: LICENSE
Requires-Dist: matplotlib<4,>=3.10.8
Requires-Dist: numpy<3,>=2.4.2
Requires-Dist: openpyxl<4,>=3.1.5
Requires-Dist: pandas<4,>=3.0.1
Requires-Dist: pandas-stubs<4,>=3.0.0
Requires-Dist: pre-commit<5,>=4.5.1
Requires-Dist: scipy<2,>=1.17.1
Provides-Extra: docs
Requires-Dist: myst-parser<6,>=5.0.0; extra == "docs"
Requires-Dist: nbsphinx<1,>=0.9.8; extra == "docs"
Requires-Dist: sphinx<10,>=9.1.0; extra == "docs"
Requires-Dist: sphinx-autodoc-typehints<4,>=3.7.0; extra == "docs"
Requires-Dist: sphinx-rtd-theme<4,>=3.1.0; extra == "docs"
Requires-Dist: sphinx-tabs<4,>=3.4.7; extra == "docs"
Requires-Dist: sphinxcontrib-bibtex<3,>=2.6.5; extra == "docs"
Provides-Extra: notebooks
Requires-Dist: jupyter<2,>=1.1.1; extra == "notebooks"
Provides-Extra: test
Requires-Dist: nbconvert<8,>=7.17.0; extra == "test"
Requires-Dist: nbmake<2,>=1.5.5; extra == "test"
Requires-Dist: pytest-mock<4,>=3.15.1; extra == "test"
Requires-Dist: pytest<10,>=9.0.2; extra == "test"
Requires-Dist: pytest-lazy-fixtures<2,>=1.4.0; extra == "test"
Dynamic: license-file

# MULTIPAC testbench

This library is designed to post-treat the data from the MULTIPAC multipactor
test bench at LPSC, Grenoble, France.

## Installation

### Users

1. Create a dedicated Python environment, activate it.
2. Run `pip install multipac_testbench`

> [!NOTE]
> If you are completely new to Python and these instructions are unclear, check
> [this tutorial](https://python-guide.readthedocs.io/en/latest/). In
> particular, you will want to:
>
> 1. [Install
>    Python](https://python-guide.readthedocs.io/en/latest/starting/installation/)
>    3.12 or higher.
> 2. [Learn to use Python
>    environments](https://python-guide.readthedocs.io/en/latest/dev/virtualenvs/),
>    `pipenv` or `virtualenv`.
> 3. [Install a Python
>    IDE](https://python-guide.readthedocs.io/en/latest/dev/env/#ides) such as
>    Spyder or VSCode.

### Developers

1. Clone the repository:
   `git clone git@github.com:AdrienPlacais/multipac_testbench.git`
2. Create a dedicated Python environment, activate it.
3. Navigate to the main `multipac_testbench` folder and install the library
   with all dependencies: `pip install -e .`

Note that you will need Python 3.12 or higher to use the library.

If you want to use `conda`, you must manually install the required packages
defined in `pyproject.toml`. Then, add `multipac_testbench.src` to your
`$PYTHONPATH` environment variable.

## Project info

- 📚 [Documentation](https://multipac-testbench.readthedocs.io/en/stable/)
- 📋 [Changelog](./CHANGELOG.md)
- 🤝 [Contributing](./CONTRIBUTING.md)
- 🚀 [Tutorials/examples](https://multipac-testbench.readthedocs.io/en/stable/manual/tutorials.html)

## Future updates

- [x] Calibration of new field probes.
- [x] Implementation of Retarding Field Analyzer.
  - [x] RPA grid in V instead of kV.
- [ ] `sweet_plot` updates for better RPA treatment:
  - [ ] Allow for `head` argument, working similarly to `tail`.
  - [x] Argument to plot increasing and decreasing values differently. Useful
        when plotting RPA current against RPA grid voltage.
- [ ] Option to plot maximum of a signal per power cycle.
- [x] Bug fix: Upper threshold is given even when we did not exit the
      multipactor zone.
- [x] Adding a post-treater to `Power` instruments should be reflected in `SWR`
      and `ReflectionCoefficient` calculations.
- [x] Add notebook execution to normal test workflow.
  - [x] Add jupyter installation to `pip` deps for test

## Labviewer to-do

- [x] Automatic export binary -> xlsx or csv
- [x] Automatic export of individual power step files
- [x] Allow to take last value from individual power step file rather than
      highest
- [ ] Fix synchro of dBm column
