Metadata-Version: 2.4
Name: gemstone-py-native
Version: 0.1.1
Classifier: Development Status :: 4 - Beta
Classifier: Intended Audience :: Developers
Classifier: License :: OSI Approved :: MIT License
Classifier: Operating System :: MacOS
Classifier: Operating System :: Microsoft :: Windows
Classifier: Operating System :: POSIX :: Linux
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Rust
Classifier: Topic :: Database
Requires-Dist: gemstone-py>=0.2.6
Summary: Optional PyO3 native fast path for gemstone-py.
Home-Page: https://github.com/unicompute/gemstone-py
Author: gemstone-py contributors
License-Expression: MIT
Requires-Python: >=3.11
Description-Content-Type: text/markdown; charset=UTF-8; variant=GFM
Project-URL: Homepage, https://github.com/unicompute/gemstone-py
Project-URL: Issues, https://github.com/unicompute/gemstone-py/issues
Project-URL: Repository, https://github.com/unicompute/gemstone-py

# 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. It loads `libgcirpc` with `libloading`,
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.

Build locally:

```bash
python -m pip install maturin
cd gemstone-py-native
maturin develop
```

Package wheels:

```bash
cd gemstone-py-native
maturin build --release
```

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.

