epochix 0.3.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.
- epochix/__init__.py +61 -0
- epochix/_artifacts/epochix.artifact.jsx +1198 -0
- epochix/_demos/keras_image_classifier.log +35 -0
- epochix/_demos/seq2seq_attention.log +27 -0
- epochix/_demos/yolov8_detection.log +37 -0
- epochix/_frontend/dist/.gitkeep +2 -0
- epochix/cli.py +634 -0
- epochix/config.py +59 -0
- epochix/enums.py +44 -0
- epochix/exporters/__init__.py +2 -0
- epochix/exporters/html_export.py +118 -0
- epochix/exporters/json_export.py +37 -0
- epochix/exporters/markdown_export.py +156 -0
- epochix/exporters/pdf_export.py +332 -0
- epochix/ingester/__init__.py +90 -0
- epochix/ingester/file_batch.py +43 -0
- epochix/ingester/file_tail.py +59 -0
- epochix/ingester/sdk_receiver.py +63 -0
- epochix/ingester/ssh.py +150 -0
- epochix/ingester/stdin.py +68 -0
- epochix/integrations/__init__.py +14 -0
- epochix/integrations/hf.py +158 -0
- epochix/integrations/jupyter.py +217 -0
- epochix/integrations/lightning.py +137 -0
- epochix/integrations/tensorboard_import.py +132 -0
- epochix/integrations/wandb_import.py +108 -0
- epochix/models.py +108 -0
- epochix/normalizer/__init__.py +36 -0
- epochix/normalizer/canonical_keys.py +80 -0
- epochix/normalizer/units.py +41 -0
- epochix/parsers/__init__.py +21 -0
- epochix/parsers/accelerate.py +59 -0
- epochix/parsers/architecture_parser.py +587 -0
- epochix/parsers/base.py +38 -0
- epochix/parsers/fastai.py +89 -0
- epochix/parsers/huggingface.py +56 -0
- epochix/parsers/keras_tensorflow.py +57 -0
- epochix/parsers/llm_fallback.py +199 -0
- epochix/parsers/pytorch_lightning.py +61 -0
- epochix/parsers/registry.py +76 -0
- epochix/parsers/ultralytics_yolo.py +110 -0
- epochix/parsers/universal.py +79 -0
- epochix/pipeline.py +374 -0
- epochix/plugins/__init__.py +66 -0
- epochix/plugins/exporter_registry.py +122 -0
- epochix/plugins/metaphor_loader.py +158 -0
- epochix/plugins/task_registry.py +131 -0
- epochix/py.typed +1 -0
- epochix/sdk/__init__.py +26 -0
- epochix/sdk/compare.py +128 -0
- epochix/sdk/export.py +70 -0
- epochix/sdk/live_reporter.py +215 -0
- epochix/sdk/parse.py +153 -0
- epochix/sdk/visualize.py +102 -0
- epochix/server/__init__.py +20 -0
- epochix/server/app.py +156 -0
- epochix/server/auth.py +110 -0
- epochix/server/hub.py +175 -0
- epochix/server/routes_export.py +103 -0
- epochix/server/routes_runs.py +278 -0
- epochix/server/routes_snapshot.py +103 -0
- epochix/server/sse.py +93 -0
- epochix/server/ws.py +105 -0
- epochix/store/__init__.py +4 -0
- epochix/store/migrations/env.py +58 -0
- epochix/store/migrations/script.py.mako +28 -0
- epochix/store/migrations/versions/0001_initial_schema.py +77 -0
- epochix/store/ring_buffer.py +37 -0
- epochix/store/sqlite_store.py +429 -0
- epochix/story_engine/__init__.py +260 -0
- epochix/story_engine/config_loader.py +132 -0
- epochix/story_engine/grade.py +195 -0
- epochix/story_engine/milestones.py +114 -0
- epochix/story_engine/narrator.py +60 -0
- epochix/story_engine/phases.py +87 -0
- epochix/story_engine/task_classifier.py +32 -0
- epochix/story_engine/templates/biometric/awakening.fa.txt +2 -0
- epochix/story_engine/templates/biometric/awakening.fr.txt +2 -0
- epochix/story_engine/templates/biometric/awakening.txt +4 -0
- epochix/story_engine/templates/biometric/learning.fa.txt +3 -0
- epochix/story_engine/templates/biometric/learning.fr.txt +3 -0
- epochix/story_engine/templates/biometric/learning.txt +4 -0
- epochix/story_engine/templates/biometric/mastering.fa.txt +2 -0
- epochix/story_engine/templates/biometric/mastering.fr.txt +2 -0
- epochix/story_engine/templates/biometric/mastering.txt +4 -0
- epochix/story_engine/templates/biometric/polishing.fa.txt +2 -0
- epochix/story_engine/templates/biometric/polishing.fr.txt +2 -0
- epochix/story_engine/templates/biometric/polishing.txt +4 -0
- epochix/story_engine/templates/biometric/understanding.fa.txt +2 -0
- epochix/story_engine/templates/biometric/understanding.fr.txt +2 -0
- epochix/story_engine/templates/biometric/understanding.txt +4 -0
- epochix/story_engine/templates/classification/awakening.fa.txt +2 -0
- epochix/story_engine/templates/classification/awakening.fr.txt +2 -0
- epochix/story_engine/templates/classification/awakening.txt +4 -0
- epochix/story_engine/templates/classification/learning.fa.txt +2 -0
- epochix/story_engine/templates/classification/learning.fr.txt +2 -0
- epochix/story_engine/templates/classification/learning.txt +4 -0
- epochix/story_engine/templates/classification/mastering.fa.txt +2 -0
- epochix/story_engine/templates/classification/mastering.fr.txt +2 -0
- epochix/story_engine/templates/classification/mastering.txt +4 -0
- epochix/story_engine/templates/classification/polishing.fa.txt +2 -0
- epochix/story_engine/templates/classification/polishing.fr.txt +2 -0
- epochix/story_engine/templates/classification/polishing.txt +4 -0
- epochix/story_engine/templates/classification/understanding.fa.txt +2 -0
- epochix/story_engine/templates/classification/understanding.fr.txt +2 -0
- epochix/story_engine/templates/classification/understanding.txt +4 -0
- epochix/story_engine/templates/custom/awakening.txt +3 -0
- epochix/story_engine/templates/custom/learning.txt +3 -0
- epochix/story_engine/templates/custom/mastering.txt +3 -0
- epochix/story_engine/templates/custom/polishing.txt +3 -0
- epochix/story_engine/templates/custom/understanding.txt +3 -0
- epochix/story_engine/templates/detection/awakening.fa.txt +2 -0
- epochix/story_engine/templates/detection/awakening.fr.txt +2 -0
- epochix/story_engine/templates/detection/awakening.txt +4 -0
- epochix/story_engine/templates/detection/learning.fa.txt +3 -0
- epochix/story_engine/templates/detection/learning.fr.txt +3 -0
- epochix/story_engine/templates/detection/learning.txt +4 -0
- epochix/story_engine/templates/detection/mastering.fa.txt +3 -0
- epochix/story_engine/templates/detection/mastering.fr.txt +3 -0
- epochix/story_engine/templates/detection/mastering.txt +4 -0
- epochix/story_engine/templates/detection/polishing.fa.txt +2 -0
- epochix/story_engine/templates/detection/polishing.fr.txt +2 -0
- epochix/story_engine/templates/detection/polishing.txt +4 -0
- epochix/story_engine/templates/detection/understanding.fa.txt +2 -0
- epochix/story_engine/templates/detection/understanding.fr.txt +2 -0
- epochix/story_engine/templates/detection/understanding.txt +4 -0
- epochix/story_engine/templates/gaze/awakening.fa.txt +2 -0
- epochix/story_engine/templates/gaze/awakening.fr.txt +2 -0
- epochix/story_engine/templates/gaze/awakening.txt +4 -0
- epochix/story_engine/templates/gaze/learning.fa.txt +3 -0
- epochix/story_engine/templates/gaze/learning.fr.txt +3 -0
- epochix/story_engine/templates/gaze/learning.txt +4 -0
- epochix/story_engine/templates/gaze/mastering.fa.txt +2 -0
- epochix/story_engine/templates/gaze/mastering.fr.txt +2 -0
- epochix/story_engine/templates/gaze/mastering.txt +4 -0
- epochix/story_engine/templates/gaze/polishing.fa.txt +2 -0
- epochix/story_engine/templates/gaze/polishing.fr.txt +2 -0
- epochix/story_engine/templates/gaze/polishing.txt +4 -0
- epochix/story_engine/templates/gaze/understanding.fa.txt +2 -0
- epochix/story_engine/templates/gaze/understanding.fr.txt +2 -0
- epochix/story_engine/templates/gaze/understanding.txt +4 -0
- epochix/story_engine/templates/generative/awakening.fa.txt +2 -0
- epochix/story_engine/templates/generative/awakening.fr.txt +2 -0
- epochix/story_engine/templates/generative/awakening.txt +4 -0
- epochix/story_engine/templates/generative/learning.fa.txt +3 -0
- epochix/story_engine/templates/generative/learning.fr.txt +3 -0
- epochix/story_engine/templates/generative/learning.txt +4 -0
- epochix/story_engine/templates/generative/mastering.fa.txt +2 -0
- epochix/story_engine/templates/generative/mastering.fr.txt +2 -0
- epochix/story_engine/templates/generative/mastering.txt +4 -0
- epochix/story_engine/templates/generative/polishing.fa.txt +2 -0
- epochix/story_engine/templates/generative/polishing.fr.txt +2 -0
- epochix/story_engine/templates/generative/polishing.txt +4 -0
- epochix/story_engine/templates/generative/understanding.fa.txt +2 -0
- epochix/story_engine/templates/generative/understanding.fr.txt +2 -0
- epochix/story_engine/templates/generative/understanding.txt +4 -0
- epochix/story_engine/templates/nlp/awakening.fa.txt +2 -0
- epochix/story_engine/templates/nlp/awakening.fr.txt +2 -0
- epochix/story_engine/templates/nlp/awakening.txt +4 -0
- epochix/story_engine/templates/nlp/learning.fa.txt +3 -0
- epochix/story_engine/templates/nlp/learning.fr.txt +3 -0
- epochix/story_engine/templates/nlp/learning.txt +4 -0
- epochix/story_engine/templates/nlp/mastering.fa.txt +2 -0
- epochix/story_engine/templates/nlp/mastering.fr.txt +2 -0
- epochix/story_engine/templates/nlp/mastering.txt +4 -0
- epochix/story_engine/templates/nlp/polishing.fa.txt +2 -0
- epochix/story_engine/templates/nlp/polishing.fr.txt +2 -0
- epochix/story_engine/templates/nlp/polishing.txt +4 -0
- epochix/story_engine/templates/nlp/understanding.fa.txt +2 -0
- epochix/story_engine/templates/nlp/understanding.fr.txt +2 -0
- epochix/story_engine/templates/nlp/understanding.txt +4 -0
- epochix/story_engine/templates/regression/awakening.fa.txt +2 -0
- epochix/story_engine/templates/regression/awakening.fr.txt +2 -0
- epochix/story_engine/templates/regression/awakening.txt +4 -0
- epochix/story_engine/templates/regression/learning.fa.txt +3 -0
- epochix/story_engine/templates/regression/learning.fr.txt +3 -0
- epochix/story_engine/templates/regression/learning.txt +4 -0
- epochix/story_engine/templates/regression/mastering.fa.txt +2 -0
- epochix/story_engine/templates/regression/mastering.fr.txt +2 -0
- epochix/story_engine/templates/regression/mastering.txt +4 -0
- epochix/story_engine/templates/regression/polishing.fa.txt +2 -0
- epochix/story_engine/templates/regression/polishing.fr.txt +2 -0
- epochix/story_engine/templates/regression/polishing.txt +4 -0
- epochix/story_engine/templates/regression/understanding.fa.txt +2 -0
- epochix/story_engine/templates/regression/understanding.fr.txt +2 -0
- epochix/story_engine/templates/regression/understanding.txt +4 -0
- epochix/story_engine/warnings.py +116 -0
- epochix-0.3.0.data/data/epochix/py.typed +1 -0
- epochix-0.3.0.dist-info/METADATA +322 -0
- epochix-0.3.0.dist-info/RECORD +193 -0
- epochix-0.3.0.dist-info/WHEEL +4 -0
- epochix-0.3.0.dist-info/entry_points.txt +11 -0
- epochix-0.3.0.dist-info/licenses/LICENSE +172 -0
epochix/__init__.py
ADDED
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
"""Epochix — visual storytelling for deep learning training runs."""
|
|
2
|
+
|
|
3
|
+
from epochix.enums import Grade, Phase, TaskType
|
|
4
|
+
from epochix.models import MetricEvent, Milestone, Run, StoryFrame, Warning
|
|
5
|
+
from epochix.parsers.base import BaseParser
|
|
6
|
+
from epochix.parsers.registry import register_parser
|
|
7
|
+
|
|
8
|
+
try:
|
|
9
|
+
from importlib.metadata import version as _pkg_version
|
|
10
|
+
|
|
11
|
+
__version__ = _pkg_version("epochix")
|
|
12
|
+
except Exception: # noqa: BLE001 — fallback when the package isn't installed
|
|
13
|
+
__version__ = "0.0.0+local"
|
|
14
|
+
|
|
15
|
+
__all__ = [
|
|
16
|
+
# Core models
|
|
17
|
+
"Run",
|
|
18
|
+
"MetricEvent",
|
|
19
|
+
"StoryFrame",
|
|
20
|
+
"Milestone",
|
|
21
|
+
"Warning",
|
|
22
|
+
# Enums
|
|
23
|
+
"Phase",
|
|
24
|
+
"Grade",
|
|
25
|
+
"TaskType",
|
|
26
|
+
# Plugin interface
|
|
27
|
+
"register_parser",
|
|
28
|
+
"BaseParser",
|
|
29
|
+
# SDK functions — populated lazily via __getattr__ below
|
|
30
|
+
"parse",
|
|
31
|
+
"parse_string",
|
|
32
|
+
"visualize",
|
|
33
|
+
"serve",
|
|
34
|
+
"export",
|
|
35
|
+
"compare",
|
|
36
|
+
"LiveReporter",
|
|
37
|
+
"LightningCallback",
|
|
38
|
+
"HuggingFaceCallback",
|
|
39
|
+
]
|
|
40
|
+
|
|
41
|
+
_SDK_ATTRS = {
|
|
42
|
+
"parse": ("epochix.sdk.parse", "parse"),
|
|
43
|
+
"parse_string": ("epochix.sdk.parse", "parse_string"),
|
|
44
|
+
"visualize": ("epochix.sdk.visualize", "visualize"),
|
|
45
|
+
"serve": ("epochix.sdk.visualize", "serve"),
|
|
46
|
+
"export": ("epochix.sdk.export", "export"),
|
|
47
|
+
"compare": ("epochix.sdk.compare", "compare"),
|
|
48
|
+
"LiveReporter": ("epochix.sdk.live_reporter", "LiveReporter"),
|
|
49
|
+
"LightningCallback": ("epochix.integrations.lightning", "StoryCallback"),
|
|
50
|
+
"HuggingFaceCallback": ("epochix.integrations.hf", "StoryCallback"),
|
|
51
|
+
}
|
|
52
|
+
|
|
53
|
+
|
|
54
|
+
def __getattr__(name: str) -> object:
|
|
55
|
+
if name in _SDK_ATTRS:
|
|
56
|
+
module_path, attr = _SDK_ATTRS[name]
|
|
57
|
+
import importlib
|
|
58
|
+
|
|
59
|
+
mod = importlib.import_module(module_path)
|
|
60
|
+
return getattr(mod, attr)
|
|
61
|
+
raise AttributeError(f"module 'epochix' has no attribute {name!r}")
|