Skip to main content
Pre-release

This release is a pre-release and may not be stable for production use.

py10x-fin-base-cxx (cxxfin import)

Native extension for py10x-fin-base. Dist name is py10x-fin-base-cxx; the import module remains cxxfin. Install py10x-fin-base (not this package directly). Built with pybind11 and scikit-build-core.

Architecture

  • cxxfin.cpp — pybind11 module source; PYBIND11_MODULE name is cxxfin
  • generate_stubs.py — post-build stub generation; promotes py10x_kernel to RTLD_GLOBAL before importing cxxfin so that BTraitable typeinfo is visible (macOS flat namespace requirement)
  • Headers fetched from cxx10x at the exact git commit matching the installed py10x_kernel binary (version string contains the hash)

Subclassing py10x_kernel types

py10x_kernel is built with CXX_VISIBILITY_PRESET default so its vtables and typeinfo are exported. On import it promotes itself to RTLD_GLOBAL via dladdr + dlopen(RTLD_NOW | RTLD_GLOBAL | RTLD_NOLOAD), making its symbols visible to subsequently loaded extension modules. py10x_kernel must be imported before cxxfin — this holds in normal usage since it is always loaded as part of the py10x-core import chain.

Incremental, automatic rebuild

cxxfin on is automatically rebuilt on import cxxfin whenever the sources changed.

Clean rebuild

Needed when changing build structure, e.g. adding source files, editing CMakeLists.txt):

uv pip uninstall py10x-fin-base-cxx
rm -rf .venv/py10x-build/cxxfin
uv sync --reinstall-package py10x-fin-base-cxx
  • uv pip uninstall py10x-fin-base-cxx — removes the editable finder from site-packages, which otherwise intercepts import cxxfin during stub generation and causes a circular rebuild failure
  • rm -rf .venv/py10x-build/cxxfin — wipes the stale CMake cache
  • uv sync --reinstall-package py10x-fin-base-cxx — rebuilds and reinstalls from scratch

Normal development (edit C++ source → run) does not require this; the editable rebuild fires automatically on import.

Debug build

cxxfin builds Release by default. For Debug build, set the build type via scikit-build-core's env override and re-run uv sync, for example:

SKBUILD_CMAKE_BUILD_TYPE=Debug uv sync --reinstall-package py10x-fin-base-cxx

The build type is fixed at sync time (baked into the editable install along with the build-dir), so switching is just another sync — SKBUILD_CMAKE_BUILD_TYPE=Debug uv sync --reinstall-package py10x-fin-base-cxx for Debug, plain uv sync --reinstall-package py10x-fin-base-cxx for Release. Because each type has its own tree under .venv/py10x-build/cxxfin/<Debug|Release>/, switching does not rebuild from scratch.

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distributions

No source distribution files available for this release.See tutorial on generating distribution archives.

Built Distributions

If you're not sure about the file name format, learn more about wheel file names.

py10x_fin_base_cxx-0.1.0rc9-cp312-cp312-win_amd64.whl (87.2 kB view details)

Uploaded CPython 3.12Windows x86-64

py10x_fin_base_cxx-0.1.0rc9-cp312-cp312-manylinux_2_34_x86_64.whl (100.2 kB view details)

Uploaded CPython 3.12manylinux: glibc 2.34+ x86-64

py10x_fin_base_cxx-0.1.0rc9-cp312-cp312-macosx_13_0_universal2.whl (165.9 kB view details)

Uploaded CPython 3.12macOS 13.0+ universal2 (ARM64, x86-64)

py10x_fin_base_cxx-0.1.0rc9-cp311-cp311-win_amd64.whl (86.6 kB view details)

Uploaded CPython 3.11Windows x86-64

py10x_fin_base_cxx-0.1.0rc9-cp311-cp311-manylinux_2_34_x86_64.whl (100.1 kB view details)

Uploaded CPython 3.11manylinux: glibc 2.34+ x86-64

py10x_fin_base_cxx-0.1.0rc9-cp311-cp311-macosx_13_0_universal2.whl (165.6 kB view details)

Uploaded CPython 3.11macOS 13.0+ universal2 (ARM64, x86-64)

File details

Details for the file py10x_fin_base_cxx-0.1.0rc9-cp312-cp312-win_amd64.whl.

File metadata

File hashes

Hashes for py10x_fin_base_cxx-0.1.0rc9-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 8441fe78809cb30313b4f326292daa9d81d74d4d1f8b366f57252c69c24ff01e
MD5 3019697da19b2a32cdd42c1240f7c23f
BLAKE2b-256 8594c1db58cde39dae43b016105c503a45563ac026229a3c44076ed534a15e0c

See more details on using hashes here.

Provenance

The following attestation bundles were made for py10x_fin_base_cxx-0.1.0rc9-cp312-cp312-win_amd64.whl:

Publisher: finbase_wheel.yml on 10x-software/py10x

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file py10x_fin_base_cxx-0.1.0rc9-cp312-cp312-manylinux_2_34_x86_64.whl.

File metadata

File hashes

Hashes for py10x_fin_base_cxx-0.1.0rc9-cp312-cp312-manylinux_2_34_x86_64.whl
Algorithm Hash digest
SHA256 4638037eade3cef460710d4b7e0a0cbb99bc912b2dd16791d03da498b284e615
MD5 bc22ea07f1279f9cedfc9f169281705b
BLAKE2b-256 950d9ad9ae4d221bb95a2dcb1e6b306e464bd8044a42d4257981e37f07f1f2c2

See more details on using hashes here.

Provenance

The following attestation bundles were made for py10x_fin_base_cxx-0.1.0rc9-cp312-cp312-manylinux_2_34_x86_64.whl:

Publisher: finbase_wheel.yml on 10x-software/py10x

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file py10x_fin_base_cxx-0.1.0rc9-cp312-cp312-macosx_13_0_universal2.whl.

File metadata

File hashes

Hashes for py10x_fin_base_cxx-0.1.0rc9-cp312-cp312-macosx_13_0_universal2.whl
Algorithm Hash digest
SHA256 72d54ceca24cf3c0efcd9354ede2a036953f178fd7a99482e56646604fbc7217
MD5 dc1968c248fb5b2b83a19fc17fd89573
BLAKE2b-256 b8adfcb8a2bccf41d7faa337d43c82c21807ed1676902a2d8978d6e18cad63f8

See more details on using hashes here.

Provenance

The following attestation bundles were made for py10x_fin_base_cxx-0.1.0rc9-cp312-cp312-macosx_13_0_universal2.whl:

Publisher: finbase_wheel.yml on 10x-software/py10x

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file py10x_fin_base_cxx-0.1.0rc9-cp311-cp311-win_amd64.whl.

File metadata

File hashes

Hashes for py10x_fin_base_cxx-0.1.0rc9-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 9d37e418ed04ec645443dd846cedae0a581146c51df79e8ec5285cfecea7748a
MD5 88bd054f6be29daaf15563e381545c40
BLAKE2b-256 95210310f49b69df69248d267ca0d4edaf83f5168cedaafc8c28a9f312ecab30

See more details on using hashes here.

Provenance

The following attestation bundles were made for py10x_fin_base_cxx-0.1.0rc9-cp311-cp311-win_amd64.whl:

Publisher: finbase_wheel.yml on 10x-software/py10x

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file py10x_fin_base_cxx-0.1.0rc9-cp311-cp311-manylinux_2_34_x86_64.whl.

File metadata

File hashes

Hashes for py10x_fin_base_cxx-0.1.0rc9-cp311-cp311-manylinux_2_34_x86_64.whl
Algorithm Hash digest
SHA256 7dc069b7f85a03c30a07728205bfacb50b4fc3dc993692c540f34a87bcb21123
MD5 e8509e74736765c2c044bad89e720efc
BLAKE2b-256 6f36611a5dd26dfdf309ec0395b7ca441b5c9692659ac146b6e09e477f3a5859

See more details on using hashes here.

Provenance

The following attestation bundles were made for py10x_fin_base_cxx-0.1.0rc9-cp311-cp311-manylinux_2_34_x86_64.whl:

Publisher: finbase_wheel.yml on 10x-software/py10x

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file py10x_fin_base_cxx-0.1.0rc9-cp311-cp311-macosx_13_0_universal2.whl.

File metadata

File hashes

Hashes for py10x_fin_base_cxx-0.1.0rc9-cp311-cp311-macosx_13_0_universal2.whl
Algorithm Hash digest
SHA256 f256feb105d12ebcfcd135ebd17f9fc72e48e8fbe1169a8e8b4a83adf0798918
MD5 c8c60aa724c88ea56ccbaf55cf5f4786
BLAKE2b-256 0624bff1c9cee82478f853ed9a5b7af00c3669c34d96c31144d59b9a09b77571

See more details on using hashes here.

Provenance

The following attestation bundles were made for py10x_fin_base_cxx-0.1.0rc9-cp311-cp311-macosx_13_0_universal2.whl:

Publisher: finbase_wheel.yml on 10x-software/py10x

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page