Skip to main content

pstl-tools

Python scripts for making working with UMICH NERS PSTL Lab Equipment much easier

Current Version

v2024.12.0

Python Version

  • v3.11

Requried Packages

  • pyvisa (with VISA library aviable or pyvisa-py)
  • numpy
  • scipy
  • pandas
  • matplotlib

Optional Packages

pyvisa-py

  • pyvisa-py

dev

  • pip-tools
  • psutil
  • zeroconf

other

  • pyserial
  • alicat

Subpackages

Install

Via Python virtutal enviroment (venv)

  1. Ensure python is installed
  2. Run in command line

For Linux or Mac

python -m venv <path/to/directory/to/store/venvs/your-venv>

For Windows

python -m venv <path\to\directory\to\store\venvs\your-venv>

Replace python with the python version you want to use i.e. python3.11

  1. Now activate your python venv

For Linux or Mac

source <path/to/directory/to/store/venvs>/bin/activate

For Windows

<path\to\directory\to\store\venvs>\Scripts\activate.bat
  1. Run pip install (If you have a VISA library installed, if not skip to step 5)
pip install pstl-tools

--or--

python -m pip install pstl-tools
  1. Must have one of the following
  • VISA Library from NI-LABVIEW or alternative

  • Install pyvisa-py and other dependences (open-source version of the previous)

If no visa library (from NI-LABVIEW or Keysight etc), you may see an error saying:

ValueError: Could not locate a VISA implementation. Install either the IVI binary or pyvisa-py.

then, run the following

pip install pyvisa-py

For more help with python venv

GUI Langmuir Example

Have a .CSV file comma delimlated with one-line for the headers.

Run the following once python package is installed via pip install

gui_langmuir <-additional flags> 

some optional flags are

  • -S, --settings_file "path/to/settings_file.json"

i.e.

gui_langmuir -S settings_gui_langmuir.json

this runs a single Langmuir probe anaylsis and saves graphs when save button is hit.

A template hardcoded settings file can be found at https://github.com/umich-pstl/pstl-tools/blob/main/tests/gui_langmuir/settings/settings_gui_langmuir-hardcode_template.json

A buidling template is like https://github.com/umich-pstl/pstl-tools/blob/main/tests/gui_langmuir/settings/settings_gui_langmuir-02.json can also be used to in an automated script to quickly swap out probe JSON files.

In this JSON file, paths to the following are requried:

  • solver.data.BUILD.file = <path\to\data\file.csv>
  • solver.data.BUILD.negative = bool (false by default) The kwargs have delimiter is set to "," but can be "\t" for tab-delimited. If there is a header set header=0 if not, null. If there are extra rows above the header set skiprows=number of these rows.

The plasma settings need to also be defined under

  • solver.plasma.BUILD (either neutral_gas = xenon, krypton, neon or m_i needs to be defined)

The probe dimensions need to be defined as well under

  • solver.probe.BUILD.diameter = # (in meters)
  • solver.probe.BUILD.length = # (in meters, leave as zero for planar)
  • sovler.probe.BUILD.shape = (spherical, cylindrical, planar)

Optional definitions inclued

  • preprocess = true (to remove noisy data points, default is true but maybe changed in the future)
  • name = "NAME-TO-DISPLAY-ON-SOLVER-GUI"
  • canvas_kwargs.saveas = "BASENAME-TO-SAVE-PLOT-AS.png"
  • cavas_kwargs.width(or height) = size of gui plots
  • panal_kwargs.displays_kwargs.fname = "NAME-TO-SAVE-RESULTS.csv"

future updates will have additional buttons to change the analysis methods

Examples of the GUI Langmuir can be found in the same locations as the template. Known issue in settings_langmuir_solver-01.json using the negative index for fits.

Acknowledgements

If you use this package for analysis, please acknowledge this package and version used.

Metadata

Release files for pstl-tools 2024.12.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for pstl-tools 2024.12.0
File Size Uploaded Provenance Actions
pstl_tools-2024.12.0.tar.gz 4.8 MB Without provenance Details for pstl_tools-2024.12.0.tar.gz

Built distribution (wheel)

Table of built distributions (wheels) for pstl-tools 2024.12.0
File Interpreter ABI Platform Actions
pstl_tools-2024.12.0-py3-none-any.whl Python 3 none any Details for pstl_tools-2024.12.0-py3-none-any.whl

Total release size: 9.6 MB

Release files / pstl_tools-2024.12.0.tar.gz

Download URL pstl_tools-2024.12.0.tar.gz
Size 4.8 MB
Tags Source
SHA-256 checksum
How to use checksums
46146c02b6ca009e02d26783601bbfb8ae4a788052655fd692c6f36840e86eb7
BLAKE2b-256 checksum
How to use checksums
fe8e89e237b3a1147ca8f56445b2173969a2d4e3991207a76d53bdc0cc12a658
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/5.0.0 CPython/3.11.9

Release files / pstl_tools-2024.12.0-py3-none-any.whl

Download URL pstl_tools-2024.12.0-py3-none-any.whl
Size 4.8 MB
Tags Python 3
SHA-256 checksum
How to use checksums
e75bf07757369004689ebcee34dda0b3325df0c89f620d2dd0fa798275f5d542
BLAKE2b-256 checksum
How to use checksums
801fedb5db6f0cb8a4f6cb4a0e332d27319cbf4e157138abac041cd4fd92f7f2
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/5.0.0 CPython/3.11.9

Security for pstl-tools 2024.12.0

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page