web-cortex-framework 0.3.1__tar.gz → 0.3.2__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 (34) hide show
  1. {web_cortex_framework-0.3.1 → web_cortex_framework-0.3.2}/Cargo.lock +6 -6
  2. {web_cortex_framework-0.3.1 → web_cortex_framework-0.3.2}/Cargo.toml +1 -1
  3. {web_cortex_framework-0.3.1 → web_cortex_framework-0.3.2}/PKG-INFO +15 -20
  4. {web_cortex_framework-0.3.1 → web_cortex_framework-0.3.2}/README.md +14 -19
  5. {web_cortex_framework-0.3.1 → web_cortex_framework-0.3.2}/pyproject.toml +1 -1
  6. {web_cortex_framework-0.3.1 → web_cortex_framework-0.3.2}/python/webcortex/__init__.py +1 -1
  7. {web_cortex_framework-0.3.1 → web_cortex_framework-0.3.2}/LICENSE +0 -0
  8. {web_cortex_framework-0.3.1 → web_cortex_framework-0.3.2}/crates/webcortex-core/Cargo.toml +0 -0
  9. {web_cortex_framework-0.3.1 → web_cortex_framework-0.3.2}/crates/webcortex-core/src/agent/provider.rs +0 -0
  10. {web_cortex_framework-0.3.1 → web_cortex_framework-0.3.2}/crates/webcortex-core/src/agent.rs +0 -0
  11. {web_cortex_framework-0.3.1 → web_cortex_framework-0.3.2}/crates/webcortex-core/src/app.rs +0 -0
  12. {web_cortex_framework-0.3.1 → web_cortex_framework-0.3.2}/crates/webcortex-core/src/audit.rs +0 -0
  13. {web_cortex_framework-0.3.1 → web_cortex_framework-0.3.2}/crates/webcortex-core/src/auth.rs +0 -0
  14. {web_cortex_framework-0.3.1 → web_cortex_framework-0.3.2}/crates/webcortex-core/src/bridge.rs +0 -0
  15. {web_cortex_framework-0.3.1 → web_cortex_framework-0.3.2}/crates/webcortex-core/src/db.rs +0 -0
  16. {web_cortex_framework-0.3.1 → web_cortex_framework-0.3.2}/crates/webcortex-core/src/files.rs +0 -0
  17. {web_cortex_framework-0.3.1 → web_cortex_framework-0.3.2}/crates/webcortex-core/src/http.rs +0 -0
  18. {web_cortex_framework-0.3.1 → web_cortex_framework-0.3.2}/crates/webcortex-core/src/lib.rs +0 -0
  19. {web_cortex_framework-0.3.1 → web_cortex_framework-0.3.2}/crates/webcortex-core/src/manifest.rs +0 -0
  20. {web_cortex_framework-0.3.1 → web_cortex_framework-0.3.2}/crates/webcortex-core/src/mcp.rs +0 -0
  21. {web_cortex_framework-0.3.1 → web_cortex_framework-0.3.2}/crates/webcortex-core/src/middleware.rs +0 -0
  22. {web_cortex_framework-0.3.1 → web_cortex_framework-0.3.2}/crates/webcortex-core/src/openapi.rs +0 -0
  23. {web_cortex_framework-0.3.1 → web_cortex_framework-0.3.2}/crates/webcortex-core/src/router.rs +0 -0
  24. {web_cortex_framework-0.3.1 → web_cortex_framework-0.3.2}/crates/webcortex-core/src/server.rs +0 -0
  25. {web_cortex_framework-0.3.1 → web_cortex_framework-0.3.2}/crates/webcortex-core/src/templates.rs +0 -0
  26. {web_cortex_framework-0.3.1 → web_cortex_framework-0.3.2}/crates/webcortex-core/src/typegen.rs +0 -0
  27. {web_cortex_framework-0.3.1 → web_cortex_framework-0.3.2}/crates/webcortex-py/Cargo.toml +0 -0
  28. {web_cortex_framework-0.3.1 → web_cortex_framework-0.3.2}/crates/webcortex-py/src/behaviour.rs +0 -0
  29. {web_cortex_framework-0.3.1 → web_cortex_framework-0.3.2}/crates/webcortex-py/src/lib.rs +0 -0
  30. {web_cortex_framework-0.3.1 → web_cortex_framework-0.3.2}/python/webcortex/_bridge.py +0 -0
  31. {web_cortex_framework-0.3.1 → web_cortex_framework-0.3.2}/python/webcortex/app.py +0 -0
  32. {web_cortex_framework-0.3.1 → web_cortex_framework-0.3.2}/python/webcortex/cli.py +0 -0
  33. {web_cortex_framework-0.3.1 → web_cortex_framework-0.3.2}/python/webcortex/schema.py +0 -0
  34. {web_cortex_framework-0.3.1 → web_cortex_framework-0.3.2}/python/webcortex/starters.py +0 -0
@@ -465,7 +465,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
465
465
  checksum = "39cab71617ae0d63f51a36d69f866391735b51691dbda63cf6f96d042b63efeb"
466
466
  dependencies = [
467
467
  "libc",
468
- "windows-sys 0.61.2",
468
+ "windows-sys 0.52.0",
469
469
  ]
470
470
 
471
471
  [[package]]
@@ -692,9 +692,9 @@ dependencies = [
692
692
 
693
693
  [[package]]
694
694
  name = "h2"
695
- version = "0.4.15"
695
+ version = "0.4.19"
696
696
  source = "registry+https://github.com/rust-lang/crates.io-index"
697
- checksum = "6cb093c84e8bd9b188d4c4a8cb6579fc016968d14c99882163cd3ff402a4f155"
697
+ checksum = "ef8e5e5a340588f4452631496976cf8636d4a7ecf600239fdc27615d2530bc16"
698
698
  dependencies = [
699
699
  "atomic-waker",
700
700
  "bytes",
@@ -1538,7 +1538,7 @@ dependencies = [
1538
1538
  "once_cell",
1539
1539
  "socket2",
1540
1540
  "tracing",
1541
- "windows-sys 0.61.2",
1541
+ "windows-sys 0.52.0",
1542
1542
  ]
1543
1543
 
1544
1544
  [[package]]
@@ -2714,7 +2714,7 @@ dependencies = [
2714
2714
 
2715
2715
  [[package]]
2716
2716
  name = "webcortex-core"
2717
- version = "0.3.1"
2717
+ version = "0.3.2"
2718
2718
  dependencies = [
2719
2719
  "anyhow",
2720
2720
  "async-stream",
@@ -2745,7 +2745,7 @@ dependencies = [
2745
2745
 
2746
2746
  [[package]]
2747
2747
  name = "webcortex-py"
2748
- version = "0.3.1"
2748
+ version = "0.3.2"
2749
2749
  dependencies = [
2750
2750
  "bytes",
2751
2751
  "futures",
@@ -3,7 +3,7 @@ members = ["crates/webcortex-core", "crates/webcortex-py"]
3
3
  resolver = "3"
4
4
 
5
5
  [workspace.package]
6
- version = "0.3.1"
6
+ version = "0.3.2"
7
7
  edition = "2024"
8
8
  license = "Apache-2.0"
9
9
  rust-version = "1.85"
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: web-cortex-framework
3
- Version: 0.3.1
3
+ Version: 0.3.2
4
4
  Classifier: Development Status :: 3 - Alpha
5
5
  Classifier: Intended Audience :: Developers
6
6
  Classifier: License :: OSI Approved :: Apache Software License
@@ -36,9 +36,8 @@ pip install web-cortex-framework
36
36
  > Installs as **`web-cortex-framework`**, imports as **`webcortex`** — the same
37
37
  > split as `djangorestframework` → `import rest_framework`.
38
38
  >
39
- > **Python 3.12, 3.13, and free-threaded 3.14 (`3.14t`).** GIL-enabled 3.14 is
40
- > not supported and no wheel is published for it — see
41
- > [Known issue](#known-issue-cpython-3147-with-the-gil-enabled) below.
39
+ > **Python 3.12, 3.13 and 3.14**, including the free-threaded build (`3.14t`),
40
+ > which is the fast path for Python-backed routes.
42
41
 
43
42
  **📖 [Documentation](https://slimboi34.github.io/web_cortex_framework/)** ·
44
43
  [Tutorial](https://slimboi34.github.io/web_cortex_framework/tutorial/) ·
@@ -342,29 +341,25 @@ Not yet: Postgres, SSE streaming, durable agent runs, local model supervision.
342
341
  See [DESIGN.md](DESIGN.md) for the roadmap, honest risk grading, and — just as
343
342
  importantly — what is deliberately **not** being built.
344
343
 
345
- ## Known issue: CPython 3.14.7 with the GIL enabled
344
+ ## Resolved: the CPython 3.14 import failure
346
345
 
347
- On CPython **3.14.7 specifically, with the GIL enabled**, the compiled extension
348
- fails to import:
346
+ **0.3.1 and earlier fail to import on CPython 3.14.7.** Fixed in 0.3.2; upgrade
347
+ if you are on 3.14.
349
348
 
350
349
  ```
351
350
  ValueError: module functions cannot set METH_CLASS or METH_STATIC
352
351
  ```
353
352
 
354
- 3.12, 3.13, 3.14.6 and the **free-threaded** 3.14.7 build (`3.14t`) are all
355
- unaffected. 3.14.7 was released on 5 August 2026; the failure began the same day.
353
+ The cause was pyo3 0.29.1, fixed in 0.29.2. The reason it took a day to find is
354
+ worth recording, because it is a trap any Rust-backed Python project can fall
355
+ into: `Cargo.toml` was updated to require 0.29.2 while `Cargo.lock` still pinned
356
+ 0.29.1. Cargo resolves the newer version at build time, so builds were correct —
357
+ but `Swatinem/rust-cache` keys its cache off `Cargo.lock`, which had not changed,
358
+ so CI kept restoring objects compiled against the broken version. The fix looked
359
+ falsified when it had simply never been built.
356
360
 
357
- This is not a version-resolution accident on your machine `uv` resolves `3.14`
358
- to the newest patch build available when it runs, so an environment that worked
359
- yesterday can stop working today without anything in your project changing.
360
-
361
- **No cp314 wheel is published**, and the CI matrix does not test that target.
362
- Shipping a binary that installs cleanly and then fails at import is worse than
363
- shipping none: the error arrives later, further from its cause, and looks like
364
- a bug in your own application. Use 3.13 or `3.14t`.
365
-
366
- The investigation so far, including what has been ruled out, is in
367
- [AGENTS.md §11](AGENTS.md#11-known-issue-cpython-3147-with-the-gil-enabled).
361
+ If you hit something similar: build once with a cold cache before concluding a
362
+ dependency fix did not work.
368
363
 
369
364
  ## For AI coding tools
370
365
 
@@ -7,9 +7,8 @@ pip install web-cortex-framework
7
7
  > Installs as **`web-cortex-framework`**, imports as **`webcortex`** — the same
8
8
  > split as `djangorestframework` → `import rest_framework`.
9
9
  >
10
- > **Python 3.12, 3.13, and free-threaded 3.14 (`3.14t`).** GIL-enabled 3.14 is
11
- > not supported and no wheel is published for it — see
12
- > [Known issue](#known-issue-cpython-3147-with-the-gil-enabled) below.
10
+ > **Python 3.12, 3.13 and 3.14**, including the free-threaded build (`3.14t`),
11
+ > which is the fast path for Python-backed routes.
13
12
 
14
13
  **📖 [Documentation](https://slimboi34.github.io/web_cortex_framework/)** ·
15
14
  [Tutorial](https://slimboi34.github.io/web_cortex_framework/tutorial/) ·
@@ -313,29 +312,25 @@ Not yet: Postgres, SSE streaming, durable agent runs, local model supervision.
313
312
  See [DESIGN.md](DESIGN.md) for the roadmap, honest risk grading, and — just as
314
313
  importantly — what is deliberately **not** being built.
315
314
 
316
- ## Known issue: CPython 3.14.7 with the GIL enabled
315
+ ## Resolved: the CPython 3.14 import failure
317
316
 
318
- On CPython **3.14.7 specifically, with the GIL enabled**, the compiled extension
319
- fails to import:
317
+ **0.3.1 and earlier fail to import on CPython 3.14.7.** Fixed in 0.3.2; upgrade
318
+ if you are on 3.14.
320
319
 
321
320
  ```
322
321
  ValueError: module functions cannot set METH_CLASS or METH_STATIC
323
322
  ```
324
323
 
325
- 3.12, 3.13, 3.14.6 and the **free-threaded** 3.14.7 build (`3.14t`) are all
326
- unaffected. 3.14.7 was released on 5 August 2026; the failure began the same day.
324
+ The cause was pyo3 0.29.1, fixed in 0.29.2. The reason it took a day to find is
325
+ worth recording, because it is a trap any Rust-backed Python project can fall
326
+ into: `Cargo.toml` was updated to require 0.29.2 while `Cargo.lock` still pinned
327
+ 0.29.1. Cargo resolves the newer version at build time, so builds were correct —
328
+ but `Swatinem/rust-cache` keys its cache off `Cargo.lock`, which had not changed,
329
+ so CI kept restoring objects compiled against the broken version. The fix looked
330
+ falsified when it had simply never been built.
327
331
 
328
- This is not a version-resolution accident on your machine `uv` resolves `3.14`
329
- to the newest patch build available when it runs, so an environment that worked
330
- yesterday can stop working today without anything in your project changing.
331
-
332
- **No cp314 wheel is published**, and the CI matrix does not test that target.
333
- Shipping a binary that installs cleanly and then fails at import is worse than
334
- shipping none: the error arrives later, further from its cause, and looks like
335
- a bug in your own application. Use 3.13 or `3.14t`.
336
-
337
- The investigation so far, including what has been ruled out, is in
338
- [AGENTS.md §11](AGENTS.md#11-known-issue-cpython-3147-with-the-gil-enabled).
332
+ If you hit something similar: build once with a cold cache before concluding a
333
+ dependency fix did not work.
339
334
 
340
335
  ## For AI coding tools
341
336
 
@@ -7,7 +7,7 @@ build-backend = "maturin"
7
7
  # Both are available on PyPI — the split is for ergonomics, not necessity, the
8
8
  # same way djangorestframework imports as `rest_framework`.
9
9
  name = "web-cortex-framework"
10
- version = "0.3.1"
10
+ version = "0.3.2"
11
11
  description = "A Rust-cored Python web framework where every route is also an agent tool."
12
12
  readme = "README.md"
13
13
  requires-python = ">=3.12"
@@ -17,7 +17,7 @@ server exposing six tools — from nine lines.
17
17
  from ._bridge import HTTPError, Request, Response, free_threaded
18
18
  from .app import WebCortex, Resource
19
19
 
20
- __version__ = "0.3.1"
20
+ __version__ = "0.3.2"
21
21
 
22
22
  __all__ = [
23
23
  "WebCortex",