Metadata-Version: 2.4
Name: pygx-core
Version: 0.2.0
Classifier: Development Status :: 4 - Beta
Classifier: Intended Audience :: Developers
Classifier: License :: OSI Approved :: Apache Software License
Classifier: Programming Language :: Rust
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: Implementation :: CPython
Summary: Compiled native core for pygx: Rust-backed symbolic storage and construct/attribute fast paths for pg.Object.
Keywords: pygx,symbolic,rust,pyo3
Author-email: PyGX Authors <pygx-authors@google.com>
License: Apache-2.0
Requires-Python: >=3.12, <3.15
Description-Content-Type: text/markdown; charset=UTF-8; variant=GFM
Project-URL: Homepage, https://github.com/free-solo/pygx
Project-URL: Repository, https://github.com/free-solo/pygx

# pygx-core

The compiled **native core** for [PyGX](https://github.com/free-solo/pygx): a
Rust ([PyO3](https://pyo3.rs)) extension that backs `pg.Object` and the symbolic
containers with native storage and construct/attribute fast paths, reaching
dataclass/pydantic-level performance while preserving the full symbolic feature
set.

This package exposes the `pygx_core` module (the `pygx_core._native` extension).
It never imports `pygx`; `pygx` selects it via the `PYGX_CORE` environment
variable and integrates through a marker/callback contract.

Install `pygx` to use it — `pygx-core` is its compiled accelerator, not a
standalone library.

## Compatibility

Per-version wheels are published for CPython 3.12–3.14 on Linux, macOS, and
Windows — plus, from pygx-core ≥ 0.1.2, a wheel for the free-threaded 3.14t
build that is **genuinely free-threaded**: the module declares
`gil_used = false`, the GIL stays off, and the threading contract (crash
freedom; per-operation atomicity, scoped per node / per field for multi-node
walks and multi-field operations; parallel reads always safe — see the pygx
repo's `docs/design/gil-free.md` §3) is exercised by a dedicated stress CI
job. The extension is **not** abi3 (limited-API) compatible: it installs raw
`PyTypeObject` slots that depend on the concrete CPython type layout.

## License

Apache License 2.0.

