pulseml 0.2.2__tar.gz → 0.2.4__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {pulseml-0.2.2 → pulseml-0.2.4}/LICENSE +49 -49
- pulseml-0.2.4/PKG-INFO +134 -0
- pulseml-0.2.4/README.md +91 -0
- pulseml-0.2.4/pyproject.toml +86 -0
- pulseml-0.2.4/src/pulse/cli.py +370 -0
- pulseml-0.2.4/src/pulse/pulse.py +7815 -0
- {pulseml-0.2.2 → pulseml-0.2.4}/src/pulse/pulse_backend.py +112 -10
- pulseml-0.2.4/src/pulse/pulse_brain.py +544 -0
- pulseml-0.2.4/src/pulse/pulse_cli.py +11690 -0
- pulseml-0.2.4/src/pulse/pulse_detect.py +656 -0
- pulseml-0.2.4/src/pulse/pulse_monitor.py +477 -0
- pulseml-0.2.4/src/pulse/pulse_stream.py +424 -0
- {pulseml-0.2.2 → pulseml-0.2.4}/src/pulse/pulse_supabase.py +117 -10
- pulseml-0.2.4/src/pulseml.egg-info/PKG-INFO +134 -0
- pulseml-0.2.4/src/pulseml.egg-info/SOURCES.txt +26 -0
- pulseml-0.2.4/src/pulseml.egg-info/entry_points.txt +2 -0
- pulseml-0.2.4/tests/test_brain.py +266 -0
- pulseml-0.2.4/tests/test_detect.py +181 -0
- pulseml-0.2.4/tests/test_detection_quality.py +147 -0
- pulseml-0.2.4/tests/test_detector_wiring.py +105 -0
- pulseml-0.2.4/tests/test_integration.py +155 -0
- pulseml-0.2.4/tests/test_stream_monitor.py +257 -0
- pulseml-0.2.2/PKG-INFO +0 -398
- pulseml-0.2.2/README.md +0 -362
- pulseml-0.2.2/pyproject.toml +0 -49
- pulseml-0.2.2/src/pulse/pulse.py +0 -3822
- pulseml-0.2.2/src/pulse/pulse_cli.py +0 -5659
- pulseml-0.2.2/src/pulseml.egg-info/PKG-INFO +0 -398
- pulseml-0.2.2/src/pulseml.egg-info/SOURCES.txt +0 -14
- {pulseml-0.2.2 → pulseml-0.2.4}/setup.cfg +0 -0
- {pulseml-0.2.2 → pulseml-0.2.4}/src/pulse/__init__.py +0 -0
- {pulseml-0.2.2 → pulseml-0.2.4}/src/pulse/pulse_pdf.py +0 -0
- {pulseml-0.2.2 → pulseml-0.2.4}/src/pulseml.egg-info/dependency_links.txt +0 -0
- {pulseml-0.2.2 → pulseml-0.2.4}/src/pulseml.egg-info/requires.txt +0 -0
- {pulseml-0.2.2 → pulseml-0.2.4}/src/pulseml.egg-info/top_level.txt +0 -0
|
@@ -1,49 +1,49 @@
|
|
|
1
|
-
PULSE PROPRIETARY SOFTWARE LICENSE
|
|
2
|
-
|
|
3
|
-
Copyright (c) 2026 Yash Patel. All Rights Reserved.
|
|
4
|
-
|
|
5
|
-
This software and associated files (the "Software") are the proprietary
|
|
6
|
-
property of the copyright holder. The Software is licensed, not sold.
|
|
7
|
-
|
|
8
|
-
1. GRANT OF LICENSE
|
|
9
|
-
Subject to the terms of this license, the copyright holder grants you a
|
|
10
|
-
limited, non-exclusive, non-transferable, revocable license to install
|
|
11
|
-
and run the Software for your own internal use.
|
|
12
|
-
|
|
13
|
-
2. RESTRICTIONS
|
|
14
|
-
Except as expressly permitted above, you may NOT, and may not permit
|
|
15
|
-
others to:
|
|
16
|
-
(a) copy, reproduce, distribute, sublicense, rent, lease, or resell the
|
|
17
|
-
Software;
|
|
18
|
-
(b) modify, adapt, translate, or create derivative works based on the
|
|
19
|
-
Software;
|
|
20
|
-
(c) reverse engineer, decompile, disassemble, or otherwise attempt to
|
|
21
|
-
derive the source code of the Software, except to the extent this
|
|
22
|
-
restriction is prohibited by applicable law;
|
|
23
|
-
(d) remove, obscure, or alter any proprietary notices on the Software;
|
|
24
|
-
(e) use the Software to build a competing product or service.
|
|
25
|
-
|
|
26
|
-
3. FUTURE PAID TERMS
|
|
27
|
-
The copyright holder reserves the right to change pricing, introduce
|
|
28
|
-
paid tiers or license keys, limit functionality, or discontinue free
|
|
29
|
-
distribution of future versions at any time. Continued use of any
|
|
30
|
-
future version may be subject to additional terms, including payment.
|
|
31
|
-
|
|
32
|
-
4. NO WARRANTY
|
|
33
|
-
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
|
|
34
|
-
OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
|
|
35
|
-
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, AND
|
|
36
|
-
NONINFRINGEMENT.
|
|
37
|
-
|
|
38
|
-
5. LIMITATION OF LIABILITY
|
|
39
|
-
IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE FOR ANY CLAIM,
|
|
40
|
-
DAMAGES, OR OTHER LIABILITY ARISING FROM, OUT OF, OR IN CONNECTION
|
|
41
|
-
WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
|
42
|
-
|
|
43
|
-
6. TERMINATION
|
|
44
|
-
This license is effective until terminated. It will terminate
|
|
45
|
-
automatically without notice if you fail to comply with any of its
|
|
46
|
-
terms. Upon termination, you must cease all use of the Software and
|
|
47
|
-
destroy all copies in your possession.
|
|
48
|
-
|
|
49
|
-
For licensing inquiries, contact: codeyash09@gmail.com
|
|
1
|
+
PULSE PROPRIETARY SOFTWARE LICENSE
|
|
2
|
+
|
|
3
|
+
Copyright (c) 2026 Yash Patel. All Rights Reserved.
|
|
4
|
+
|
|
5
|
+
This software and associated files (the "Software") are the proprietary
|
|
6
|
+
property of the copyright holder. The Software is licensed, not sold.
|
|
7
|
+
|
|
8
|
+
1. GRANT OF LICENSE
|
|
9
|
+
Subject to the terms of this license, the copyright holder grants you a
|
|
10
|
+
limited, non-exclusive, non-transferable, revocable license to install
|
|
11
|
+
and run the Software for your own internal use.
|
|
12
|
+
|
|
13
|
+
2. RESTRICTIONS
|
|
14
|
+
Except as expressly permitted above, you may NOT, and may not permit
|
|
15
|
+
others to:
|
|
16
|
+
(a) copy, reproduce, distribute, sublicense, rent, lease, or resell the
|
|
17
|
+
Software;
|
|
18
|
+
(b) modify, adapt, translate, or create derivative works based on the
|
|
19
|
+
Software;
|
|
20
|
+
(c) reverse engineer, decompile, disassemble, or otherwise attempt to
|
|
21
|
+
derive the source code of the Software, except to the extent this
|
|
22
|
+
restriction is prohibited by applicable law;
|
|
23
|
+
(d) remove, obscure, or alter any proprietary notices on the Software;
|
|
24
|
+
(e) use the Software to build a competing product or service.
|
|
25
|
+
|
|
26
|
+
3. FUTURE PAID TERMS
|
|
27
|
+
The copyright holder reserves the right to change pricing, introduce
|
|
28
|
+
paid tiers or license keys, limit functionality, or discontinue free
|
|
29
|
+
distribution of future versions at any time. Continued use of any
|
|
30
|
+
future version may be subject to additional terms, including payment.
|
|
31
|
+
|
|
32
|
+
4. NO WARRANTY
|
|
33
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
|
|
34
|
+
OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
|
|
35
|
+
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, AND
|
|
36
|
+
NONINFRINGEMENT.
|
|
37
|
+
|
|
38
|
+
5. LIMITATION OF LIABILITY
|
|
39
|
+
IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE FOR ANY CLAIM,
|
|
40
|
+
DAMAGES, OR OTHER LIABILITY ARISING FROM, OUT OF, OR IN CONNECTION
|
|
41
|
+
WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
|
42
|
+
|
|
43
|
+
6. TERMINATION
|
|
44
|
+
This license is effective until terminated. It will terminate
|
|
45
|
+
automatically without notice if you fail to comply with any of its
|
|
46
|
+
terms. Upon termination, you must cease all use of the Software and
|
|
47
|
+
destroy all copies in your possession.
|
|
48
|
+
|
|
49
|
+
For licensing inquiries, contact: codeyash09@gmail.com
|
pulseml-0.2.4/PKG-INFO
ADDED
|
@@ -0,0 +1,134 @@
|
|
|
1
|
+
Metadata-Version: 2.4
|
|
2
|
+
Name: pulseml
|
|
3
|
+
Version: 0.2.4
|
|
4
|
+
Summary: A live ML training debugger for tracking, diagnosing, verifying, and patching training runs.
|
|
5
|
+
Author-email: Yash Patel <codeyash09@gmail.com>
|
|
6
|
+
License: Proprietary
|
|
7
|
+
Project-URL: Homepage, https://pulsedb.netlify.app/
|
|
8
|
+
Project-URL: Repository, https://github.com/codeyash09/PulseML
|
|
9
|
+
Project-URL: Issues, https://github.com/codeyash09/PulseML/issues
|
|
10
|
+
Project-URL: Documentation, https://pulsedb.netlify.app/
|
|
11
|
+
Keywords: machine-learning,deep-learning,debugging,ml-debugging,training,pytorch,tensorflow,numpy,cupy,jax,gradients,training-debugger
|
|
12
|
+
Classifier: Development Status :: 3 - Alpha
|
|
13
|
+
Classifier: Intended Audience :: Developers
|
|
14
|
+
Classifier: Intended Audience :: Science/Research
|
|
15
|
+
Classifier: License :: Other/Proprietary License
|
|
16
|
+
Classifier: Operating System :: OS Independent
|
|
17
|
+
Classifier: Programming Language :: Python :: 3
|
|
18
|
+
Classifier: Programming Language :: Python :: 3 :: Only
|
|
19
|
+
Classifier: Programming Language :: Python :: 3.9
|
|
20
|
+
Classifier: Programming Language :: Python :: 3.10
|
|
21
|
+
Classifier: Programming Language :: Python :: 3.11
|
|
22
|
+
Classifier: Programming Language :: Python :: 3.12
|
|
23
|
+
Classifier: Programming Language :: Python :: 3.13
|
|
24
|
+
Classifier: Topic :: Scientific/Engineering :: Artificial Intelligence
|
|
25
|
+
Classifier: Topic :: Software Development :: Debuggers
|
|
26
|
+
Requires-Python: >=3.9
|
|
27
|
+
Description-Content-Type: text/markdown
|
|
28
|
+
License-File: LICENSE
|
|
29
|
+
Requires-Dist: numpy
|
|
30
|
+
Requires-Dist: matplotlib
|
|
31
|
+
Requires-Dist: pillow
|
|
32
|
+
Requires-Dist: litellm
|
|
33
|
+
Requires-Dist: fpdf2
|
|
34
|
+
Provides-Extra: torch
|
|
35
|
+
Requires-Dist: torch; extra == "torch"
|
|
36
|
+
Provides-Extra: tensorflow
|
|
37
|
+
Requires-Dist: tensorflow; extra == "tensorflow"
|
|
38
|
+
Provides-Extra: cupy
|
|
39
|
+
Requires-Dist: cupy-cuda12x; extra == "cupy"
|
|
40
|
+
Provides-Extra: jax
|
|
41
|
+
Requires-Dist: jax; extra == "jax"
|
|
42
|
+
Dynamic: license-file
|
|
43
|
+
|
|
44
|
+
# PulseML
|
|
45
|
+
|
|
46
|
+
**Pulse** — a live ML training debugger, GUI or CLI, any backend.
|
|
47
|
+
|
|
48
|
+
🔗 [pulsedb.netlify.app](https://pulsedb.netlify.app/)
|
|
49
|
+
|
|
50
|
+
Pulse is a live machine learning training debugger designed to monitor
|
|
51
|
+
tensors, track metrics, visualize heatmaps and line charts, and interact
|
|
52
|
+
with an integrated AI analyst.
|
|
53
|
+
|
|
54
|
+
## Key Features
|
|
55
|
+
|
|
56
|
+
- **GUI Mode** — Opens an interactive matrix picker with live shapes,
|
|
57
|
+
followed by a live dashboard with a heatmap grid and an integrated AI
|
|
58
|
+
chat panel.
|
|
59
|
+
- **Smart Scalars** — Scalars (loss, accuracy, learning rate)
|
|
60
|
+
automatically render as live step-charts rather than heatmaps.
|
|
61
|
+
Loss-like scalars are auto-detected and pre-selected in the picker.
|
|
62
|
+
- **CLI Mode** — Built for Colab, SSH, or headless environments, printing
|
|
63
|
+
tensor stats step-by-step, displaying live ASCII charts for scalars,
|
|
64
|
+
and supporting optional labeled PDF snapshots. Supports pausing
|
|
65
|
+
training so you can tag new matrices or ask the AI to interpret
|
|
66
|
+
results, right from the terminal.
|
|
67
|
+
- **Universal Backend Support** — Automatically detects and works with
|
|
68
|
+
NumPy, PyTorch, TensorFlow, CuPy, and JAX via a shared backend
|
|
69
|
+
abstraction layer.
|
|
70
|
+
- **High Performance** — Keeps overhead low by converting tensors to
|
|
71
|
+
host-side NumPy arrays, reusing Matplotlib figures (`set_data`) instead
|
|
72
|
+
of rebuilding them every step, and matching render sizes to the actual
|
|
73
|
+
on-screen thumbnail.
|
|
74
|
+
- **Pulse AI Analyst** — A context-aware chat panel briefed on its role
|
|
75
|
+
that can inspect live matrix statistics, heatmaps, and your training
|
|
76
|
+
code when "Send Code" is enabled.
|
|
77
|
+
|
|
78
|
+
## Past Debugs
|
|
79
|
+
|
|
80
|
+
- Debugged a custom LLM after a vocab size increase (2.5x) by catching a
|
|
81
|
+
normalization bug — dividing residual growth by `math.sqrt(num_layers)`
|
|
82
|
+
instead of `num_layers` — that let activations blow up and halted
|
|
83
|
+
training.
|
|
84
|
+
- Debugged another developer's custom attention mechanism producing NaN
|
|
85
|
+
loss, tracing it to a missing infinity check before a division.
|
|
86
|
+
|
|
87
|
+
See [pulsedb.netlify.app](https://pulsedb.netlify.app/) for screenshots
|
|
88
|
+
of matrix selection, the live dashboard, and the CLI view.
|
|
89
|
+
|
|
90
|
+
## Install
|
|
91
|
+
|
|
92
|
+
```bash
|
|
93
|
+
pip install pulseml
|
|
94
|
+
```
|
|
95
|
+
|
|
96
|
+
`tkinter` is required for GUI mode and ships with most Python installs.
|
|
97
|
+
On Debian/Ubuntu, if it's missing:
|
|
98
|
+
|
|
99
|
+
```bash
|
|
100
|
+
sudo apt install python3-tk
|
|
101
|
+
```
|
|
102
|
+
|
|
103
|
+
For CLI-mode PDF snapshots, `fpdf2` is installed automatically as part of
|
|
104
|
+
the base package.
|
|
105
|
+
|
|
106
|
+
## Quickstart
|
|
107
|
+
|
|
108
|
+
Import `auto_track` and call it right before your training loop starts.
|
|
109
|
+
Make sure your loop is wrapped in `if __name__ == '__main__':`.
|
|
110
|
+
|
|
111
|
+
```python
|
|
112
|
+
from pulse import auto_track
|
|
113
|
+
|
|
114
|
+
if __name__ == '__main__':
|
|
115
|
+
auto_track() # pass your training function for shape discovery, or call directly
|
|
116
|
+
|
|
117
|
+
# Your training loop
|
|
118
|
+
for epoch in range(num_epochs):
|
|
119
|
+
# Training logic here
|
|
120
|
+
pass
|
|
121
|
+
```
|
|
122
|
+
|
|
123
|
+
## AI Chat & API Keys
|
|
124
|
+
|
|
125
|
+
To enable the AI chat panel, set the relevant provider's API key as an
|
|
126
|
+
environment variable (e.g. `ANTHROPIC_API_KEY`, `OPENAI_API_KEY`,
|
|
127
|
+
`GEMINI_API_KEY`, `DEEPSEEK_API_KEY`) — or leave it unset and Pulse will
|
|
128
|
+
prompt you for one inside the GUI the first time you send a message.
|
|
129
|
+
|
|
130
|
+
## License
|
|
131
|
+
|
|
132
|
+
Proprietary. See `LICENSE`. Use of this software is governed by the
|
|
133
|
+
terms in that file — copying, redistribution, and reverse engineering
|
|
134
|
+
are not permitted.
|
pulseml-0.2.4/README.md
ADDED
|
@@ -0,0 +1,91 @@
|
|
|
1
|
+
# PulseML
|
|
2
|
+
|
|
3
|
+
**Pulse** — a live ML training debugger, GUI or CLI, any backend.
|
|
4
|
+
|
|
5
|
+
🔗 [pulsedb.netlify.app](https://pulsedb.netlify.app/)
|
|
6
|
+
|
|
7
|
+
Pulse is a live machine learning training debugger designed to monitor
|
|
8
|
+
tensors, track metrics, visualize heatmaps and line charts, and interact
|
|
9
|
+
with an integrated AI analyst.
|
|
10
|
+
|
|
11
|
+
## Key Features
|
|
12
|
+
|
|
13
|
+
- **GUI Mode** — Opens an interactive matrix picker with live shapes,
|
|
14
|
+
followed by a live dashboard with a heatmap grid and an integrated AI
|
|
15
|
+
chat panel.
|
|
16
|
+
- **Smart Scalars** — Scalars (loss, accuracy, learning rate)
|
|
17
|
+
automatically render as live step-charts rather than heatmaps.
|
|
18
|
+
Loss-like scalars are auto-detected and pre-selected in the picker.
|
|
19
|
+
- **CLI Mode** — Built for Colab, SSH, or headless environments, printing
|
|
20
|
+
tensor stats step-by-step, displaying live ASCII charts for scalars,
|
|
21
|
+
and supporting optional labeled PDF snapshots. Supports pausing
|
|
22
|
+
training so you can tag new matrices or ask the AI to interpret
|
|
23
|
+
results, right from the terminal.
|
|
24
|
+
- **Universal Backend Support** — Automatically detects and works with
|
|
25
|
+
NumPy, PyTorch, TensorFlow, CuPy, and JAX via a shared backend
|
|
26
|
+
abstraction layer.
|
|
27
|
+
- **High Performance** — Keeps overhead low by converting tensors to
|
|
28
|
+
host-side NumPy arrays, reusing Matplotlib figures (`set_data`) instead
|
|
29
|
+
of rebuilding them every step, and matching render sizes to the actual
|
|
30
|
+
on-screen thumbnail.
|
|
31
|
+
- **Pulse AI Analyst** — A context-aware chat panel briefed on its role
|
|
32
|
+
that can inspect live matrix statistics, heatmaps, and your training
|
|
33
|
+
code when "Send Code" is enabled.
|
|
34
|
+
|
|
35
|
+
## Past Debugs
|
|
36
|
+
|
|
37
|
+
- Debugged a custom LLM after a vocab size increase (2.5x) by catching a
|
|
38
|
+
normalization bug — dividing residual growth by `math.sqrt(num_layers)`
|
|
39
|
+
instead of `num_layers` — that let activations blow up and halted
|
|
40
|
+
training.
|
|
41
|
+
- Debugged another developer's custom attention mechanism producing NaN
|
|
42
|
+
loss, tracing it to a missing infinity check before a division.
|
|
43
|
+
|
|
44
|
+
See [pulsedb.netlify.app](https://pulsedb.netlify.app/) for screenshots
|
|
45
|
+
of matrix selection, the live dashboard, and the CLI view.
|
|
46
|
+
|
|
47
|
+
## Install
|
|
48
|
+
|
|
49
|
+
```bash
|
|
50
|
+
pip install pulseml
|
|
51
|
+
```
|
|
52
|
+
|
|
53
|
+
`tkinter` is required for GUI mode and ships with most Python installs.
|
|
54
|
+
On Debian/Ubuntu, if it's missing:
|
|
55
|
+
|
|
56
|
+
```bash
|
|
57
|
+
sudo apt install python3-tk
|
|
58
|
+
```
|
|
59
|
+
|
|
60
|
+
For CLI-mode PDF snapshots, `fpdf2` is installed automatically as part of
|
|
61
|
+
the base package.
|
|
62
|
+
|
|
63
|
+
## Quickstart
|
|
64
|
+
|
|
65
|
+
Import `auto_track` and call it right before your training loop starts.
|
|
66
|
+
Make sure your loop is wrapped in `if __name__ == '__main__':`.
|
|
67
|
+
|
|
68
|
+
```python
|
|
69
|
+
from pulse import auto_track
|
|
70
|
+
|
|
71
|
+
if __name__ == '__main__':
|
|
72
|
+
auto_track() # pass your training function for shape discovery, or call directly
|
|
73
|
+
|
|
74
|
+
# Your training loop
|
|
75
|
+
for epoch in range(num_epochs):
|
|
76
|
+
# Training logic here
|
|
77
|
+
pass
|
|
78
|
+
```
|
|
79
|
+
|
|
80
|
+
## AI Chat & API Keys
|
|
81
|
+
|
|
82
|
+
To enable the AI chat panel, set the relevant provider's API key as an
|
|
83
|
+
environment variable (e.g. `ANTHROPIC_API_KEY`, `OPENAI_API_KEY`,
|
|
84
|
+
`GEMINI_API_KEY`, `DEEPSEEK_API_KEY`) — or leave it unset and Pulse will
|
|
85
|
+
prompt you for one inside the GUI the first time you send a message.
|
|
86
|
+
|
|
87
|
+
## License
|
|
88
|
+
|
|
89
|
+
Proprietary. See `LICENSE`. Use of this software is governed by the
|
|
90
|
+
terms in that file — copying, redistribution, and reverse engineering
|
|
91
|
+
are not permitted.
|
|
@@ -0,0 +1,86 @@
|
|
|
1
|
+
[build-system]
|
|
2
|
+
requires = ["setuptools>=68", "wheel"]
|
|
3
|
+
build-backend = "setuptools.build_meta"
|
|
4
|
+
|
|
5
|
+
[project]
|
|
6
|
+
name = "pulseml"
|
|
7
|
+
version = "0.2.4"
|
|
8
|
+
description = "A live ML training debugger for tracking, diagnosing, verifying, and patching training runs."
|
|
9
|
+
readme = "README.md"
|
|
10
|
+
requires-python = ">=3.9"
|
|
11
|
+
license = { text = "Proprietary" }
|
|
12
|
+
|
|
13
|
+
|
|
14
|
+
|
|
15
|
+
authors = [
|
|
16
|
+
{ name = "Yash Patel", email = "codeyash09@gmail.com" }
|
|
17
|
+
]
|
|
18
|
+
|
|
19
|
+
keywords = [
|
|
20
|
+
"machine-learning",
|
|
21
|
+
"deep-learning",
|
|
22
|
+
"debugging",
|
|
23
|
+
"ml-debugging",
|
|
24
|
+
"training",
|
|
25
|
+
"pytorch",
|
|
26
|
+
"tensorflow",
|
|
27
|
+
"numpy",
|
|
28
|
+
"cupy",
|
|
29
|
+
"jax",
|
|
30
|
+
"gradients",
|
|
31
|
+
"training-debugger"
|
|
32
|
+
]
|
|
33
|
+
|
|
34
|
+
classifiers = [
|
|
35
|
+
"Development Status :: 3 - Alpha",
|
|
36
|
+
"Intended Audience :: Developers",
|
|
37
|
+
"Intended Audience :: Science/Research",
|
|
38
|
+
"License :: Other/Proprietary License",
|
|
39
|
+
"Operating System :: OS Independent",
|
|
40
|
+
"Programming Language :: Python :: 3",
|
|
41
|
+
"Programming Language :: Python :: 3 :: Only",
|
|
42
|
+
"Programming Language :: Python :: 3.9",
|
|
43
|
+
"Programming Language :: Python :: 3.10",
|
|
44
|
+
"Programming Language :: Python :: 3.11",
|
|
45
|
+
"Programming Language :: Python :: 3.12",
|
|
46
|
+
"Programming Language :: Python :: 3.13",
|
|
47
|
+
"Topic :: Scientific/Engineering :: Artificial Intelligence",
|
|
48
|
+
"Topic :: Software Development :: Debuggers",
|
|
49
|
+
]
|
|
50
|
+
|
|
51
|
+
dependencies = [
|
|
52
|
+
"numpy",
|
|
53
|
+
"matplotlib",
|
|
54
|
+
"pillow",
|
|
55
|
+
"litellm",
|
|
56
|
+
"fpdf2",
|
|
57
|
+
]
|
|
58
|
+
|
|
59
|
+
[project.scripts]
|
|
60
|
+
pulse = "pulse.cli:main"
|
|
61
|
+
|
|
62
|
+
[project.optional-dependencies]
|
|
63
|
+
torch = [
|
|
64
|
+
"torch"
|
|
65
|
+
]
|
|
66
|
+
|
|
67
|
+
tensorflow = [
|
|
68
|
+
"tensorflow"
|
|
69
|
+
]
|
|
70
|
+
|
|
71
|
+
cupy = [
|
|
72
|
+
"cupy-cuda12x"
|
|
73
|
+
]
|
|
74
|
+
|
|
75
|
+
jax = [
|
|
76
|
+
"jax"
|
|
77
|
+
]
|
|
78
|
+
|
|
79
|
+
[project.urls]
|
|
80
|
+
Homepage = "https://pulsedb.netlify.app/"
|
|
81
|
+
Repository = "https://github.com/codeyash09/PulseML"
|
|
82
|
+
Issues = "https://github.com/codeyash09/PulseML/issues"
|
|
83
|
+
Documentation = "https://pulsedb.netlify.app/"
|
|
84
|
+
|
|
85
|
+
[tool.setuptools.packages.find]
|
|
86
|
+
where = ["src"]
|