Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
5 changes: 3 additions & 2 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,7 @@

[![NuGet](https://img.shields.io/nuget/v/Cloudtoid.Interprocess?label=NuGet)](https://www.nuget.org/packages/Cloudtoid.Interprocess)
[![Rust](https://img.shields.io/crates/v/cloudtoid-interprocess?label=Rust)](https://crates.io/crates/cloudtoid-interprocess)
[![PyPI](https://img.shields.io/pypi/v/cloudtoid-interprocess?label=PyPI)](https://pypi.org/project/cloudtoid-interprocess/)
[![C FFI](https://img.shields.io/crates/v/cloudtoid-interprocess-ffi?label=C%20FFI)](https://crates.io/crates/cloudtoid-interprocess-ffi)
[![npm](https://img.shields.io/npm/v/@cloudtoid/interprocess?label=npm)](https://www.npmjs.com/package/@cloudtoid/interprocess)
[![Go](https://img.shields.io/github/v/tag/cloudtoid/interprocess?filter=src%2Fgo%2Fv*&label=Go)](https://pkg.go.dev/github.com/cloudtoid/interprocess/src/go/v3)
Expand All @@ -27,13 +28,13 @@ Interprocess is used internally by Microsoft.

## Languages

.NET, Rust, Node.js, Go, and the C SDK are released and available to install. Python is available from source; publishing to PyPI is pending.
.NET, Rust, Node.js, Go, Python, and the C SDK are released and available to install.

| Language | Package | Setup and API guide |
| --- | --- | --- |
| Rust | [`cloudtoid-interprocess`](https://crates.io/crates/cloudtoid-interprocess) (Cargo) | [Rust core](https://cloudtoid.com/docs/rust/) |
| C / C++ | [C SDK](https://github.com/cloudtoid/interprocess/releases/latest); [`cloudtoid-interprocess-ffi`](https://crates.io/crates/cloudtoid-interprocess-ffi) (Cargo) | [C ABI, headers, and shared library](https://cloudtoid.com/docs/c/) |
| Python | Source build (PyPI pending); import `cloudtoid_interprocess` | [Python 3.9+](https://cloudtoid.com/docs/python/) |
| Python | [`cloudtoid-interprocess`](https://pypi.org/project/cloudtoid-interprocess/) (PyPI) | [Python 3.9+](https://cloudtoid.com/docs/python/) |
| Node.js | [`@cloudtoid/interprocess`](https://www.npmjs.com/package/@cloudtoid/interprocess) (npm) | [Node.js 18+, JavaScript and TypeScript](https://cloudtoid.com/docs/node/) |
| Go | [`github.com/cloudtoid/interprocess/src/go/v3`](https://pkg.go.dev/github.com/cloudtoid/interprocess/src/go/v3) | [Go 1.24+, cgo, and the C SDK](https://cloudtoid.com/docs/go/) |
| .NET | [`Cloudtoid.Interprocess`][NuGet] (NuGet) | [.NET 10+, C# and dependency injection](https://cloudtoid.com/docs/dotnet/) |
Expand Down
4 changes: 2 additions & 2 deletions src/python/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,10 +6,10 @@ Fast shared-memory byte queues. Exchange messages directly with Rust, C, Go, Nod

## [Install](https://cloudtoid.com/docs/python/#install)

PyPI publishing is pending. Run in an activated Python 3.9+ virtual environment with Git, Rust, and a native linker installed.
Requires Python 3.9 or later.

```sh
python -m pip install "git+https://github.com/cloudtoid/interprocess.git@native-v3.0.1#subdirectory=src/python"
python -m pip install cloudtoid-interprocess
```

## Example
Expand Down
2 changes: 1 addition & 1 deletion src/website/docs/overview.html
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ <h2 id="choose-language">Choose your language</h2>
<a href="/docs/node/"><strong>Node.js &amp; TypeScript</strong><span>Buffers, promises, and AbortSignal.</span><code>npm install @cloudtoid/interprocess</code></a>
<a href="/docs/go/"><strong>Go</strong><span>Byte slices, context cancellation, and cgo.</span><code>go get github.com/cloudtoid/interprocess/src/go/v3@latest</code></a>
<a href="/docs/c/"><strong>C</strong><span>A small ABI with explicit buffer ownership.</span><code>#include &lt;interprocess.h&gt;</code></a>
<a href="/docs/python/"><strong>Python</strong><span>Bytes, timeouts, and context managers. Build from source.</span><code>from cloudtoid_interprocess import Publisher</code></a>
<a href="/docs/python/"><strong>Python</strong><span>Bytes, timeouts, and context managers.</span><code>python -m pip install cloudtoid-interprocess</code></a>
<a href="/docs/dotnet/"><strong>.NET</strong><span>Spans, reusable memory, and CancellationToken.</span><code>dotnet add package Cloudtoid.Interprocess</code></a>
</div>
<h2 id="first-queue">Your first queue</h2>
Expand Down
2 changes: 1 addition & 1 deletion src/website/docs/pages.json
Original file line number Diff line number Diff line change
Expand Up @@ -51,7 +51,7 @@
"slug": "python",
"label": "Python",
"title": "Python shared-memory IPC: installation and API",
"description": "Build Cloudtoid Interprocess for Python. Send bytes and buffer objects, receive with timeouts, use context managers, and handle queue exceptions."
"description": "Install Cloudtoid Interprocess from PyPI. Send bytes and buffer objects, receive with timeouts, use context managers, and handle queue exceptions."
},
{
"slug": "dotnet",
Expand Down
4 changes: 2 additions & 2 deletions src/website/docs/python-rust.html
Original file line number Diff line number Diff line change
Expand Up @@ -9,8 +9,8 @@ <h2 id="setup">Install and prepare</h2>
<pre><code class="language-bash">source .venv/bin/activate</code></pre>
<p>Windows PowerShell:</p>
<pre><code class="language-powershell">.venv\Scripts\Activate.ps1</code></pre>
<p>Use <code>python3</code> instead of <code>python</code> if that is how your system names Python 3. The Python package currently builds from source; it is not yet on PyPI.</p>
<pre><code class="language-bash">python -m pip install "git+https://github.com/cloudtoid/interprocess.git@native-v3.0.1#subdirectory=src/python"
<p>Use <code>python3</code> instead of <code>python</code> if that is how your system names Python 3.</p>
<pre><code class="language-bash">python -m pip install cloudtoid-interprocess
cargo new sender
cd sender
cargo add cloudtoid-interprocess@3.0.1
Expand Down
6 changes: 3 additions & 3 deletions src/website/docs/python.html
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
<p class="doc-lead">Send Python bytes and buffer objects through the shared Rust engine. Use context managers to keep endpoint lifetimes explicit.</p>
<p class="doc-source"><a href="https://github.com/cloudtoid/interprocess/tree/main/src/python">Python package source ↗</a> · <a href="https://github.com/cloudtoid/interprocess/blob/main/src/python/src/lib.rs">Binding implementation ↗</a></p>
<h2 id="install">Install from source</h2>
<p>The Python package is not yet published on PyPI. Requires Python 3.9 or later, Git, Rust, and a native linker. Run in an activated virtual environment:</p>
<pre><code class="language-bash">python -m pip install "git+https://github.com/cloudtoid/interprocess.git@native-v3.0.1#subdirectory=src/python"</code></pre>
<h2 id="install">Install</h2>
<p>Requires Python 3.9 or later.</p>
<pre><code class="language-bash">python -m pip install cloudtoid-interprocess</code></pre>
<p>Connecting different languages? Follow the <a href="/docs/python-rust/">Rust-to-Python messaging tutorial</a>.</p>
<h2 id="example">Send and receive</h2>
<pre><code class="language-python">from cloudtoid_interprocess import Publisher, Subscriber
Expand Down
4 changes: 2 additions & 2 deletions src/website/site.js
Original file line number Diff line number Diff line change
Expand Up @@ -12,8 +12,8 @@ const installation = {
"dotnet add package Cloudtoid.Interprocess"
],
"Python": [
"PyPI publishing is pending. Run in an activated Python 3.9+ virtual environment with Git, Rust, and a native linker installed.",
"python -m pip install \"git+https://github.com/cloudtoid/interprocess.git@native-v3.0.1#subdirectory=src/python\""
"Run in an activated Python 3.9+ virtual environment.",
"python -m pip install cloudtoid-interprocess"
],
"Go": [
"Install the C SDK first (see the C guide), then run in your Go module. Requires Go 1.24+, cgo enabled, a C compiler, and pkg-config.",
Expand Down
Loading