gemla 1.0.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.
Files changed (70) hide show
  1. gemla-1.0.0/LICENSE +0 -0
  2. gemla-1.0.0/PKG-INFO +333 -0
  3. gemla-1.0.0/README.md +307 -0
  4. gemla-1.0.0/pyproject.toml +49 -0
  5. gemla-1.0.0/setup.cfg +4 -0
  6. gemla-1.0.0/src/gemla/__init__.py +9 -0
  7. gemla-1.0.0/src/gemla/__version.py +1 -0
  8. gemla-1.0.0/src/gemla/benchmarks/__init__.py +19 -0
  9. gemla-1.0.0/src/gemla/benchmarks/run_all_benchmarks.py +31 -0
  10. gemla-1.0.0/src/gemla/benchmarks/runner.py +148 -0
  11. gemla-1.0.0/src/gemla/cli/__init__.py +3 -0
  12. gemla-1.0.0/src/gemla/cli/main.py +469 -0
  13. gemla-1.0.0/src/gemla/controls/__init__.py +3 -0
  14. gemla-1.0.0/src/gemla/controls/control_suite.py +26 -0
  15. gemla-1.0.0/src/gemla/controls/phase_shuffle.py +0 -0
  16. gemla-1.0.0/src/gemla/controls/residue_scramble.py +0 -0
  17. gemla-1.0.0/src/gemla/controls/wrong_sign.py +0 -0
  18. gemla-1.0.0/src/gemla/core/action.py +0 -0
  19. gemla-1.0.0/src/gemla/core/eml.py +0 -0
  20. gemla-1.0.0/src/gemla/core/gamma_operator.py +0 -0
  21. gemla-1.0.0/src/gemla/core/surrogate.py +0 -0
  22. gemla-1.0.0/src/gemla/data/__init__.py +11 -0
  23. gemla-1.0.0/src/gemla/data/cyber.py +70 -0
  24. gemla-1.0.0/src/gemla/data/industrial.py +69 -0
  25. gemla-1.0.0/src/gemla/data/market.py +71 -0
  26. gemla-1.0.0/src/gemla/data/synthetic.py +34 -0
  27. gemla-1.0.0/src/gemla/gates/__init__.py +3 -0
  28. gemla-1.0.0/src/gemla/gates/anchor_gate.py +0 -0
  29. gemla-1.0.0/src/gemla/gates/reva_v2.py +0 -0
  30. gemla-1.0.0/src/gemla/gates/reva_v2_sf.py +80 -0
  31. gemla-1.0.0/src/gemla/gates/transport_acceptance.py +0 -0
  32. gemla-1.0.0/src/gemla/gates/winding_gate.py +0 -0
  33. gemla-1.0.0/src/gemla/integrations/__init__.py +1 -0
  34. gemla-1.0.0/src/gemla/integrations/latent/__init__.py +9 -0
  35. gemla-1.0.0/src/gemla/integrations/latent/adapter.py +84 -0
  36. gemla-1.0.0/src/gemla/integrations/vjepa/__init__.py +11 -0
  37. gemla-1.0.0/src/gemla/integrations/vjepa/adapter.py +87 -0
  38. gemla-1.0.0/src/gemla/lifted/__init__.py +13 -0
  39. gemla-1.0.0/src/gemla/lifted/anchors.py +42 -0
  40. gemla-1.0.0/src/gemla/lifted/lifted_phase.py +43 -0
  41. gemla-1.0.0/src/gemla/lifted/spectral_flatness.py +25 -0
  42. gemla-1.0.0/src/gemla/lifted/winding.py +27 -0
  43. gemla-1.0.0/src/gemla/pipelines/__init__.py +11 -0
  44. gemla-1.0.0/src/gemla/pipelines/gemla_pipeline.py +87 -0
  45. gemla-1.0.0/src/gemla/pipelines/latent_pipeline.py +107 -0
  46. gemla-1.0.0/src/gemla/reports/__init__.py +3 -0
  47. gemla-1.0.0/src/gemla/reports/markdown.py +86 -0
  48. gemla-1.0.0/src/gemla.egg-info/PKG-INFO +333 -0
  49. gemla-1.0.0/src/gemla.egg-info/SOURCES.txt +68 -0
  50. gemla-1.0.0/src/gemla.egg-info/dependency_links.txt +1 -0
  51. gemla-1.0.0/src/gemla.egg-info/entry_points.txt +2 -0
  52. gemla-1.0.0/src/gemla.egg-info/requires.txt +12 -0
  53. gemla-1.0.0/src/gemla.egg-info/top_level.txt +1 -0
  54. gemla-1.0.0/tests/test_action.py +0 -0
  55. gemla-1.0.0/tests/test_benchmarks.py +29 -0
  56. gemla-1.0.0/tests/test_cli.py +31 -0
  57. gemla-1.0.0/tests/test_cli_benchmark.py +30 -0
  58. gemla-1.0.0/tests/test_cli_latent.py +23 -0
  59. gemla-1.0.0/tests/test_cli_practical_demos.py +67 -0
  60. gemla-1.0.0/tests/test_cli_vjepa.py +30 -0
  61. gemla-1.0.0/tests/test_controls.py +18 -0
  62. gemla-1.0.0/tests/test_cyber_demo.py +44 -0
  63. gemla-1.0.0/tests/test_gamma_operator.py +0 -0
  64. gemla-1.0.0/tests/test_industrial_demo.py +44 -0
  65. gemla-1.0.0/tests/test_latent_adapter.py +32 -0
  66. gemla-1.0.0/tests/test_lifted_phase.py +25 -0
  67. gemla-1.0.0/tests/test_market_demo.py +44 -0
  68. gemla-1.0.0/tests/test_pipeline.py +16 -0
  69. gemla-1.0.0/tests/test_reva_v2_sf.py +0 -0
  70. gemla-1.0.0/tests/test_vjepa_adapter.py +50 -0
gemla-1.0.0/LICENSE ADDED
File without changes
gemla-1.0.0/PKG-INFO ADDED
@@ -0,0 +1,333 @@
1
+ Metadata-Version: 2.4
2
+ Name: gemla
3
+ Version: 1.0.0
4
+ Summary: GEMLA: Γ–EML–α Transport Architecture SDK
5
+ Author: Predilytics Inc.
6
+ License: MIT
7
+ Project-URL: Homepage, https://github.com/johnarrackalceles-ui/gemla-sdk
8
+ Project-URL: Repository, https://github.com/johnarrackalceles-ui/gemla-sdk
9
+ Project-URL: Issues, https://github.com/johnarrackalceles-ui/gemla-sdk/issues
10
+ Keywords: transport-topology,dynamical-systems,path-measures,lifted-phase,world-models,diagnostics
11
+ Requires-Python: >=3.10
12
+ Description-Content-Type: text/markdown
13
+ License-File: LICENSE
14
+ Requires-Dist: numpy
15
+ Requires-Dist: scipy
16
+ Requires-Dist: pandas
17
+ Requires-Dist: matplotlib
18
+ Requires-Dist: pydantic
19
+ Provides-Extra: dev
20
+ Requires-Dist: pytest; extra == "dev"
21
+ Requires-Dist: ruff; extra == "dev"
22
+ Requires-Dist: mypy; extra == "dev"
23
+ Requires-Dist: build; extra == "dev"
24
+ Requires-Dist: twine; extra == "dev"
25
+ Dynamic: license-file
26
+
27
+ # GEMLA SDK
28
+
29
+ **GEMLA** is a Γ–EML–α transport architecture research SDK for observable path measures, lifted-phase diagnostics, adversarial-control gates, and finite transport-topology evaluation.
30
+
31
+ The SDK evaluates whether a supplied trajectory produces a stable lifted transport signature that passes diagnostic gates and rejects adversarial controls.
32
+
33
+ ---
34
+
35
+ ## Current Status
36
+
37
+ **Research preview:** `v0.5.0-practical-demos`
38
+
39
+ Current capabilities:
40
+
41
+ - package import and editable install
42
+ - synthetic transport generation
43
+ - lifted phase construction
44
+ - RevA v2-SF gate evaluation
45
+ - wrong-sign, phase-shuffle, and residue-scramble controls
46
+ - anchor irregularity diagnostics
47
+ - integer winding diagnostics
48
+ - Markdown report export
49
+ - benchmark suite
50
+ - latent embedding evaluation
51
+ - V-JEPA-style embedding adapter
52
+ - industrial telemetry demo
53
+ - market microstructure demo
54
+ - cyber event transport demo
55
+ - pytest validation
56
+ - GitHub Actions CI
57
+
58
+ ---
59
+
60
+ ## Core Pipeline
61
+
62
+ ```text
63
+ source trajectory
64
+ → complex / latent surrogate
65
+ → lifted phase Θ(t)
66
+ → RevA v2-SF gate
67
+ → adversarial controls
68
+ → anchor diagnostics
69
+ → winding diagnostics
70
+ → PASS / FAIL verdict
71
+ ```
72
+
73
+ ---
74
+
75
+ ## Install
76
+
77
+ From the repository root:
78
+
79
+ ```bash
80
+ pip install -e ".[dev]"
81
+ ```
82
+
83
+ Check installation:
84
+
85
+ ```bash
86
+ gemla --help
87
+ ```
88
+
89
+ ---
90
+
91
+ ## Quickstart
92
+
93
+ Run the minimal vertical-slice pipeline:
94
+
95
+ ```bash
96
+ gemla evaluate
97
+ ```
98
+
99
+ Or run the original Python example:
100
+
101
+ ```bash
102
+ python examples/quickstart/01_minimal_pipeline.py
103
+ ```
104
+
105
+ Expected output includes:
106
+
107
+ ```text
108
+ GEMLA Transport Evaluation
109
+ --------------------------
110
+ RevA v2-SF main pass: True
111
+ Wrong-sign rejected: True
112
+ Phase-shuffle rejected: True
113
+ Residue-scramble rejected: True
114
+ Final verdict: PASS
115
+ ```
116
+
117
+ The command writes a Markdown report to:
118
+
119
+ ```text
120
+ reports/gemla_transport_report.md
121
+ ```
122
+
123
+ ---
124
+
125
+ ## CLI Usage
126
+
127
+ ### Default transport evaluation
128
+
129
+ ```bash
130
+ gemla evaluate
131
+ ```
132
+
133
+ Custom output:
134
+
135
+ ```bash
136
+ gemla evaluate --output reports/custom_report.md
137
+ ```
138
+
139
+ Custom synthetic trajectory:
140
+
141
+ ```bash
142
+ gemla evaluate --n 1500 --t-max 100 --noise 0.02 --seed 9
143
+ ```
144
+
145
+ ### Benchmark suite
146
+
147
+ ```bash
148
+ gemla benchmark
149
+ ```
150
+
151
+ Custom benchmark output directory:
152
+
153
+ ```bash
154
+ gemla benchmark --output-dir benchmarks/results
155
+ ```
156
+
157
+ ### Latent embedding evaluation
158
+
159
+ Run synthetic latent evaluation:
160
+
161
+ ```bash
162
+ gemla evaluate-latent
163
+ ```
164
+
165
+ Evaluate saved latent embeddings:
166
+
167
+ ```bash
168
+ gemla evaluate-latent --input path/to/latents.npy
169
+ ```
170
+
171
+ Expected input shape:
172
+
173
+ ```text
174
+ (n_steps, latent_dim)
175
+ ```
176
+
177
+ ### V-JEPA-style embedding evaluation
178
+
179
+ Run synthetic V-JEPA-style demo:
180
+
181
+ ```bash
182
+ gemla evaluate-vjepa --synthetic
183
+ ```
184
+
185
+ Evaluate external embeddings:
186
+
187
+ ```bash
188
+ gemla evaluate-vjepa --input path/to/embeddings.npy
189
+ ```
190
+
191
+ GEMLA does not download or redistribute third-party model weights. The V-JEPA-style adapter treats external embeddings as surrogate transport trajectories.
192
+
193
+ ### Practical deployment demos
194
+
195
+ Industrial telemetry:
196
+
197
+ ```bash
198
+ gemla demo-industrial
199
+ ```
200
+
201
+ Market microstructure:
202
+
203
+ ```bash
204
+ gemla demo-market
205
+ ```
206
+
207
+ Cyber event transport:
208
+
209
+ ```bash
210
+ gemla demo-cyber
211
+ ```
212
+
213
+ Each command generates synthetic domain-proxy data, runs the GEMLA lifted-phase gate stack, rejects adversarial controls, and writes a Markdown report.
214
+
215
+ ---
216
+
217
+ ## Python Examples
218
+
219
+ Minimal transport example:
220
+
221
+ ```bash
222
+ python examples/quickstart/01_minimal_pipeline.py
223
+ ```
224
+
225
+ Industrial telemetry:
226
+
227
+ ```bash
228
+ python examples/industrial_telemetry/run_industrial_telemetry_demo.py
229
+ ```
230
+
231
+ Market microstructure:
232
+
233
+ ```bash
234
+ python examples/market_microstructure/run_market_microstructure_demo.py
235
+ ```
236
+
237
+ Cyber event transport:
238
+
239
+ ```bash
240
+ python examples/cybersecurity/run_cyber_transport_demo.py
241
+ ```
242
+
243
+ Latent embeddings:
244
+
245
+ ```bash
246
+ python examples/latent_embeddings/run_latent_transport_demo.py
247
+ ```
248
+
249
+ V-JEPA-style embeddings:
250
+
251
+ ```bash
252
+ python examples/vjepa_latent_transport/run_vjepa_latent_transport_demo.py
253
+ ```
254
+
255
+ ---
256
+
257
+ ## Run Tests
258
+
259
+ ```bash
260
+ pytest
261
+ ```
262
+
263
+ ---
264
+
265
+ ## Repository Structure
266
+
267
+ ```text
268
+ src/gemla/
269
+ data/ synthetic and domain-proxy data generators
270
+ lifted/ lifted phase, anchors, spectral flatness, winding
271
+ gates/ RevA v2-SF gate evaluation
272
+ controls/ adversarial control generation
273
+ pipelines/ end-to-end GEMLA pipelines
274
+ integrations/ latent and V-JEPA-style adapters
275
+ benchmarks/ benchmark runner and result writers
276
+ reports/ Markdown report exporter
277
+ cli/ command-line interface
278
+
279
+ examples/
280
+ quickstart/
281
+ industrial_telemetry/
282
+ market_microstructure/
283
+ cybersecurity/
284
+ latent_embeddings/
285
+ vjepa_latent_transport/
286
+
287
+ tests/
288
+ unit and integration tests
289
+ ```
290
+
291
+ ---
292
+
293
+ ## Documentation
294
+
295
+ - [Architecture Card](docs/architecture_card.md)
296
+ - [Quickstart](docs/quickstart.md)
297
+ - [CLI Reference](docs/cli_reference.md)
298
+ - [Examples](docs/examples.md)
299
+ - [Limitations](docs/limitations.md)
300
+ - [Release Checklist](docs/release_checklist.md)
301
+ - [Changelog](CHANGELOG.md)
302
+
303
+ ---
304
+
305
+ ## Interpretation
306
+
307
+ The current version is a finite diagnostic SDK. It does not make universal claims. A `PASS` means the supplied trajectory satisfied the current GEMLA gate stack and rejected the included adversarial controls. A `PASS` does not mean the system is safe, optimal, causal in a physical sense, or ready for high-stakes deployment.
308
+
309
+ ---
310
+
311
+ ## Roadmap
312
+
313
+ Planned next steps:
314
+
315
+ - documentation site
316
+ - sample output reports
317
+ - richer benchmark summaries
318
+ - configurable gate thresholds
319
+ - real-data adapter examples
320
+ - hosted demo or release bundle
321
+ - public release preparation
322
+
323
+ ---
324
+
325
+ ## License
326
+
327
+ See [LICENSE](LICENSE).
328
+
329
+ ---
330
+
331
+ ## Citation
332
+
333
+ See [CITATION.cff](CITATION.cff).
gemla-1.0.0/README.md ADDED
@@ -0,0 +1,307 @@
1
+ # GEMLA SDK
2
+
3
+ **GEMLA** is a Γ–EML–α transport architecture research SDK for observable path measures, lifted-phase diagnostics, adversarial-control gates, and finite transport-topology evaluation.
4
+
5
+ The SDK evaluates whether a supplied trajectory produces a stable lifted transport signature that passes diagnostic gates and rejects adversarial controls.
6
+
7
+ ---
8
+
9
+ ## Current Status
10
+
11
+ **Research preview:** `v0.5.0-practical-demos`
12
+
13
+ Current capabilities:
14
+
15
+ - package import and editable install
16
+ - synthetic transport generation
17
+ - lifted phase construction
18
+ - RevA v2-SF gate evaluation
19
+ - wrong-sign, phase-shuffle, and residue-scramble controls
20
+ - anchor irregularity diagnostics
21
+ - integer winding diagnostics
22
+ - Markdown report export
23
+ - benchmark suite
24
+ - latent embedding evaluation
25
+ - V-JEPA-style embedding adapter
26
+ - industrial telemetry demo
27
+ - market microstructure demo
28
+ - cyber event transport demo
29
+ - pytest validation
30
+ - GitHub Actions CI
31
+
32
+ ---
33
+
34
+ ## Core Pipeline
35
+
36
+ ```text
37
+ source trajectory
38
+ → complex / latent surrogate
39
+ → lifted phase Θ(t)
40
+ → RevA v2-SF gate
41
+ → adversarial controls
42
+ → anchor diagnostics
43
+ → winding diagnostics
44
+ → PASS / FAIL verdict
45
+ ```
46
+
47
+ ---
48
+
49
+ ## Install
50
+
51
+ From the repository root:
52
+
53
+ ```bash
54
+ pip install -e ".[dev]"
55
+ ```
56
+
57
+ Check installation:
58
+
59
+ ```bash
60
+ gemla --help
61
+ ```
62
+
63
+ ---
64
+
65
+ ## Quickstart
66
+
67
+ Run the minimal vertical-slice pipeline:
68
+
69
+ ```bash
70
+ gemla evaluate
71
+ ```
72
+
73
+ Or run the original Python example:
74
+
75
+ ```bash
76
+ python examples/quickstart/01_minimal_pipeline.py
77
+ ```
78
+
79
+ Expected output includes:
80
+
81
+ ```text
82
+ GEMLA Transport Evaluation
83
+ --------------------------
84
+ RevA v2-SF main pass: True
85
+ Wrong-sign rejected: True
86
+ Phase-shuffle rejected: True
87
+ Residue-scramble rejected: True
88
+ Final verdict: PASS
89
+ ```
90
+
91
+ The command writes a Markdown report to:
92
+
93
+ ```text
94
+ reports/gemla_transport_report.md
95
+ ```
96
+
97
+ ---
98
+
99
+ ## CLI Usage
100
+
101
+ ### Default transport evaluation
102
+
103
+ ```bash
104
+ gemla evaluate
105
+ ```
106
+
107
+ Custom output:
108
+
109
+ ```bash
110
+ gemla evaluate --output reports/custom_report.md
111
+ ```
112
+
113
+ Custom synthetic trajectory:
114
+
115
+ ```bash
116
+ gemla evaluate --n 1500 --t-max 100 --noise 0.02 --seed 9
117
+ ```
118
+
119
+ ### Benchmark suite
120
+
121
+ ```bash
122
+ gemla benchmark
123
+ ```
124
+
125
+ Custom benchmark output directory:
126
+
127
+ ```bash
128
+ gemla benchmark --output-dir benchmarks/results
129
+ ```
130
+
131
+ ### Latent embedding evaluation
132
+
133
+ Run synthetic latent evaluation:
134
+
135
+ ```bash
136
+ gemla evaluate-latent
137
+ ```
138
+
139
+ Evaluate saved latent embeddings:
140
+
141
+ ```bash
142
+ gemla evaluate-latent --input path/to/latents.npy
143
+ ```
144
+
145
+ Expected input shape:
146
+
147
+ ```text
148
+ (n_steps, latent_dim)
149
+ ```
150
+
151
+ ### V-JEPA-style embedding evaluation
152
+
153
+ Run synthetic V-JEPA-style demo:
154
+
155
+ ```bash
156
+ gemla evaluate-vjepa --synthetic
157
+ ```
158
+
159
+ Evaluate external embeddings:
160
+
161
+ ```bash
162
+ gemla evaluate-vjepa --input path/to/embeddings.npy
163
+ ```
164
+
165
+ GEMLA does not download or redistribute third-party model weights. The V-JEPA-style adapter treats external embeddings as surrogate transport trajectories.
166
+
167
+ ### Practical deployment demos
168
+
169
+ Industrial telemetry:
170
+
171
+ ```bash
172
+ gemla demo-industrial
173
+ ```
174
+
175
+ Market microstructure:
176
+
177
+ ```bash
178
+ gemla demo-market
179
+ ```
180
+
181
+ Cyber event transport:
182
+
183
+ ```bash
184
+ gemla demo-cyber
185
+ ```
186
+
187
+ Each command generates synthetic domain-proxy data, runs the GEMLA lifted-phase gate stack, rejects adversarial controls, and writes a Markdown report.
188
+
189
+ ---
190
+
191
+ ## Python Examples
192
+
193
+ Minimal transport example:
194
+
195
+ ```bash
196
+ python examples/quickstart/01_minimal_pipeline.py
197
+ ```
198
+
199
+ Industrial telemetry:
200
+
201
+ ```bash
202
+ python examples/industrial_telemetry/run_industrial_telemetry_demo.py
203
+ ```
204
+
205
+ Market microstructure:
206
+
207
+ ```bash
208
+ python examples/market_microstructure/run_market_microstructure_demo.py
209
+ ```
210
+
211
+ Cyber event transport:
212
+
213
+ ```bash
214
+ python examples/cybersecurity/run_cyber_transport_demo.py
215
+ ```
216
+
217
+ Latent embeddings:
218
+
219
+ ```bash
220
+ python examples/latent_embeddings/run_latent_transport_demo.py
221
+ ```
222
+
223
+ V-JEPA-style embeddings:
224
+
225
+ ```bash
226
+ python examples/vjepa_latent_transport/run_vjepa_latent_transport_demo.py
227
+ ```
228
+
229
+ ---
230
+
231
+ ## Run Tests
232
+
233
+ ```bash
234
+ pytest
235
+ ```
236
+
237
+ ---
238
+
239
+ ## Repository Structure
240
+
241
+ ```text
242
+ src/gemla/
243
+ data/ synthetic and domain-proxy data generators
244
+ lifted/ lifted phase, anchors, spectral flatness, winding
245
+ gates/ RevA v2-SF gate evaluation
246
+ controls/ adversarial control generation
247
+ pipelines/ end-to-end GEMLA pipelines
248
+ integrations/ latent and V-JEPA-style adapters
249
+ benchmarks/ benchmark runner and result writers
250
+ reports/ Markdown report exporter
251
+ cli/ command-line interface
252
+
253
+ examples/
254
+ quickstart/
255
+ industrial_telemetry/
256
+ market_microstructure/
257
+ cybersecurity/
258
+ latent_embeddings/
259
+ vjepa_latent_transport/
260
+
261
+ tests/
262
+ unit and integration tests
263
+ ```
264
+
265
+ ---
266
+
267
+ ## Documentation
268
+
269
+ - [Architecture Card](docs/architecture_card.md)
270
+ - [Quickstart](docs/quickstart.md)
271
+ - [CLI Reference](docs/cli_reference.md)
272
+ - [Examples](docs/examples.md)
273
+ - [Limitations](docs/limitations.md)
274
+ - [Release Checklist](docs/release_checklist.md)
275
+ - [Changelog](CHANGELOG.md)
276
+
277
+ ---
278
+
279
+ ## Interpretation
280
+
281
+ The current version is a finite diagnostic SDK. It does not make universal claims. A `PASS` means the supplied trajectory satisfied the current GEMLA gate stack and rejected the included adversarial controls. A `PASS` does not mean the system is safe, optimal, causal in a physical sense, or ready for high-stakes deployment.
282
+
283
+ ---
284
+
285
+ ## Roadmap
286
+
287
+ Planned next steps:
288
+
289
+ - documentation site
290
+ - sample output reports
291
+ - richer benchmark summaries
292
+ - configurable gate thresholds
293
+ - real-data adapter examples
294
+ - hosted demo or release bundle
295
+ - public release preparation
296
+
297
+ ---
298
+
299
+ ## License
300
+
301
+ See [LICENSE](LICENSE).
302
+
303
+ ---
304
+
305
+ ## Citation
306
+
307
+ See [CITATION.cff](CITATION.cff).
@@ -0,0 +1,49 @@
1
+ [project]
2
+ name = "gemla"
3
+ version = "1.0.0"
4
+ description = "GEMLA: Γ–EML–α Transport Architecture SDK"
5
+ readme = "README.md"
6
+ requires-python = ">=3.10"
7
+ license = { text = "MIT" }
8
+ authors = [
9
+ { name = "Predilytics Inc." }
10
+ ]
11
+ keywords = [
12
+ "transport-topology",
13
+ "dynamical-systems",
14
+ "path-measures",
15
+ "lifted-phase",
16
+ "world-models",
17
+ "diagnostics"
18
+ ]
19
+ dependencies = [
20
+ "numpy",
21
+ "scipy",
22
+ "pandas",
23
+ "matplotlib",
24
+ "pydantic",
25
+ ]
26
+
27
+ [project.optional-dependencies]
28
+ dev = [
29
+ "pytest",
30
+ "ruff",
31
+ "mypy",
32
+ "build",
33
+ "twine",
34
+ ]
35
+
36
+ [project.scripts]
37
+ gemla = "gemla.cli.main:main"
38
+
39
+ [project.urls]
40
+ Homepage = "https://github.com/johnarrackalceles-ui/gemla-sdk"
41
+ Repository = "https://github.com/johnarrackalceles-ui/gemla-sdk"
42
+ Issues = "https://github.com/johnarrackalceles-ui/gemla-sdk/issues"
43
+
44
+ [build-system]
45
+ requires = ["setuptools>=68", "wheel"]
46
+ build-backend = "setuptools.build_meta"
47
+
48
+ [tool.setuptools.packages.find]
49
+ where = ["src"]
gemla-1.0.0/setup.cfg ADDED
@@ -0,0 +1,4 @@
1
+ [egg_info]
2
+ tag_build =
3
+ tag_date = 0
4
+
@@ -0,0 +1,9 @@
1
+ from importlib.metadata import PackageNotFoundError, version
2
+
3
+ try:
4
+ __version__ = version("gemla")
5
+ except PackageNotFoundError:
6
+ # Fallback when running directly from source before installation.
7
+ __version__ = "0.1.0"
8
+
9
+ __all__ = ["__version__"]
@@ -0,0 +1 @@
1
+ __version__ = "0.1.0"
@@ -0,0 +1,19 @@
1
+ from gemla.benchmarks.runner import (
2
+ BenchmarkCase,
3
+ BenchmarkRecord,
4
+ default_benchmark_cases,
5
+ run_benchmark_case,
6
+ run_benchmark_suite,
7
+ summarize_benchmark_records,
8
+ write_benchmark_results,
9
+ )
10
+
11
+ __all__ = [
12
+ "BenchmarkCase",
13
+ "BenchmarkRecord",
14
+ "default_benchmark_cases",
15
+ "run_benchmark_case",
16
+ "run_benchmark_suite",
17
+ "summarize_benchmark_records",
18
+ "write_benchmark_results",
19
+ ]