nuboard 0.20.0__py3-none-any.whl

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.
Files changed (79) hide show
  1. nuboard/__init__.py +64 -0
  2. nuboard/__main__.py +5 -0
  3. nuboard/_artifact_cli.py +893 -0
  4. nuboard/_console.py +121 -0
  5. nuboard/_env.py +644 -0
  6. nuboard/_format.py +269 -0
  7. nuboard/_fs.py +168 -0
  8. nuboard/_media.py +1270 -0
  9. nuboard/_meta.py +20 -0
  10. nuboard/_system.py +449 -0
  11. nuboard/_waveform.py +241 -0
  12. nuboard/_writer.py +430 -0
  13. nuboard/alerts.py +250 -0
  14. nuboard/analysis.py +434 -0
  15. nuboard/artifacts.py +518 -0
  16. nuboard/catalog.py +464 -0
  17. nuboard/cells.py +42 -0
  18. nuboard/cli.py +481 -0
  19. nuboard/collection.py +167 -0
  20. nuboard/compact.py +123 -0
  21. nuboard/demo.py +1483 -0
  22. nuboard/figures.py +93 -0
  23. nuboard/jobs.py +112 -0
  24. nuboard/merge.py +1027 -0
  25. nuboard/query.py +597 -0
  26. nuboard/reader.py +591 -0
  27. nuboard/remove.py +254 -0
  28. nuboard/reports.py +672 -0
  29. nuboard/run.py +1911 -0
  30. nuboard/series.py +210 -0
  31. nuboard/server/__init__.py +5 -0
  32. nuboard/server/app.py +2007 -0
  33. nuboard/server/auth.py +248 -0
  34. nuboard/server/data.py +598 -0
  35. nuboard/server/runfiles.py +185 -0
  36. nuboard/server/storage.py +273 -0
  37. nuboard/server/tensorfiles.py +581 -0
  38. nuboard/static/assets/audio-DY6dO1gB.css +1 -0
  39. nuboard/static/assets/audio-zfRL7l-7.js +147 -0
  40. nuboard/static/assets/embed-TtLqwdzi.js +209 -0
  41. nuboard/static/assets/figure-C2BhteK6.js +1 -0
  42. nuboard/static/assets/geist-cyrillic-ext-wght-normal-DjL33-gN.woff2 +0 -0
  43. nuboard/static/assets/geist-cyrillic-wght-normal-BEAKL7Jp.woff2 +0 -0
  44. nuboard/static/assets/geist-latin-ext-wght-normal-DC-KSUi6.woff2 +0 -0
  45. nuboard/static/assets/geist-latin-wght-normal-BgDaEnEv.woff2 +0 -0
  46. nuboard/static/assets/geist-mono-cyrillic-ext-wght-normal-X_5orZeX.woff2 +0 -0
  47. nuboard/static/assets/geist-mono-cyrillic-wght-normal-DiZS0aHC.woff2 +0 -0
  48. nuboard/static/assets/geist-mono-latin-ext-wght-normal-Bwz-egvJ.woff2 +0 -0
  49. nuboard/static/assets/geist-mono-latin-wght-normal-DacJn9Pl.js +1 -0
  50. nuboard/static/assets/geist-mono-latin-wght-normal-XN7g48iV.woff2 +0 -0
  51. nuboard/static/assets/geist-mono-symbols2-wght-normal-CO5SzqOn.woff2 +0 -0
  52. nuboard/static/assets/geist-mono-vietnamese-wght-normal-DadHysG0.woff2 +0 -0
  53. nuboard/static/assets/geist-vietnamese-wght-normal-6IgcOCM7.woff2 +0 -0
  54. nuboard/static/assets/hover.min-Cmh-xNZ4.js +1 -0
  55. nuboard/static/assets/index-DyqX6lRK.css +1 -0
  56. nuboard/static/assets/main-Cl0qC-Nb.css +1 -0
  57. nuboard/static/assets/main-uubCGpj4.js +1355 -0
  58. nuboard/static/assets/minimap.min-rdO4gIdQ.js +1 -0
  59. nuboard/static/assets/player-81LsU0fu.js +2 -0
  60. nuboard/static/assets/player-SBz5j5aK.js +1743 -0
  61. nuboard/static/assets/plotly.min-DtrrpdmF.js +3596 -0
  62. nuboard/static/assets/plotly.min-_WaezbE4.js +3620 -0
  63. nuboard/static/assets/preload-helper-mg6Z-sIv.js +1 -0
  64. nuboard/static/assets/regions.min-BGHYlkZ8.js +1 -0
  65. nuboard/static/assets/uPlot.iife.min-BFDyfR1Q.js +1 -0
  66. nuboard/static/assets/vega-embed.min-OLQt4Rq9.js +1 -0
  67. nuboard/static/assets/vega-lite.min-Dm-nMFQY.js +1 -0
  68. nuboard/static/assets/vega.min-B1f_1nHC.js +1 -0
  69. nuboard/static/assets/wavesurfer.min-DboikoeH.js +1 -0
  70. nuboard/static/audio.html +89 -0
  71. nuboard/static/figure.html +31 -0
  72. nuboard/static/index.html +22 -0
  73. nuboard/static/logo.svg +1 -0
  74. nuboard/tensorboard.py +750 -0
  75. nuboard-0.20.0.dist-info/METADATA +144 -0
  76. nuboard-0.20.0.dist-info/RECORD +79 -0
  77. nuboard-0.20.0.dist-info/WHEEL +4 -0
  78. nuboard-0.20.0.dist-info/entry_points.txt +2 -0
  79. nuboard-0.20.0.dist-info/licenses/LICENSE +21 -0
nuboard/__init__.py ADDED
@@ -0,0 +1,64 @@
1
+ """A local, folder-based experiment tracker for ML training.
2
+
3
+ Example:
4
+ >>> import nuboard as nb
5
+ >>> with nb.init("my-project", config={"lr": 1e-3}) as run:
6
+ ... run.add_scalar({"loss": 0.5}, step=0)
7
+ """
8
+
9
+ from __future__ import annotations
10
+
11
+ from importlib import metadata as _metadata
12
+ from typing import TYPE_CHECKING
13
+
14
+ from ._meta import FORMAT_VERSION, NAME
15
+ from .artifacts import Artifact
16
+ from .cells import Audio, Image
17
+ from .figures import WaveformFigure
18
+ from .run import Run, add_artifact, get_artifact, init
19
+
20
+ try:
21
+ __version__ = _metadata.version(NAME)
22
+ except _metadata.PackageNotFoundError: # pragma: no cover - running from a source tree
23
+ __version__ = "0.0.0"
24
+
25
+ if TYPE_CHECKING:
26
+ from .analysis import Project
27
+
28
+
29
+ def load(project: str, *, dir: str | None = None) -> Project:
30
+ """Open a project (or any folder of runs) for analysis.
31
+
32
+ Args:
33
+ project: A project name, resolved the same way as in `init`, or the path of an
34
+ existing folder of runs (a project, or a tree of projects).
35
+ dir: Root folder holding the projects. Defaults to `$NUBOARD_DIR` or
36
+ `./experiments`. When given, `project` is always treated as a name.
37
+
38
+ Returns:
39
+ A `Project` covering every run found under the folder.
40
+
41
+ Example:
42
+ >>> import nuboard as nb
43
+ >>> project = nb.load("my-project")
44
+ >>> losses = project.scalars("loss", group_by="config.lr")
45
+ """
46
+ from .analysis import Project
47
+
48
+ return Project.open(project, dir=dir)
49
+
50
+
51
+ __all__ = [
52
+ "FORMAT_VERSION",
53
+ "NAME",
54
+ "Artifact",
55
+ "Audio",
56
+ "Image",
57
+ "Run",
58
+ "WaveformFigure",
59
+ "__version__",
60
+ "add_artifact",
61
+ "get_artifact",
62
+ "init",
63
+ "load",
64
+ ]
nuboard/__main__.py ADDED
@@ -0,0 +1,5 @@
1
+ """Run the command-line interface with `python -m nuboard`."""
2
+
3
+ from .cli import main
4
+
5
+ main()