concurrent-c-node 0.4.1__tar.gz → 0.6.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.
- {concurrent_c_node-0.4.1 → concurrent_c_node-0.6.0}/PKG-INFO +17 -5
- {concurrent_c_node-0.4.1 → concurrent_c_node-0.6.0}/README.md +16 -4
- {concurrent_c_node-0.4.1 → concurrent_c_node-0.6.0}/concurrent_c_node.egg-info/PKG-INFO +17 -5
- {concurrent_c_node-0.4.1 → concurrent_c_node-0.6.0}/pyproject.toml +1 -1
- {concurrent_c_node-0.4.1 → concurrent_c_node-0.6.0}/cc_node/__init__.py +0 -0
- {concurrent_c_node-0.4.1 → concurrent_c_node-0.6.0}/cc_node/broker.cjs +0 -0
- {concurrent_c_node-0.4.1 → concurrent_c_node-0.6.0}/cc_node/examples/__init__.py +0 -0
- {concurrent_c_node-0.4.1 → concurrent_c_node-0.6.0}/cc_node/examples/bench_wire.py +0 -0
- {concurrent_c_node-0.4.1 → concurrent_c_node-0.6.0}/cc_node/examples/use_node.py +0 -0
- {concurrent_c_node-0.4.1 → concurrent_c_node-0.6.0}/concurrent_c_node.egg-info/SOURCES.txt +0 -0
- {concurrent_c_node-0.4.1 → concurrent_c_node-0.6.0}/concurrent_c_node.egg-info/dependency_links.txt +0 -0
- {concurrent_c_node-0.4.1 → concurrent_c_node-0.6.0}/concurrent_c_node.egg-info/top_level.txt +0 -0
- {concurrent_c_node-0.4.1 → concurrent_c_node-0.6.0}/setup.cfg +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: concurrent-c-node
|
|
3
|
-
Version: 0.
|
|
3
|
+
Version: 0.6.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
|
|
|
@@ -57,6 +61,11 @@ Import stays `import cc_node`. Examples ship in the wheel. The mirror of
|
|
|
57
61
|
the handle ledger and `release()` drops one early; `destroy()` is
|
|
58
62
|
idempotent, every door answers `bridge is closed` after, and the
|
|
59
63
|
child dies with the bridge (and on host exit, via stdin EOF).
|
|
64
|
+
Teardown is **cooperative** (farewell `close` + drain, then wait /
|
|
65
|
+
kill-fallback): in-flight calls may still return a correct value.
|
|
66
|
+
Hard child death (`SIGKILL`, `process.abort`) is a different contract —
|
|
67
|
+
in-flight ops must reject. See
|
|
68
|
+
[`bridge_stress.md`](https://github.com/sreekotay/concurrent-c/blob/main/stress/bridge/bridge_stress.md).
|
|
60
69
|
|
|
61
70
|
## Async is free
|
|
62
71
|
|
|
@@ -157,10 +166,13 @@ A worked tour (builtin Node modules, chains, callbacks, thenables,
|
|
|
157
166
|
buffers — no npm install needed):
|
|
158
167
|
`python -m cc_node.examples.use_node`.
|
|
159
168
|
|
|
160
|
-
Adversarial multi-child storm (
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
169
|
+
Adversarial multi-child storm (escaped closures, cooperative
|
|
170
|
+
fanout-destroy, abort inject, handle-leak / RSS soaks):
|
|
171
|
+
[`stress/bridge/`](https://github.com/sreekotay/concurrent-c/tree/main/stress/bridge)
|
|
172
|
+
— `./stress/bridge/run.sh` (`CHAOS_SCALE=full` / `soak` for bigger N).
|
|
173
|
+
Mode catalog + destroy contracts:
|
|
174
|
+
[`bridge_stress.md`](https://github.com/sreekotay/concurrent-c/blob/main/stress/bridge/bridge_stress.md)
|
|
175
|
+
(latency demos stay in `cc_node/examples/`).
|
|
164
176
|
|
|
165
177
|
And when the hot path is YOUR code rather than an npm package, skip the
|
|
166
178
|
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
|
|
|
@@ -46,6 +50,11 @@ Import stays `import cc_node`. Examples ship in the wheel. The mirror of
|
|
|
46
50
|
the handle ledger and `release()` drops one early; `destroy()` is
|
|
47
51
|
idempotent, every door answers `bridge is closed` after, and the
|
|
48
52
|
child dies with the bridge (and on host exit, via stdin EOF).
|
|
53
|
+
Teardown is **cooperative** (farewell `close` + drain, then wait /
|
|
54
|
+
kill-fallback): in-flight calls may still return a correct value.
|
|
55
|
+
Hard child death (`SIGKILL`, `process.abort`) is a different contract —
|
|
56
|
+
in-flight ops must reject. See
|
|
57
|
+
[`bridge_stress.md`](https://github.com/sreekotay/concurrent-c/blob/main/stress/bridge/bridge_stress.md).
|
|
49
58
|
|
|
50
59
|
## Async is free
|
|
51
60
|
|
|
@@ -146,10 +155,13 @@ A worked tour (builtin Node modules, chains, callbacks, thenables,
|
|
|
146
155
|
buffers — no npm install needed):
|
|
147
156
|
`python -m cc_node.examples.use_node`.
|
|
148
157
|
|
|
149
|
-
Adversarial multi-child storm (
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
158
|
+
Adversarial multi-child storm (escaped closures, cooperative
|
|
159
|
+
fanout-destroy, abort inject, handle-leak / RSS soaks):
|
|
160
|
+
[`stress/bridge/`](https://github.com/sreekotay/concurrent-c/tree/main/stress/bridge)
|
|
161
|
+
— `./stress/bridge/run.sh` (`CHAOS_SCALE=full` / `soak` for bigger N).
|
|
162
|
+
Mode catalog + destroy contracts:
|
|
163
|
+
[`bridge_stress.md`](https://github.com/sreekotay/concurrent-c/blob/main/stress/bridge/bridge_stress.md)
|
|
164
|
+
(latency demos stay in `cc_node/examples/`).
|
|
153
165
|
|
|
154
166
|
And when the hot path is YOUR code rather than an npm package, skip the
|
|
155
167
|
wire entirely: a page of Concurrent-C (or C) exports as a native module
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: concurrent-c-node
|
|
3
|
-
Version: 0.
|
|
3
|
+
Version: 0.6.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
|
|
|
@@ -57,6 +61,11 @@ Import stays `import cc_node`. Examples ship in the wheel. The mirror of
|
|
|
57
61
|
the handle ledger and `release()` drops one early; `destroy()` is
|
|
58
62
|
idempotent, every door answers `bridge is closed` after, and the
|
|
59
63
|
child dies with the bridge (and on host exit, via stdin EOF).
|
|
64
|
+
Teardown is **cooperative** (farewell `close` + drain, then wait /
|
|
65
|
+
kill-fallback): in-flight calls may still return a correct value.
|
|
66
|
+
Hard child death (`SIGKILL`, `process.abort`) is a different contract —
|
|
67
|
+
in-flight ops must reject. See
|
|
68
|
+
[`bridge_stress.md`](https://github.com/sreekotay/concurrent-c/blob/main/stress/bridge/bridge_stress.md).
|
|
60
69
|
|
|
61
70
|
## Async is free
|
|
62
71
|
|
|
@@ -157,10 +166,13 @@ A worked tour (builtin Node modules, chains, callbacks, thenables,
|
|
|
157
166
|
buffers — no npm install needed):
|
|
158
167
|
`python -m cc_node.examples.use_node`.
|
|
159
168
|
|
|
160
|
-
Adversarial multi-child storm (
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
169
|
+
Adversarial multi-child storm (escaped closures, cooperative
|
|
170
|
+
fanout-destroy, abort inject, handle-leak / RSS soaks):
|
|
171
|
+
[`stress/bridge/`](https://github.com/sreekotay/concurrent-c/tree/main/stress/bridge)
|
|
172
|
+
— `./stress/bridge/run.sh` (`CHAOS_SCALE=full` / `soak` for bigger N).
|
|
173
|
+
Mode catalog + destroy contracts:
|
|
174
|
+
[`bridge_stress.md`](https://github.com/sreekotay/concurrent-c/blob/main/stress/bridge/bridge_stress.md)
|
|
175
|
+
(latency demos stay in `cc_node/examples/`).
|
|
164
176
|
|
|
165
177
|
And when the hot path is YOUR code rather than an npm package, skip the
|
|
166
178
|
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.
|
|
7
|
+
version = "0.6.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"
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{concurrent_c_node-0.4.1 → concurrent_c_node-0.6.0}/concurrent_c_node.egg-info/dependency_links.txt
RENAMED
|
File without changes
|
{concurrent_c_node-0.4.1 → concurrent_c_node-0.6.0}/concurrent_c_node.egg-info/top_level.txt
RENAMED
|
File without changes
|
|
File without changes
|