semvec/pypi-packages huggingface dataset:
fftekwfm 0.3.0.1
Read Tektronix WFM files with FastFrame support.
Requires Python: >=3.10

# FFTekWFM

Tektronix [Waveform file format](https://download.tek.com/manual/Waveform-File-Format-Manual-077022011.pdf) reader.

Features :
+ Support WFM file format version 1, 2 and 3
+ Support FastFrame
+ Support memory mapping
+ Support loading frames with or without pre- and post-charge data

Header reader structure inspired by [TekWFM2](https://github.com/vongostev/tekwfm2).

## Notice
Note this package works for *my* use-case but is not properly tested. Consider using [TekWFM2](https://github.com/vongostev/tekwfm2) for a more established solution.

## Installation
`pip install git+https://gitlab.in2p3.fr/himagnetos/tekwfm.git`

## Usage

Read a file with memory mapping and plot some time series from fast frames, unscaled :
```python
import matplotlib.pyplot as plt
from fftekwfm import TekWFM

filename = "/path/to/tekfile.wfm"
tek = TekWFM(filename).load_frames().get_time_frame()
plt.figure()
plt.plot(tek.time_frame, tek.frames[:, [0, 8000, 15000]])
plt.xlabel("time (s)")
plt.ylabel("signal (a.u.)")
```

Load every frames in-memory and do some calculation :
```python
import matplotlib.pyplot as plt
import numpy as np
from fftekwfm import TekWFM

filename = "/path/to/tekfile.wfm"
tek = TekWFM(filename).load_frames(mmap=False)
Sn = np.abs(np.fft.rfft(tek.frames, axis=0))
f = np.fft.rfftfreq(sig.shape[0], d=tek.tscale)  # tscale is the time between two samples
plt.figure()
plt.plot(f, S_mag)
plt.xlabel("frequency (Hz)")
plt.ylabel("magnitude")
```
html-snapshot 0.1.3
Capture a PNG screenshot of a local HTML presentation using Playwright
Requires Python: >=3.10

# html-snapshot

Capture any HTML page as a PNG and (optionally) emit a structured layout report for automated checks.

## Quick start (no install)

```bash
# one-time: ensure Playwright's Chromium runtime is available
uvx playwright install chromium

# generate a slide screenshot, plus an optional JSON layout report
uvx html-snapshot /path/to/slide.html \
    --output slide.png \
    --report slide.json
```

`uvx` runs the tool in an isolated environment downloaded from PyPI. The script auto-installs Chromium if it is missing (skip with `--no-auto-install`).

## Install once, reuse often

Prefer a persistent CLI?

```bash
uv tool install html-snapshot   # adds `html-snapshot` to your PATH

html-snapshot /path/to/slide.html --output slide.png --report slide.json
```

Or use pip:

```bash
pip install html-snapshot
html-snapshot /path/to/slide.html --output slide.png
```

## CLI options

| Option | Description |
| ------ | ----------- |
| `html_path` | Path to the local HTML file to render |
| `-o / --output` | Output PNG path (default: input with `.png` suffix) |
| `--report` | Optional JSON layout report (words, bounding boxes, warnings) |
| `--width` / `--height` | Viewport size (default: 1400×900) |
| `--delay` | Wait time after load before capture |
| `--no-full-page` | Capture only the viewport |
| `--no-auto-install` | Require Chromium to be pre-installed |

## Direct-from-GitHub fallback

If you’d rather run the latest commit without PyPI:

```bash
uvx --from git+https://github.com/oneryalcin/html-snapshot html-snapshot sample.html --output slide.png
```