Metadata-Version: 2.4
Name: pulseml
Version: 0.1.0
Summary: A live ML training debugger - GUI or CLI, any backend (NumPy, PyTorch, TensorFlow, CuPy, JAX).
Author-email: Yash Patel <codeyash09@gmail.com>
License: Proprietary
Project-URL: Homepage, https://github.com/codeyash09/PulseML
Project-URL: Issues, https://github.com/codeyash09/PulseML/issues
Keywords: machine-learning,deep-learning,debugging,pytorch,tensorflow,numpy,jax,cupy,training,visualization
Classifier: Development Status :: 3 - Alpha
Classifier: Intended Audience :: Developers
Classifier: Intended Audience :: Science/Research
Classifier: License :: Other/Proprietary License
Classifier: Operating System :: OS Independent
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3 :: Only
Classifier: Topic :: Scientific/Engineering :: Artificial Intelligence
Classifier: Topic :: Software Development :: Debuggers
Requires-Python: >=3.9
Description-Content-Type: text/markdown
License-File: LICENSE
Requires-Dist: numpy
Requires-Dist: matplotlib
Requires-Dist: pillow
Requires-Dist: litellm
Requires-Dist: fpdf2
Provides-Extra: torch
Requires-Dist: torch; extra == "torch"
Provides-Extra: tensorflow
Requires-Dist: tensorflow; extra == "tensorflow"
Provides-Extra: cupy
Requires-Dist: cupy-cuda12x; extra == "cupy"
Provides-Extra: jax
Requires-Dist: jax; extra == "jax"
Dynamic: license-file

# Pulse

A live ML training debugger - GUI or CLI, any backend.

```python
from pulse import auto_track
if __name__ == "__main__":
    auto_track()
    #training function
```

**GUI mode** opens a matrix picker with live shapes, then a live dashboard:
a heatmap grid on the left (click a tile to enlarge, right-click to
reconfigure axes) and an AI chat panel on the right that's briefed on its
role and can optionally see your training code. Scalars (loss, accuracy,
lr - anything shape `()`) render as a live line chart instead of a heatmap.
Loss-like scalars are auto-detected and pre-selected so you don't have to
hunt for them every run.

**CLI mode** is for Colab, SSH, or anywhere headless. No heatmaps are shown
on screen - matrices/tensors are "tagged" as text (stats printed each
step) and scalars get a live ASCII chart. You can optionally save labeled
PDF snapshots per variable per step.

**Backends:** NumPy, PyTorch, TensorFlow, CuPy, JAX - detected
automatically. Pulse never checks for `torch`/`tf`/etc. directly; it only
ever talks to its own backend-abstraction module.

## Install

```bash
pip install pulse-ml
```

`tkinter` is required for GUI mode and ships with most Python installs. On
Debian/Ubuntu, if it's missing:

```bash
sudo apt install python3-tk
```

To also track PyTorch, TensorFlow, CuPy, or JAX tensors, install the
matching extra:

```bash
pip install "pulse-ml[torch]"
pip install "pulse-ml[tensorflow]"
pip install "pulse-ml[cupy]"
pip install "pulse-ml[jax]"
```

## AI chat / analyst

Set the relevant provider's API key as an environment variable (e.g.
`ANTHROPIC_API_KEY`, `OPENAI_API_KEY`) to enable the AI chat panel - or
leave it unset and Pulse will prompt you for one the first time you send
a message.

## License

Proprietary. See `LICENSE`. Use of this software is governed by the terms
in that file - copying, redistribution, and reverse engineering are not
permitted.
