concurrent-c-node 0.4.0__tar.gz → 0.5.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: concurrent-c-node
3
- Version: 0.4.0
3
+ Version: 0.5.0
4
4
  Summary: JavaScript and npm packages from Python over the Concurrent-C bridge: one spawned Node child per domain, host-controlled lifetime.
5
5
  License: MIT
6
6
  Project-URL: Repository, https://github.com/sreekotay/concurrent-c
@@ -17,6 +17,10 @@ Part of [Concurrent-C](https://github.com/sreekotay/concurrent-c) — a
17
17
  strict C11-superset preprocessor: `.ccs` lowers to plain C and compiles
18
18
  with your host C compiler. (This bridge itself is pure Python.)
19
19
 
20
+ Map of the three boundaries (CC hosts Python, native modules, this
21
+ package bridge):
22
+ [JS / Python interop](https://github.com/sreekotay/concurrent-c/blob/main/docs/js-py-modules.md).
23
+
20
24
  ```python
21
25
  import cc_node
22
26
 
@@ -119,6 +123,10 @@ And *which packages* it sees is the working directory's
119
123
  Run Python in your project, get your project's packages: `npm install`
120
124
  next to your program is the whole setup.
121
125
 
126
+ (Writing Concurrent-C itself rather than Python? There is a zero-IPC
127
+ tier: `cc_js_host_new(&a)` boots libnode *inside* your CC program — see
128
+ [`examples/recipe_js_host.ccs`](https://github.com/sreekotay/concurrent-c/blob/main/examples/recipe_js_host.ccs).)
129
+
122
130
  ## Publishing
123
131
 
124
132
  From the Concurrent-C repo root (packs this wheel and the npm sibling):
@@ -153,10 +161,12 @@ A worked tour (builtin Node modules, chains, callbacks, thenables,
153
161
  buffers — no npm install needed):
154
162
  `python -m cc_node.examples.use_node`.
155
163
 
156
- Adversarial multi-child storm (fanout, callback blizzard, shm hail,
157
- teardown derby): [`stress/bridge/`](https://github.com/sreekotay/concurrent-c/tree/main/stress/bridge)
158
- — `./stress/bridge/run.sh` (`CHAOS_SCALE=full` for bigger N; latency demos
159
- stay in `cc_node/examples/`).
164
+ Adversarial multi-child storm (fanout, abort inject, mixed concurrent,
165
+ handle-leak / RSS soaks): [`stress/bridge/`](https://github.com/sreekotay/concurrent-c/tree/main/stress/bridge)
166
+ — `./stress/bridge/run.sh` (`CHAOS_SCALE=full` / `soak` for bigger N).
167
+ Mode catalog + status:
168
+ [`bridge_stress.md`](https://github.com/sreekotay/concurrent-c/blob/main/stress/bridge/bridge_stress.md)
169
+ (latency demos stay in `cc_node/examples/`).
160
170
 
161
171
  And when the hot path is YOUR code rather than an npm package, skip the
162
172
  wire entirely: a page of Concurrent-C (or C) exports as a native module
@@ -6,6 +6,10 @@ Part of [Concurrent-C](https://github.com/sreekotay/concurrent-c) — a
6
6
  strict C11-superset preprocessor: `.ccs` lowers to plain C and compiles
7
7
  with your host C compiler. (This bridge itself is pure Python.)
8
8
 
9
+ Map of the three boundaries (CC hosts Python, native modules, this
10
+ package bridge):
11
+ [JS / Python interop](https://github.com/sreekotay/concurrent-c/blob/main/docs/js-py-modules.md).
12
+
9
13
  ```python
10
14
  import cc_node
11
15
 
@@ -108,6 +112,10 @@ And *which packages* it sees is the working directory's
108
112
  Run Python in your project, get your project's packages: `npm install`
109
113
  next to your program is the whole setup.
110
114
 
115
+ (Writing Concurrent-C itself rather than Python? There is a zero-IPC
116
+ tier: `cc_js_host_new(&a)` boots libnode *inside* your CC program — see
117
+ [`examples/recipe_js_host.ccs`](https://github.com/sreekotay/concurrent-c/blob/main/examples/recipe_js_host.ccs).)
118
+
111
119
  ## Publishing
112
120
 
113
121
  From the Concurrent-C repo root (packs this wheel and the npm sibling):
@@ -142,10 +150,12 @@ A worked tour (builtin Node modules, chains, callbacks, thenables,
142
150
  buffers — no npm install needed):
143
151
  `python -m cc_node.examples.use_node`.
144
152
 
145
- Adversarial multi-child storm (fanout, callback blizzard, shm hail,
146
- teardown derby): [`stress/bridge/`](https://github.com/sreekotay/concurrent-c/tree/main/stress/bridge)
147
- — `./stress/bridge/run.sh` (`CHAOS_SCALE=full` for bigger N; latency demos
148
- stay in `cc_node/examples/`).
153
+ Adversarial multi-child storm (fanout, abort inject, mixed concurrent,
154
+ handle-leak / RSS soaks): [`stress/bridge/`](https://github.com/sreekotay/concurrent-c/tree/main/stress/bridge)
155
+ — `./stress/bridge/run.sh` (`CHAOS_SCALE=full` / `soak` for bigger N).
156
+ Mode catalog + status:
157
+ [`bridge_stress.md`](https://github.com/sreekotay/concurrent-c/blob/main/stress/bridge/bridge_stress.md)
158
+ (latency demos stay in `cc_node/examples/`).
149
159
 
150
160
  And when the hot path is YOUR code rather than an npm package, skip the
151
161
  wire entirely: a page of Concurrent-C (or C) exports as a native module
@@ -27,7 +27,7 @@ import os
27
27
  import subprocess
28
28
 
29
29
  __all__ = ["create", "JsError", "JsHandle", "__version__"]
30
- __version__ = "0.2.0"
30
+ __version__ = "0.4.0"
31
31
 
32
32
  # Typed buffers cross as typed arrays; big ones spill through shared
33
33
  # memory (tmpfs where available) — one memcpy per side, receiver
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: concurrent-c-node
3
- Version: 0.4.0
3
+ Version: 0.5.0
4
4
  Summary: JavaScript and npm packages from Python over the Concurrent-C bridge: one spawned Node child per domain, host-controlled lifetime.
5
5
  License: MIT
6
6
  Project-URL: Repository, https://github.com/sreekotay/concurrent-c
@@ -17,6 +17,10 @@ Part of [Concurrent-C](https://github.com/sreekotay/concurrent-c) — a
17
17
  strict C11-superset preprocessor: `.ccs` lowers to plain C and compiles
18
18
  with your host C compiler. (This bridge itself is pure Python.)
19
19
 
20
+ Map of the three boundaries (CC hosts Python, native modules, this
21
+ package bridge):
22
+ [JS / Python interop](https://github.com/sreekotay/concurrent-c/blob/main/docs/js-py-modules.md).
23
+
20
24
  ```python
21
25
  import cc_node
22
26
 
@@ -119,6 +123,10 @@ And *which packages* it sees is the working directory's
119
123
  Run Python in your project, get your project's packages: `npm install`
120
124
  next to your program is the whole setup.
121
125
 
126
+ (Writing Concurrent-C itself rather than Python? There is a zero-IPC
127
+ tier: `cc_js_host_new(&a)` boots libnode *inside* your CC program — see
128
+ [`examples/recipe_js_host.ccs`](https://github.com/sreekotay/concurrent-c/blob/main/examples/recipe_js_host.ccs).)
129
+
122
130
  ## Publishing
123
131
 
124
132
  From the Concurrent-C repo root (packs this wheel and the npm sibling):
@@ -153,10 +161,12 @@ A worked tour (builtin Node modules, chains, callbacks, thenables,
153
161
  buffers — no npm install needed):
154
162
  `python -m cc_node.examples.use_node`.
155
163
 
156
- Adversarial multi-child storm (fanout, callback blizzard, shm hail,
157
- teardown derby): [`stress/bridge/`](https://github.com/sreekotay/concurrent-c/tree/main/stress/bridge)
158
- — `./stress/bridge/run.sh` (`CHAOS_SCALE=full` for bigger N; latency demos
159
- stay in `cc_node/examples/`).
164
+ Adversarial multi-child storm (fanout, abort inject, mixed concurrent,
165
+ handle-leak / RSS soaks): [`stress/bridge/`](https://github.com/sreekotay/concurrent-c/tree/main/stress/bridge)
166
+ — `./stress/bridge/run.sh` (`CHAOS_SCALE=full` / `soak` for bigger N).
167
+ Mode catalog + status:
168
+ [`bridge_stress.md`](https://github.com/sreekotay/concurrent-c/blob/main/stress/bridge/bridge_stress.md)
169
+ (latency demos stay in `cc_node/examples/`).
160
170
 
161
171
  And when the hot path is YOUR code rather than an npm package, skip the
162
172
  wire entirely: a page of Concurrent-C (or C) exports as a native module
@@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta"
4
4
 
5
5
  [project]
6
6
  name = "concurrent-c-node"
7
- version = "0.4.0"
7
+ version = "0.5.0"
8
8
  description = "JavaScript and npm packages from Python over the Concurrent-C bridge: one spawned Node child per domain, host-controlled lifetime."
9
9
  readme = "README.md"
10
10
  requires-python = ">=3.8"