Metadata-Version: 2.4
Name: multipac_testbench
Version: 1.8.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://adrienplacais.github.io/multipac_testbench/html/index.html
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.12
Classifier: Topic :: Scientific/Engineering :: Physics
Requires-Python: >=3.11
Description-Content-Type: text/markdown
License-File: LICENSE
Requires-Dist: matplotlib<4,>=3.9.1
Requires-Dist: numpy<3,>=2
Requires-Dist: openpyxl<4,>=3.1
Requires-Dist: pandas<3,>=2.2
Requires-Dist: pre-commit<5,>=4
Requires-Dist: scipy<2,>=1.15
Provides-Extra: docs
Requires-Dist: sphinx<9,>=8.1; extra == "docs"
Requires-Dist: myst-parser<5,>=4; extra == "docs"
Requires-Dist: nbsphinx<1,>=0.9.7; extra == "docs"
Requires-Dist: sphinx-autodoc-typehints<4,>=3.0.1; extra == "docs"
Requires-Dist: sphinx-rtd-theme<4,>=3; extra == "docs"
Requires-Dist: sphinx-tabs<4,>=3.4; extra == "docs"
Requires-Dist: sphinxcontrib-bibtex<3,>=2.6; extra == "docs"
Provides-Extra: notebooks
Requires-Dist: jupyter<2,>=1.1; extra == "notebooks"
Provides-Extra: test
Requires-Dist: pytest<9,>=8.3.2; extra == "test"
Requires-Dist: pytest-mock<4,>=3.14; extra == "test"
Requires-Dist: nbmake<2,>=1.5.4; 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.11 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.11 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)

TODO:
- [ ] Add notebook execution to normal test workflow.
  - [ ] Add jupyter installation to `pip` deps for test

## 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.
- [ ] 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.

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