|
Stratax 0.4.0rc1
|
Source: bindings/module.cpp.
The pybind11 entry point registers exceptions, metadata, classes, and free functions. python/stratax/__init__.py defines the public package export list.
Shared helpers may register operations whose return types are registered later in initialization. All registration completes before callers invoke those operations. Numeric bindings use double; Boolean masks and index results use bool and dtype::int64 respectively.
PyDoc, PyVersion, PyAuthor, PyLicense, and PyModule constants set doc, version, author, license, and module. Homepage/repository/issue URLs belong to package metadata in pyproject.toml; module.cpp does not register those attributes. Release version changes must update PyVersion together with the package and Doxygen versions. Prereleases use the full Python version, such as 0.4.0rc1, in those fields; CMake's project VERSION uses the numeric base 0.4.0. See Releasing for the version and artifact checks.
StrataxError derives from Python RuntimeError. All ten specialized C++ errors are registered beneath it. Built-in conversion/slice/argument errors can also propagate; the shared raise_overflow helper specifically uses built-in OverflowError. See Python API Reference for the user-facing exception boundary.
Python dimensions must fit both the signed long long input conversion and the native size_t representation. Constructors reject larger values with built-in OverflowError before converting them; Shape metadata can represent dimensions above the signed index limit on 32-bit builds. Container storage checks may impose smaller limits.