Optional PyO3 native fast path for gemstone-py.
Project description
gemstone-py-native
Optional PyO3 extension for gemstone-py.
The extension exports gemstone_py_native._gci, which matches the Python
gemstone_py._gci shim surface. The reusable GCI loader and raw ABI calls live
in ../crates/gemstone-gci; this package is the thin PyO3 wrapper around that
shared Rust core. It exposes a NativeGciLibrary object with Rust-backed GCI
methods, releases the GIL around blocking GCI calls, and replaces hot OOP tag
helpers with native implementations. Wheels are built with the Python 3.11
stable ABI.
The same extension also exposes the first additive gemstone-rs shared-core
surface through RustCoreSession and rust_core_*_json() helpers. That path is
backed by gemstone_rs::py_native and is intentionally separate from the
existing _gci compatibility API, so existing gemstone-py backend selection
keeps working while the Rust-core migration is proven in tests.
Direct Rust applications should use the separate gemstone-rs workspace. When
checked out beside gemstone-py, it lives at ../../gemstone-rs from this
directory. It provides the safe Rust Config and Session API over the same
low-level GCI layer. Rust code imports it as gemstone_rs.
Build locally:
python -m pip install maturin
cd gemstone-py-native
maturin develop
Check the Rust-core handoff surface:
python - <<'PY'
from gemstone_py_native import _gci
print(_gci.rust_core_implementation())
print(_gci.rust_core_capabilities_json())
print(hasattr(_gci, "RustCoreSession"))
PY
Run the native Rust-core smoke:
python scripts/run_native_rust_core_live_smoke.py --dry-run
GS_RUN_LIVE=1 python scripts/run_native_rust_core_live_smoke.py --require-live
The dry run verifies the installed extension exposes RustCoreSession and the
rust_core_*_json() reports. The live run logs in through
gemstone_rs::py_native, checks 3 + 4 == 7, performs printString, resolves
Object, round-trips a string, writes and aborts a temporary global, and logs
out.
Package wheels:
cd gemstone-py-native
maturin build --release
Run the direct Rust example:
cd ../../gemstone-rs
cargo run -p gemstone-rs --example eval
The repository workflow Native Wheels builds platform wheels for Linux x86_64,
Linux aarch64, Linux ARMv7, macOS x86_64, macOS aarch64, Windows x86_64, and Windows ARM64.
Manual workflow runs can publish the merged wheel set to TestPyPI or PyPI using trusted
publishing. The workflow also builds the generated native sdist back into a
wheel before uploading it, so missing source files fail before publish.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distributions
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file gemstone_py_native-0.1.3.tar.gz.
File metadata
- Download URL: gemstone_py_native-0.1.3.tar.gz
- Upload date:
- Size: 92.4 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.13
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
20a0e3e58193a32a5b10ed1478a770948bcd5f7ff31061712b44c6066033d5c0
|
|
| MD5 |
b23b67b7a00732659ef328551d11e8f1
|
|
| BLAKE2b-256 |
64858a14ccb0dfd93663dea394f4da9c8dad4bf3331b064cf84eb855970e9d70
|
Provenance
The following attestation bundles were made for gemstone_py_native-0.1.3.tar.gz:
Publisher:
native-wheels.yml on unicompute/gemstone-py
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
gemstone_py_native-0.1.3.tar.gz -
Subject digest:
20a0e3e58193a32a5b10ed1478a770948bcd5f7ff31061712b44c6066033d5c0 - Sigstore transparency entry: 1573852288
- Sigstore integration time:
-
Permalink:
unicompute/gemstone-py@d95a97b13991ed057145db9546cc6c9df5060256 -
Branch / Tag:
refs/heads/main - Owner: https://github.com/unicompute
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
native-wheels.yml@d95a97b13991ed057145db9546cc6c9df5060256 -
Trigger Event:
workflow_dispatch
-
Statement type:
File details
Details for the file gemstone_py_native-0.1.3-cp311-abi3-win_arm64.whl.
File metadata
- Download URL: gemstone_py_native-0.1.3-cp311-abi3-win_arm64.whl
- Upload date:
- Size: 231.2 kB
- Tags: CPython 3.11+, Windows ARM64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.13
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
dff313497cb49c2ab33a893f015f82a51e3d2f8d7d1a4013b039aff72eceeecd
|
|
| MD5 |
ee4abb26f561ac60e51058debd967d7e
|
|
| BLAKE2b-256 |
4a73b49fa02d0d94482f4907b6b0c5095170d2756d230d1853ee8245fbd933f4
|
Provenance
The following attestation bundles were made for gemstone_py_native-0.1.3-cp311-abi3-win_arm64.whl:
Publisher:
native-wheels.yml on unicompute/gemstone-py
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
gemstone_py_native-0.1.3-cp311-abi3-win_arm64.whl -
Subject digest:
dff313497cb49c2ab33a893f015f82a51e3d2f8d7d1a4013b039aff72eceeecd - Sigstore transparency entry: 1573852358
- Sigstore integration time:
-
Permalink:
unicompute/gemstone-py@d95a97b13991ed057145db9546cc6c9df5060256 -
Branch / Tag:
refs/heads/main - Owner: https://github.com/unicompute
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
native-wheels.yml@d95a97b13991ed057145db9546cc6c9df5060256 -
Trigger Event:
workflow_dispatch
-
Statement type:
File details
Details for the file gemstone_py_native-0.1.3-cp311-abi3-win_amd64.whl.
File metadata
- Download URL: gemstone_py_native-0.1.3-cp311-abi3-win_amd64.whl
- Upload date:
- Size: 240.8 kB
- Tags: CPython 3.11+, Windows x86-64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.13
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
893649e61b8c34b838857043e43cff43d6a0cdac7fa4d489f9fe0c9c1f7141f4
|
|
| MD5 |
9387a7d2cc0500705d8c02aaefb5f4d6
|
|
| BLAKE2b-256 |
c7d99650a91e5111ce12f71af66776626fedd7c3b5be16b38fc3dd0ef5fb7c97
|
Provenance
The following attestation bundles were made for gemstone_py_native-0.1.3-cp311-abi3-win_amd64.whl:
Publisher:
native-wheels.yml on unicompute/gemstone-py
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
gemstone_py_native-0.1.3-cp311-abi3-win_amd64.whl -
Subject digest:
893649e61b8c34b838857043e43cff43d6a0cdac7fa4d489f9fe0c9c1f7141f4 - Sigstore transparency entry: 1573852382
- Sigstore integration time:
-
Permalink:
unicompute/gemstone-py@d95a97b13991ed057145db9546cc6c9df5060256 -
Branch / Tag:
refs/heads/main - Owner: https://github.com/unicompute
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
native-wheels.yml@d95a97b13991ed057145db9546cc6c9df5060256 -
Trigger Event:
workflow_dispatch
-
Statement type:
File details
Details for the file gemstone_py_native-0.1.3-cp311-abi3-manylinux_2_34_armv7l.whl.
File metadata
- Download URL: gemstone_py_native-0.1.3-cp311-abi3-manylinux_2_34_armv7l.whl
- Upload date:
- Size: 312.6 kB
- Tags: CPython 3.11+, manylinux: glibc 2.34+ ARMv7l
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.13
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
d9768482c25311a98dd02f1b3c4e6662ae03c8d812e6454184e236cfab86b18d
|
|
| MD5 |
677bae1aa430660374d076a58329fe06
|
|
| BLAKE2b-256 |
be48392f82f5e1acde9e1951154630c9d919a6835e05da32bd9b75616415e80d
|
Provenance
The following attestation bundles were made for gemstone_py_native-0.1.3-cp311-abi3-manylinux_2_34_armv7l.whl:
Publisher:
native-wheels.yml on unicompute/gemstone-py
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
gemstone_py_native-0.1.3-cp311-abi3-manylinux_2_34_armv7l.whl -
Subject digest:
d9768482c25311a98dd02f1b3c4e6662ae03c8d812e6454184e236cfab86b18d - Sigstore transparency entry: 1573852454
- Sigstore integration time:
-
Permalink:
unicompute/gemstone-py@d95a97b13991ed057145db9546cc6c9df5060256 -
Branch / Tag:
refs/heads/main - Owner: https://github.com/unicompute
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
native-wheels.yml@d95a97b13991ed057145db9546cc6c9df5060256 -
Trigger Event:
workflow_dispatch
-
Statement type:
File details
Details for the file gemstone_py_native-0.1.3-cp311-abi3-manylinux_2_31_x86_64.whl.
File metadata
- Download URL: gemstone_py_native-0.1.3-cp311-abi3-manylinux_2_31_x86_64.whl
- Upload date:
- Size: 349.6 kB
- Tags: CPython 3.11+, manylinux: glibc 2.31+ x86-64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.13
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
0baffc5f3ec82db904be998d4c5b3ca3a665dc8e3fb174ba8239539f27c6acb2
|
|
| MD5 |
3ec588c5201aef5f714529801b32f7c5
|
|
| BLAKE2b-256 |
18d79beb4217fc0c2265a7370baf99d5b2ab59ec0ada5b2246aa60da4c5fc4de
|
Provenance
The following attestation bundles were made for gemstone_py_native-0.1.3-cp311-abi3-manylinux_2_31_x86_64.whl:
Publisher:
native-wheels.yml on unicompute/gemstone-py
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
gemstone_py_native-0.1.3-cp311-abi3-manylinux_2_31_x86_64.whl -
Subject digest:
0baffc5f3ec82db904be998d4c5b3ca3a665dc8e3fb174ba8239539f27c6acb2 - Sigstore transparency entry: 1573852336
- Sigstore integration time:
-
Permalink:
unicompute/gemstone-py@d95a97b13991ed057145db9546cc6c9df5060256 -
Branch / Tag:
refs/heads/main - Owner: https://github.com/unicompute
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
native-wheels.yml@d95a97b13991ed057145db9546cc6c9df5060256 -
Trigger Event:
workflow_dispatch
-
Statement type:
File details
Details for the file gemstone_py_native-0.1.3-cp311-abi3-manylinux_2_31_aarch64.whl.
File metadata
- Download URL: gemstone_py_native-0.1.3-cp311-abi3-manylinux_2_31_aarch64.whl
- Upload date:
- Size: 337.4 kB
- Tags: CPython 3.11+, manylinux: glibc 2.31+ ARM64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.13
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
e76d8e26bea39911ad09c1a30f62253864bfe4625e79494e4d7c4e1be9d8d978
|
|
| MD5 |
beec9c9964f3d6c2bb0f461a2a0196d7
|
|
| BLAKE2b-256 |
e6a021a5a1ea0ce262ff1fdf0cc01a00bfaab2b9ca5ff115069b5f95cf42a7b0
|
Provenance
The following attestation bundles were made for gemstone_py_native-0.1.3-cp311-abi3-manylinux_2_31_aarch64.whl:
Publisher:
native-wheels.yml on unicompute/gemstone-py
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
gemstone_py_native-0.1.3-cp311-abi3-manylinux_2_31_aarch64.whl -
Subject digest:
e76d8e26bea39911ad09c1a30f62253864bfe4625e79494e4d7c4e1be9d8d978 - Sigstore transparency entry: 1573852592
- Sigstore integration time:
-
Permalink:
unicompute/gemstone-py@d95a97b13991ed057145db9546cc6c9df5060256 -
Branch / Tag:
refs/heads/main - Owner: https://github.com/unicompute
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
native-wheels.yml@d95a97b13991ed057145db9546cc6c9df5060256 -
Trigger Event:
workflow_dispatch
-
Statement type:
File details
Details for the file gemstone_py_native-0.1.3-cp311-abi3-macosx_11_0_arm64.whl.
File metadata
- Download URL: gemstone_py_native-0.1.3-cp311-abi3-macosx_11_0_arm64.whl
- Upload date:
- Size: 294.3 kB
- Tags: CPython 3.11+, macOS 11.0+ ARM64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.13
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
7afa5e86a873e0625005418c9facaada407f7c908f6b4c8a87f596e4a11749b2
|
|
| MD5 |
c5353a1b3cc84ebe8f78390b02edc4ba
|
|
| BLAKE2b-256 |
ffada402bc58880a3ece4555e2f0d8e3456f2439a7cfb6d92bcf40d58ae81b7b
|
Provenance
The following attestation bundles were made for gemstone_py_native-0.1.3-cp311-abi3-macosx_11_0_arm64.whl:
Publisher:
native-wheels.yml on unicompute/gemstone-py
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
gemstone_py_native-0.1.3-cp311-abi3-macosx_11_0_arm64.whl -
Subject digest:
7afa5e86a873e0625005418c9facaada407f7c908f6b4c8a87f596e4a11749b2 - Sigstore transparency entry: 1573852501
- Sigstore integration time:
-
Permalink:
unicompute/gemstone-py@d95a97b13991ed057145db9546cc6c9df5060256 -
Branch / Tag:
refs/heads/main - Owner: https://github.com/unicompute
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
native-wheels.yml@d95a97b13991ed057145db9546cc6c9df5060256 -
Trigger Event:
workflow_dispatch
-
Statement type:
File details
Details for the file gemstone_py_native-0.1.3-cp311-abi3-macosx_10_12_x86_64.whl.
File metadata
- Download URL: gemstone_py_native-0.1.3-cp311-abi3-macosx_10_12_x86_64.whl
- Upload date:
- Size: 299.8 kB
- Tags: CPython 3.11+, macOS 10.12+ x86-64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.13
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
c4310c111080746e02cee5ec4efc88df6b78659ed207f0a6626ba7f7b8d6e2bf
|
|
| MD5 |
b1f0e92b794ab46b0b09dcfecafbd2dc
|
|
| BLAKE2b-256 |
c3b70b7bc3394a146da9dfd5e92d344c5b85f0b0f135225ca924733037f71c33
|
Provenance
The following attestation bundles were made for gemstone_py_native-0.1.3-cp311-abi3-macosx_10_12_x86_64.whl:
Publisher:
native-wheels.yml on unicompute/gemstone-py
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
gemstone_py_native-0.1.3-cp311-abi3-macosx_10_12_x86_64.whl -
Subject digest:
c4310c111080746e02cee5ec4efc88df6b78659ed207f0a6626ba7f7b8d6e2bf - Sigstore transparency entry: 1573852323
- Sigstore integration time:
-
Permalink:
unicompute/gemstone-py@d95a97b13991ed057145db9546cc6c9df5060256 -
Branch / Tag:
refs/heads/main - Owner: https://github.com/unicompute
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
native-wheels.yml@d95a97b13991ed057145db9546cc6c9df5060256 -
Trigger Event:
workflow_dispatch
-
Statement type: