euler-train 2.3.0__tar.gz → 2.4.0__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.
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: euler-train
3
- Version: 2.3.0
3
+ Version: 2.4.0
4
4
  Summary: Lightweight file-based experiment logger for PyTorch
5
5
  Requires-Python: >=3.9
6
6
  Requires-Dist: numpy
@@ -109,8 +109,9 @@ def init(
109
109
  stream:
110
110
  Optional output-stream consumer or config. Passing a mapping
111
111
  with ``base_url`` plus either ``stream_token`` or the pair
112
- ``model_id`` / ``access_token`` enables best-effort dual-write
113
- streaming to the Euler View model-run ingest API.
112
+ ``model_id`` / ``api_token`` (or legacy ``access_token``)
113
+ enables best-effort dual-write streaming to the Euler View
114
+ model-run ingest API.
114
115
  """
115
116
  return Run(
116
117
  dir=dir, config=config, meta=meta,
@@ -53,6 +53,7 @@ class EulerViewStreamConfig:
53
53
 
54
54
  base_url: str
55
55
  model_id: int | None = None
56
+ api_token: str | None = None
56
57
  access_token: str | None = None
57
58
  stream_token: str | None = None
58
59
  datasource_id: int | None = None
@@ -75,6 +76,10 @@ class EulerViewStreamConfig:
75
76
  self.access_token,
76
77
  field_name="stream.access_token",
77
78
  )
79
+ self.api_token = _normalize_optional_text(
80
+ self.api_token,
81
+ field_name="stream.api_token",
82
+ )
78
83
  self.stream_token = _normalize_optional_text(
79
84
  self.stream_token,
80
85
  field_name="stream.stream_token",
@@ -125,9 +130,9 @@ class EulerViewStreamConfig:
125
130
  raise ValueError(
126
131
  "stream.model_id is required when stream.stream_token is not provided",
127
132
  )
128
- if self.access_token is None:
133
+ if self.api_token is None and self.access_token is None:
129
134
  raise ValueError(
130
- "stream.access_token is required when stream.stream_token is not provided",
135
+ "stream.api_token or stream.access_token is required when stream.stream_token is not provided",
131
136
  )
132
137
 
133
138
 
@@ -303,7 +308,7 @@ class EulerViewStreamConsumer:
303
308
  payload = self._post_json(
304
309
  session_url,
305
310
  session_body,
306
- token=self.config.access_token,
311
+ token=self.config.api_token or self.config.access_token,
307
312
  )
308
313
  except Exception as exc:
309
314
  self._schedule_retry()
@@ -441,6 +446,7 @@ def _config_from_mapping(raw: Mapping[str, Any]) -> EulerViewStreamConfig:
441
446
  base_url=_mapping_get(raw, "base_url", "baseUrl"),
442
447
  model_id=_mapping_get(raw, "model_id", "modelId"),
443
448
  access_token=_mapping_get(raw, "access_token", "accessToken"),
449
+ api_token=_mapping_get(raw, "api_token", "apiToken"),
444
450
  stream_token=_mapping_get(raw, "stream_token", "streamToken"),
445
451
  datasource_id=_mapping_get(raw, "datasource_id", "datasourceId"),
446
452
  euler_train_dir=_mapping_get(raw, "euler_train_dir", "eulerTrainDir"),
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: euler-train
3
- Version: 2.3.0
3
+ Version: 2.4.0
4
4
  Summary: Lightweight file-based experiment logger for PyTorch
5
5
  Requires-Python: >=3.9
6
6
  Requires-Dist: numpy
@@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta"
4
4
 
5
5
  [project]
6
6
  name = "euler-train"
7
- version = "2.3.0"
7
+ version = "2.4.0"
8
8
  description = "Lightweight file-based experiment logger for PyTorch"
9
9
  requires-python = ">=3.9"
10
10
  dependencies = ["numpy", "euler-dataset-contract"]
@@ -1797,7 +1797,7 @@ class TestStreaming:
1797
1797
  stream={
1798
1798
  "base_url": "https://sync.example",
1799
1799
  "model_id": 42,
1800
- "access_token": "user-token",
1800
+ "api_token": "user-token",
1801
1801
  "datasource_id": 7,
1802
1802
  "batch_size": 1,
1803
1803
  },
File without changes
File without changes