pystreamai 2.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 (74) hide show
  1. pystreamai-2.0.0/.env.example +27 -0
  2. pystreamai-2.0.0/.github/workflows/build-wheels.yml +45 -0
  3. pystreamai-2.0.0/.github/workflows/tests.yml +32 -0
  4. pystreamai-2.0.0/.gitignore +51 -0
  5. pystreamai-2.0.0/Cargo.lock +510 -0
  6. pystreamai-2.0.0/Cargo.toml +27 -0
  7. pystreamai-2.0.0/FINAL_REPORT.txt +2 -0
  8. pystreamai-2.0.0/LICENSE +22 -0
  9. pystreamai-2.0.0/PKG-INFO +395 -0
  10. pystreamai-2.0.0/README.md +355 -0
  11. pystreamai-2.0.0/SECURITY.md +44 -0
  12. pystreamai-2.0.0/benchmarks/README.md +95 -0
  13. pystreamai-2.0.0/benchmarks/__init__.py +13 -0
  14. pystreamai-2.0.0/benchmarks/bench_bert_llm.py +266 -0
  15. pystreamai-2.0.0/benchmarks/bench_oss_comparison.py +150 -0
  16. pystreamai-2.0.0/benchmarks/inference.py +169 -0
  17. pystreamai-2.0.0/benchmarks/models.py +86 -0
  18. pystreamai-2.0.0/benchmarks/runner.py +138 -0
  19. pystreamai-2.0.0/docs/API_REFERENCE.md +497 -0
  20. pystreamai-2.0.0/docs/DEPLOYMENT.md +461 -0
  21. pystreamai-2.0.0/docs/GETTING_STARTED.md +368 -0
  22. pystreamai-2.0.0/docs/INTEGRATIONS.md +146 -0
  23. pystreamai-2.0.0/docs/OPTIMIZATION.md +433 -0
  24. pystreamai-2.0.0/docs/PUBLISH.md +76 -0
  25. pystreamai-2.0.0/docs/ROADMAP.md +268 -0
  26. pystreamai-2.0.0/docs/SERVING.md +114 -0
  27. pystreamai-2.0.0/examples/__init__.py +0 -0
  28. pystreamai-2.0.0/examples/serve_model.py +92 -0
  29. pystreamai-2.0.0/examples/start_http_server.py +65 -0
  30. pystreamai-2.0.0/pyproject.toml +81 -0
  31. pystreamai-2.0.0/pystreamai/__init__.py +26 -0
  32. pystreamai-2.0.0/pystreamai/advanced_caching.py +275 -0
  33. pystreamai-2.0.0/pystreamai/api.py +155 -0
  34. pystreamai-2.0.0/pystreamai/cost_tracking.py +224 -0
  35. pystreamai-2.0.0/pystreamai/dashboard.py +213 -0
  36. pystreamai-2.0.0/pystreamai/decorators.py +111 -0
  37. pystreamai-2.0.0/pystreamai/deployment.py +281 -0
  38. pystreamai-2.0.0/pystreamai/edge_deployment.py +322 -0
  39. pystreamai-2.0.0/pystreamai/gpu.py +242 -0
  40. pystreamai-2.0.0/pystreamai/hot_reload.py +159 -0
  41. pystreamai-2.0.0/pystreamai/llm_optimization.py +306 -0
  42. pystreamai-2.0.0/pystreamai/model_registry.py +238 -0
  43. pystreamai-2.0.0/pystreamai/monitoring.py +100 -0
  44. pystreamai-2.0.0/pystreamai/observability.py +217 -0
  45. pystreamai-2.0.0/pystreamai/onnx_runtime.py +205 -0
  46. pystreamai-2.0.0/pystreamai/platform.py +384 -0
  47. pystreamai-2.0.0/pystreamai/request_scheduler.py +200 -0
  48. pystreamai-2.0.0/pystreamai/serving.py +339 -0
  49. pystreamai-2.0.0/requirements-benchmark.txt +17 -0
  50. pystreamai-2.0.0/requirements-serving.txt +20 -0
  51. pystreamai-2.0.0/src/backend.rs +166 -0
  52. pystreamai-2.0.0/src/executor.rs +65 -0
  53. pystreamai-2.0.0/src/gpu.rs +344 -0
  54. pystreamai-2.0.0/src/inference.rs +146 -0
  55. pystreamai-2.0.0/src/lib.rs +68 -0
  56. pystreamai-2.0.0/src/memory_manager.rs +146 -0
  57. pystreamai-2.0.0/src/scheduler.rs +78 -0
  58. pystreamai-2.0.0/src/storage.rs +78 -0
  59. pystreamai-2.0.0/src/streaming.rs +263 -0
  60. pystreamai-2.0.0/tests/__init__.py +0 -0
  61. pystreamai-2.0.0/tests/test_api.py +70 -0
  62. pystreamai-2.0.0/tests/test_core_extension.py +100 -0
  63. pystreamai-2.0.0/tests/test_cost_tracking.py +144 -0
  64. pystreamai-2.0.0/tests/test_deployment.py +122 -0
  65. pystreamai-2.0.0/tests/test_gpu.py +77 -0
  66. pystreamai-2.0.0/tests/test_hot_reload.py +73 -0
  67. pystreamai-2.0.0/tests/test_misc_modules.py +163 -0
  68. pystreamai-2.0.0/tests/test_model_registry.py +57 -0
  69. pystreamai-2.0.0/tests/test_monitoring.py +109 -0
  70. pystreamai-2.0.0/tests/test_onnx_runtime.py +69 -0
  71. pystreamai-2.0.0/tests/test_platform.py +249 -0
  72. pystreamai-2.0.0/tests/test_platform_onnx_predict.py +66 -0
  73. pystreamai-2.0.0/tests/test_request_scheduler.py +113 -0
  74. pystreamai-2.0.0/tests/test_serving.py +126 -0
@@ -0,0 +1,27 @@
1
+ # API Configuration
2
+ API_KEY=your_api_key_here
3
+ API_SECRET=your_api_secret_here
4
+
5
+ # Database
6
+ DATABASE_URL=postgresql://user:password@localhost/database_name
7
+ DB_HOST=localhost
8
+ DB_PORT=5432
9
+ DB_USER=user
10
+ DB_PASSWORD=password
11
+ DB_NAME=database
12
+
13
+ # Security
14
+ SECRET_KEY=your_secret_key_here
15
+ ENCRYPTION_KEY=your_encryption_key_here
16
+
17
+ # Environment
18
+ ENVIRONMENT=development
19
+ DEBUG=False
20
+
21
+ # Logging
22
+ LOG_LEVEL=INFO
23
+ LOG_FILE=app.log
24
+
25
+ # Optional features
26
+ REDIS_URL=redis://localhost:6379
27
+ ELASTICSEARCH_URL=http://localhost:9200
@@ -0,0 +1,45 @@
1
+ name: Build Wheels
2
+
3
+ on:
4
+ push:
5
+ tags:
6
+ - 'v*'
7
+ workflow_dispatch:
8
+
9
+ jobs:
10
+ build:
11
+ runs-on: ubuntu-latest
12
+ steps:
13
+ - uses: actions/checkout@v3
14
+
15
+ - name: Set up Rust
16
+ uses: actions-rs/toolchain@v1
17
+ with:
18
+ toolchain: stable
19
+
20
+ - name: Set up Python
21
+ uses: actions/setup-python@v4
22
+ with:
23
+ python-version: '3.10'
24
+
25
+ - name: Install dependencies
26
+ run: |
27
+ pip install maturin twine
28
+
29
+ - name: Build wheel
30
+ run: maturin build --release
31
+ # NOTE: maturin writes wheels to target/wheels/, not dist/ - the
32
+ # `twine upload dist/*` this workflow used to run would silently
33
+ # match zero files. Fixed to point at the real output directory.
34
+
35
+ - name: Upload to PyPI
36
+ # NOTE (restoration audit, 2026-08): this uses a long-lived PYPI_TOKEN
37
+ # repo secret via `twine -p`. PyPI Trusted Publishing (OIDC, via
38
+ # pypa/gh-action-pypi-publish) is the more secure modern approach -
39
+ # no long-lived token stored in GitHub at all - but it requires
40
+ # registering this repo's GitHub Actions OIDC publisher on the
41
+ # PyPI project settings page (pypi.org/manage/project/pystreamai/settings/publishing/),
42
+ # which is outside what this repo's files can configure. Recommended
43
+ # follow-up: register trusted publishing on PyPI, then switch this
44
+ # step to pypa/gh-action-pypi-publish@release/v1 with no token.
45
+ run: twine upload target/wheels/* -u __token__ -p ${{ secrets.PYPI_TOKEN }}
@@ -0,0 +1,32 @@
1
+ name: Tests
2
+ on:
3
+ push:
4
+ branches: [main, develop]
5
+ pull_request:
6
+ branches: [main, develop]
7
+
8
+ jobs:
9
+ test:
10
+ runs-on: ubuntu-latest
11
+ strategy:
12
+ matrix:
13
+ python-version: ["3.10", "3.11", "3.12"]
14
+ steps:
15
+ - uses: actions/checkout@v4
16
+ - uses: actions/setup-python@v4
17
+ with:
18
+ python-version: ${{ matrix.python-version }}
19
+ - name: Set up Rust
20
+ uses: actions-rs/toolchain@v1
21
+ with:
22
+ toolchain: stable
23
+ - name: Install dependencies
24
+ run: |
25
+ python -m pip install --upgrade pip
26
+ pip install -e ".[dev,serving,onnx]"
27
+ - name: Cargo test
28
+ run: cargo test --release
29
+ - name: Run tests
30
+ run: pytest --tb=short
31
+ - name: Lint
32
+ run: ruff check .
@@ -0,0 +1,51 @@
1
+ # Sensitive files and credentials
2
+ .env
3
+ .env.local
4
+ .env.*.local
5
+ *.key
6
+ *.pem
7
+ *.crt
8
+ credentials.json
9
+ secrets.json
10
+ .credentials
11
+ config.local.*
12
+ .config.local
13
+ oauth_tokens.json
14
+
15
+ # IDE files
16
+ .vscode/
17
+ .idea/
18
+ *.swp
19
+ *~
20
+ .DS_Store
21
+
22
+ # Python
23
+ __pycache__/
24
+ *.py[cod]
25
+ *.egg-info/
26
+ dist/
27
+ build/
28
+ .pytest_cache/
29
+
30
+ # Virtual environments
31
+ venv/
32
+ env/
33
+ .venv
34
+
35
+ # Rust
36
+ target/
37
+ Cargo.lock
38
+
39
+ # Compiled PyO3/maturin extension (built locally via `maturin develop`)
40
+ pystreamai/_core*.so
41
+ pystreamai/_core*.pyd
42
+ pystreamai/*.dylib
43
+
44
+ # Temp files
45
+ *.tmp
46
+ *.log
47
+ temp/
48
+ tmp/
49
+
50
+ # Real training artifacts written by Platform.train() when code is a script
51
+ pystreamai_artifacts/
@@ -0,0 +1,510 @@
1
+ # This file is automatically @generated by Cargo.
2
+ # It is not intended for manual editing.
3
+ version = 4
4
+
5
+ [[package]]
6
+ name = "android_system_properties"
7
+ version = "0.1.5"
8
+ source = "registry+https://github.com/rust-lang/crates.io-index"
9
+ checksum = "819e7219dbd41043ac279b19830f2efc897156490d7fd6ea916720117ee66311"
10
+ dependencies = [
11
+ "libc",
12
+ ]
13
+
14
+ [[package]]
15
+ name = "async-trait"
16
+ version = "0.1.91"
17
+ source = "registry+https://github.com/rust-lang/crates.io-index"
18
+ checksum = "ae36dc4177970ef04fde5178d3e2429882def40e57a451f919c098f72baa6cec"
19
+ dependencies = [
20
+ "proc-macro2",
21
+ "quote",
22
+ "syn 3.0.3",
23
+ ]
24
+
25
+ [[package]]
26
+ name = "autocfg"
27
+ version = "1.5.1"
28
+ source = "registry+https://github.com/rust-lang/crates.io-index"
29
+ checksum = "f2032f911046de80f0a198e0901378627c33f59ea0ac00e363d481118bd70a53"
30
+
31
+ [[package]]
32
+ name = "bumpalo"
33
+ version = "3.20.3"
34
+ source = "registry+https://github.com/rust-lang/crates.io-index"
35
+ checksum = "72f5acc6cb2ba439de613abc23857ec3d78374d8ed5ac84e9d11336e87da8649"
36
+
37
+ [[package]]
38
+ name = "cc"
39
+ version = "1.4.0"
40
+ source = "registry+https://github.com/rust-lang/crates.io-index"
41
+ checksum = "5add81bb678e6cb321aff7fa0dc7689ad82b112dbc032cea19f91d6b8e3582b9"
42
+ dependencies = [
43
+ "find-msvc-tools",
44
+ "shlex",
45
+ ]
46
+
47
+ [[package]]
48
+ name = "cfg-if"
49
+ version = "1.0.4"
50
+ source = "registry+https://github.com/rust-lang/crates.io-index"
51
+ checksum = "9330f8b2ff13f34540b44e946ef35111825727b38d33286ef986142615121801"
52
+
53
+ [[package]]
54
+ name = "chrono"
55
+ version = "0.4.45"
56
+ source = "registry+https://github.com/rust-lang/crates.io-index"
57
+ checksum = "1aa79e62e7697b8e29b513a68abacf485adcd1fe8284a4316c5ae868e6633327"
58
+ dependencies = [
59
+ "iana-time-zone",
60
+ "js-sys",
61
+ "num-traits",
62
+ "serde",
63
+ "wasm-bindgen",
64
+ "windows-link",
65
+ ]
66
+
67
+ [[package]]
68
+ name = "core-foundation-sys"
69
+ version = "0.8.7"
70
+ source = "registry+https://github.com/rust-lang/crates.io-index"
71
+ checksum = "773648b94d0e5d620f64f280777445740e61fe701025087ec8b57f45c791888b"
72
+
73
+ [[package]]
74
+ name = "find-msvc-tools"
75
+ version = "0.1.9"
76
+ source = "registry+https://github.com/rust-lang/crates.io-index"
77
+ checksum = "5baebc0774151f905a1a2cc41989300b1e6fbb29aff0ceffa1064fdd3088d582"
78
+
79
+ [[package]]
80
+ name = "futures-core"
81
+ version = "0.3.33"
82
+ source = "registry+https://github.com/rust-lang/crates.io-index"
83
+ checksum = "2cd50c473c80f6d7c3670a752354b8e569b1a7cbfdc0419ec88e5edad85e0dc7"
84
+
85
+ [[package]]
86
+ name = "futures-task"
87
+ version = "0.3.33"
88
+ source = "registry+https://github.com/rust-lang/crates.io-index"
89
+ checksum = "b231ed28831efb4a61a08580c4bc233ec56bc009f4cd8f52da2c3cb97df0c109"
90
+
91
+ [[package]]
92
+ name = "futures-util"
93
+ version = "0.3.33"
94
+ source = "registry+https://github.com/rust-lang/crates.io-index"
95
+ checksum = "a77a90a256fce34da66415271e30f94ee91c57b04b8a2c042d9cf3220179deaa"
96
+ dependencies = [
97
+ "futures-core",
98
+ "futures-task",
99
+ "pin-project-lite",
100
+ "slab",
101
+ ]
102
+
103
+ [[package]]
104
+ name = "getrandom"
105
+ version = "0.4.3"
106
+ source = "registry+https://github.com/rust-lang/crates.io-index"
107
+ checksum = "300e883d756b2e4ec94e02791f39b04b522276138852cfc41d9fb7e904106099"
108
+ dependencies = [
109
+ "cfg-if",
110
+ "libc",
111
+ "r-efi",
112
+ ]
113
+
114
+ [[package]]
115
+ name = "heck"
116
+ version = "0.5.0"
117
+ source = "registry+https://github.com/rust-lang/crates.io-index"
118
+ checksum = "2304e00983f87ffb38b55b444b5e3b60a884b5d30c0fca7d82fe33449bbe55ea"
119
+
120
+ [[package]]
121
+ name = "iana-time-zone"
122
+ version = "0.1.65"
123
+ source = "registry+https://github.com/rust-lang/crates.io-index"
124
+ checksum = "e31bc9ad994ba00e440a8aa5c9ef0ec67d5cb5e5cb0cc7f8b744a35b389cc470"
125
+ dependencies = [
126
+ "android_system_properties",
127
+ "core-foundation-sys",
128
+ "iana-time-zone-haiku",
129
+ "js-sys",
130
+ "log",
131
+ "wasm-bindgen",
132
+ "windows-core",
133
+ ]
134
+
135
+ [[package]]
136
+ name = "iana-time-zone-haiku"
137
+ version = "0.1.2"
138
+ source = "registry+https://github.com/rust-lang/crates.io-index"
139
+ checksum = "f31827a206f56af32e590ba56d5d2d085f558508192593743f16b2306495269f"
140
+ dependencies = [
141
+ "cc",
142
+ ]
143
+
144
+ [[package]]
145
+ name = "indoc"
146
+ version = "2.0.7"
147
+ source = "registry+https://github.com/rust-lang/crates.io-index"
148
+ checksum = "79cf5c93f93228cf8efb3ba362535fb11199ac548a09ce117c9b1adc3030d706"
149
+ dependencies = [
150
+ "rustversion",
151
+ ]
152
+
153
+ [[package]]
154
+ name = "js-sys"
155
+ version = "0.3.103"
156
+ source = "registry+https://github.com/rust-lang/crates.io-index"
157
+ checksum = "53b44bfcdb3f8d5837a46dae1ca9660a837176eee74a28b229bc626816589102"
158
+ dependencies = [
159
+ "cfg-if",
160
+ "futures-util",
161
+ "wasm-bindgen",
162
+ ]
163
+
164
+ [[package]]
165
+ name = "libc"
166
+ version = "0.2.189"
167
+ source = "registry+https://github.com/rust-lang/crates.io-index"
168
+ checksum = "3eaf3ede3fee6db1a4c2ee091bf8a8b4dccdc6d17f656fb07896ee72867612f2"
169
+
170
+ [[package]]
171
+ name = "log"
172
+ version = "0.4.33"
173
+ source = "registry+https://github.com/rust-lang/crates.io-index"
174
+ checksum = "0ceec5bc11778974d1bcb055b18002eba7f4b3518b6a0081b3af5f21666da9ad"
175
+
176
+ [[package]]
177
+ name = "memoffset"
178
+ version = "0.9.1"
179
+ source = "registry+https://github.com/rust-lang/crates.io-index"
180
+ checksum = "488016bfae457b036d996092f6cb448677611ce4449e970ceaf42695203f218a"
181
+ dependencies = [
182
+ "autocfg",
183
+ ]
184
+
185
+ [[package]]
186
+ name = "num-traits"
187
+ version = "0.2.19"
188
+ source = "registry+https://github.com/rust-lang/crates.io-index"
189
+ checksum = "071dfc062690e90b734c0b2273ce72ad0ffa95f0c74596bc250dcfd960262841"
190
+ dependencies = [
191
+ "autocfg",
192
+ ]
193
+
194
+ [[package]]
195
+ name = "once_cell"
196
+ version = "1.21.4"
197
+ source = "registry+https://github.com/rust-lang/crates.io-index"
198
+ checksum = "9f7c3e4beb33f85d45ae3e3a1792185706c8e16d043238c593331cc7cd313b50"
199
+
200
+ [[package]]
201
+ name = "pin-project-lite"
202
+ version = "0.2.17"
203
+ source = "registry+https://github.com/rust-lang/crates.io-index"
204
+ checksum = "a89322df9ebe1c1578d689c92318e070967d1042b512afbe49518723f4e6d5cd"
205
+
206
+ [[package]]
207
+ name = "portable-atomic"
208
+ version = "1.14.0"
209
+ source = "registry+https://github.com/rust-lang/crates.io-index"
210
+ checksum = "3d20d5497ef88037a52ff98267d066e7f11fcc5e99bbfbd58a42336193aacec3"
211
+
212
+ [[package]]
213
+ name = "proc-macro2"
214
+ version = "1.0.107"
215
+ source = "registry+https://github.com/rust-lang/crates.io-index"
216
+ checksum = "985e7ec9bb745e6ce6535b544d84d6cd6f7ad8bd711c398938ae983b91a766d9"
217
+ dependencies = [
218
+ "unicode-ident",
219
+ ]
220
+
221
+ [[package]]
222
+ name = "pyo3"
223
+ version = "0.23.5"
224
+ source = "registry+https://github.com/rust-lang/crates.io-index"
225
+ checksum = "7778bffd85cf38175ac1f545509665d0b9b92a198ca7941f131f85f7a4f9a872"
226
+ dependencies = [
227
+ "cfg-if",
228
+ "indoc",
229
+ "libc",
230
+ "memoffset",
231
+ "once_cell",
232
+ "portable-atomic",
233
+ "pyo3-build-config",
234
+ "pyo3-ffi",
235
+ "pyo3-macros",
236
+ "unindent",
237
+ ]
238
+
239
+ [[package]]
240
+ name = "pyo3-build-config"
241
+ version = "0.23.5"
242
+ source = "registry+https://github.com/rust-lang/crates.io-index"
243
+ checksum = "94f6cbe86ef3bf18998d9df6e0f3fc1050a8c5efa409bf712e661a4366e010fb"
244
+ dependencies = [
245
+ "once_cell",
246
+ "target-lexicon",
247
+ ]
248
+
249
+ [[package]]
250
+ name = "pyo3-ffi"
251
+ version = "0.23.5"
252
+ source = "registry+https://github.com/rust-lang/crates.io-index"
253
+ checksum = "e9f1b4c431c0bb1c8fb0a338709859eed0d030ff6daa34368d3b152a63dfdd8d"
254
+ dependencies = [
255
+ "libc",
256
+ "pyo3-build-config",
257
+ ]
258
+
259
+ [[package]]
260
+ name = "pyo3-macros"
261
+ version = "0.23.5"
262
+ source = "registry+https://github.com/rust-lang/crates.io-index"
263
+ checksum = "fbc2201328f63c4710f68abdf653c89d8dbc2858b88c5d88b0ff38a75288a9da"
264
+ dependencies = [
265
+ "proc-macro2",
266
+ "pyo3-macros-backend",
267
+ "quote",
268
+ "syn 2.0.119",
269
+ ]
270
+
271
+ [[package]]
272
+ name = "pyo3-macros-backend"
273
+ version = "0.23.5"
274
+ source = "registry+https://github.com/rust-lang/crates.io-index"
275
+ checksum = "fca6726ad0f3da9c9de093d6f116a93c1a38e417ed73bf138472cf4064f72028"
276
+ dependencies = [
277
+ "heck",
278
+ "proc-macro2",
279
+ "pyo3-build-config",
280
+ "quote",
281
+ "syn 2.0.119",
282
+ ]
283
+
284
+ [[package]]
285
+ name = "pystreamai"
286
+ version = "2.0.0"
287
+ dependencies = [
288
+ "async-trait",
289
+ "chrono",
290
+ "pyo3",
291
+ "uuid",
292
+ ]
293
+
294
+ [[package]]
295
+ name = "quote"
296
+ version = "1.0.47"
297
+ source = "registry+https://github.com/rust-lang/crates.io-index"
298
+ checksum = "1fbf4db142a473a8d80c26bbf18454ed458bf8d26c8219c331daecfdbd079001"
299
+ dependencies = [
300
+ "proc-macro2",
301
+ ]
302
+
303
+ [[package]]
304
+ name = "r-efi"
305
+ version = "6.0.0"
306
+ source = "registry+https://github.com/rust-lang/crates.io-index"
307
+ checksum = "f8dcc9c7d52a811697d2151c701e0d08956f92b0e24136cf4cf27b57a6a0d9bf"
308
+
309
+ [[package]]
310
+ name = "rustversion"
311
+ version = "1.0.23"
312
+ source = "registry+https://github.com/rust-lang/crates.io-index"
313
+ checksum = "cf54715a573b99ac80df0bc206da022bcd442c974952c7b9720069370852e21f"
314
+
315
+ [[package]]
316
+ name = "serde"
317
+ version = "1.0.229"
318
+ source = "registry+https://github.com/rust-lang/crates.io-index"
319
+ checksum = "4148590afebada386688f18773da617792bf2ef03ffc1e4cbd2b1d45b023e0ba"
320
+ dependencies = [
321
+ "serde_core",
322
+ ]
323
+
324
+ [[package]]
325
+ name = "serde_core"
326
+ version = "1.0.229"
327
+ source = "registry+https://github.com/rust-lang/crates.io-index"
328
+ checksum = "67dca2c9c51e58a4791a4b1ed58308b39c64224d349a935ab5039aa360942a48"
329
+ dependencies = [
330
+ "serde_derive",
331
+ ]
332
+
333
+ [[package]]
334
+ name = "serde_derive"
335
+ version = "1.0.229"
336
+ source = "registry+https://github.com/rust-lang/crates.io-index"
337
+ checksum = "e7a5d71263a5a7d47b41f6b3f06ba276f10cc18b0931f1799f710578e2309348"
338
+ dependencies = [
339
+ "proc-macro2",
340
+ "quote",
341
+ "syn 3.0.3",
342
+ ]
343
+
344
+ [[package]]
345
+ name = "shlex"
346
+ version = "2.0.1"
347
+ source = "registry+https://github.com/rust-lang/crates.io-index"
348
+ checksum = "f8fadd59c855ef2080decdef8ff161eb6661b86933c9d82e5ba29dc602a55aba"
349
+
350
+ [[package]]
351
+ name = "slab"
352
+ version = "0.4.12"
353
+ source = "registry+https://github.com/rust-lang/crates.io-index"
354
+ checksum = "0c790de23124f9ab44544d7ac05d60440adc586479ce501c1d6d7da3cd8c9cf5"
355
+
356
+ [[package]]
357
+ name = "syn"
358
+ version = "2.0.119"
359
+ source = "registry+https://github.com/rust-lang/crates.io-index"
360
+ checksum = "872831b642d1a07999a962a351ed35b955ea2cfc8f3862091e2a240a84f17297"
361
+ dependencies = [
362
+ "proc-macro2",
363
+ "quote",
364
+ "unicode-ident",
365
+ ]
366
+
367
+ [[package]]
368
+ name = "syn"
369
+ version = "3.0.3"
370
+ source = "registry+https://github.com/rust-lang/crates.io-index"
371
+ checksum = "53e9bae58849f64dfa4f5d5ae372c8341f7305f82a3868709269343628b659a3"
372
+ dependencies = [
373
+ "proc-macro2",
374
+ "quote",
375
+ "unicode-ident",
376
+ ]
377
+
378
+ [[package]]
379
+ name = "target-lexicon"
380
+ version = "0.12.16"
381
+ source = "registry+https://github.com/rust-lang/crates.io-index"
382
+ checksum = "61c41af27dd6d1e27b1b16b489db798443478cef1f06a660c96db617ba5de3b1"
383
+
384
+ [[package]]
385
+ name = "unicode-ident"
386
+ version = "1.0.24"
387
+ source = "registry+https://github.com/rust-lang/crates.io-index"
388
+ checksum = "e6e4313cd5fcd3dad5cafa179702e2b244f760991f45397d14d4ebf38247da75"
389
+
390
+ [[package]]
391
+ name = "unindent"
392
+ version = "0.2.4"
393
+ source = "registry+https://github.com/rust-lang/crates.io-index"
394
+ checksum = "7264e107f553ccae879d21fbea1d6724ac785e8c3bfc762137959b5802826ef3"
395
+
396
+ [[package]]
397
+ name = "uuid"
398
+ version = "1.24.0"
399
+ source = "registry+https://github.com/rust-lang/crates.io-index"
400
+ checksum = "bf3923a6f5c4c6382e0b653c4117f48d631ea17f38ed86e2a828e6f7412f5239"
401
+ dependencies = [
402
+ "getrandom",
403
+ "js-sys",
404
+ "serde_core",
405
+ "wasm-bindgen",
406
+ ]
407
+
408
+ [[package]]
409
+ name = "wasm-bindgen"
410
+ version = "0.2.126"
411
+ source = "registry+https://github.com/rust-lang/crates.io-index"
412
+ checksum = "4b067c0c11094aef6b7a801c1e34a26affafdf3d051dba08456b868789aaf9a4"
413
+ dependencies = [
414
+ "cfg-if",
415
+ "once_cell",
416
+ "rustversion",
417
+ "wasm-bindgen-macro",
418
+ "wasm-bindgen-shared",
419
+ ]
420
+
421
+ [[package]]
422
+ name = "wasm-bindgen-macro"
423
+ version = "0.2.126"
424
+ source = "registry+https://github.com/rust-lang/crates.io-index"
425
+ checksum = "167ce5e579f6bcf889c4f7175a8a5a585de84e8ff93976ce393efa5f2837aab1"
426
+ dependencies = [
427
+ "quote",
428
+ "wasm-bindgen-macro-support",
429
+ ]
430
+
431
+ [[package]]
432
+ name = "wasm-bindgen-macro-support"
433
+ version = "0.2.126"
434
+ source = "registry+https://github.com/rust-lang/crates.io-index"
435
+ checksum = "f3997c7839262f4ef12cf90b818d6340c18e80f263f1a94bf157d0ec4420380e"
436
+ dependencies = [
437
+ "bumpalo",
438
+ "proc-macro2",
439
+ "quote",
440
+ "syn 2.0.119",
441
+ "wasm-bindgen-shared",
442
+ ]
443
+
444
+ [[package]]
445
+ name = "wasm-bindgen-shared"
446
+ version = "0.2.126"
447
+ source = "registry+https://github.com/rust-lang/crates.io-index"
448
+ checksum = "dc1b4cb0cc549fcf58d7dfc081778139b3d283a081644e833e84682ad71cea24"
449
+ dependencies = [
450
+ "unicode-ident",
451
+ ]
452
+
453
+ [[package]]
454
+ name = "windows-core"
455
+ version = "0.62.2"
456
+ source = "registry+https://github.com/rust-lang/crates.io-index"
457
+ checksum = "b8e83a14d34d0623b51dce9581199302a221863196a1dde71a7663a4c2be9deb"
458
+ dependencies = [
459
+ "windows-implement",
460
+ "windows-interface",
461
+ "windows-link",
462
+ "windows-result",
463
+ "windows-strings",
464
+ ]
465
+
466
+ [[package]]
467
+ name = "windows-implement"
468
+ version = "0.60.2"
469
+ source = "registry+https://github.com/rust-lang/crates.io-index"
470
+ checksum = "053e2e040ab57b9dc951b72c264860db7eb3b0200ba345b4e4c3b14f67855ddf"
471
+ dependencies = [
472
+ "proc-macro2",
473
+ "quote",
474
+ "syn 2.0.119",
475
+ ]
476
+
477
+ [[package]]
478
+ name = "windows-interface"
479
+ version = "0.59.3"
480
+ source = "registry+https://github.com/rust-lang/crates.io-index"
481
+ checksum = "3f316c4a2570ba26bbec722032c4099d8c8bc095efccdc15688708623367e358"
482
+ dependencies = [
483
+ "proc-macro2",
484
+ "quote",
485
+ "syn 2.0.119",
486
+ ]
487
+
488
+ [[package]]
489
+ name = "windows-link"
490
+ version = "0.2.1"
491
+ source = "registry+https://github.com/rust-lang/crates.io-index"
492
+ checksum = "f0805222e57f7521d6a62e36fa9163bc891acd422f971defe97d64e70d0a4fe5"
493
+
494
+ [[package]]
495
+ name = "windows-result"
496
+ version = "0.4.1"
497
+ source = "registry+https://github.com/rust-lang/crates.io-index"
498
+ checksum = "7781fa89eaf60850ac3d2da7af8e5242a5ea78d1a11c49bf2910bb5a73853eb5"
499
+ dependencies = [
500
+ "windows-link",
501
+ ]
502
+
503
+ [[package]]
504
+ name = "windows-strings"
505
+ version = "0.5.1"
506
+ source = "registry+https://github.com/rust-lang/crates.io-index"
507
+ checksum = "7837d08f69c77cf6b07689544538e017c1bfcf57e34b4c0ff58e6c2cd3b37091"
508
+ dependencies = [
509
+ "windows-link",
510
+ ]
@@ -0,0 +1,27 @@
1
+ [package]
2
+ name = "pystreamai"
3
+ version = "2.0.0"
4
+ edition = "2021"
5
+ description = "Rust orchestrator for PyStreamAI - simple ML deployment platform"
6
+ license = "Proprietary"
7
+ readme = "README.md"
8
+
9
+ [lib]
10
+ name = "_core"
11
+ crate-type = ["cdylib"]
12
+
13
+ # NOTE (restoration audit, 2026-08): the pre-strip Cargo.toml declared tokio,
14
+ # serde, serde_json, tracing, tracing-subscriber, anyhow, thiserror, dashmap,
15
+ # prometheus, lazy_static, parking_lot and fxhash, but grepping the actual
16
+ # restored src/*.rs shows none of them are referenced anywhere. Only pyo3,
17
+ # uuid (src/scheduler.rs), chrono (src/scheduler.rs, src/storage.rs) and
18
+ # async-trait (src/backend.rs) are genuinely used, so the rest were removed
19
+ # rather than carried forward as dead weight. Re-add individually if/when
20
+ # code that needs them is written.
21
+ [dependencies]
22
+ pyo3 = { version = "0.23", features = ["extension-module"] }
23
+ uuid = { version = "1.0", features = ["v4", "serde"] }
24
+ chrono = { version = "0.4", features = ["serde"] }
25
+ async-trait = "0.1"
26
+
27
+ [dev-dependencies]
@@ -0,0 +1,2 @@
1
+
2
+ --- PyStreamAI ---