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.0rc5-cp312-cp312-win_amd64.whl (86.3 kB view details)

Uploaded CPython 3.12Windows x86-64

py10x_fin_base_cxx-0.1.0rc5-cp312-cp312-manylinux_2_34_x86_64.whl (99.2 kB view details)

Uploaded CPython 3.12manylinux: glibc 2.34+ x86-64

py10x_fin_base_cxx-0.1.0rc5-cp312-cp312-macosx_13_0_universal2.whl (164.8 kB view details)

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

py10x_fin_base_cxx-0.1.0rc5-cp311-cp311-win_amd64.whl (85.7 kB view details)

Uploaded CPython 3.11Windows x86-64

py10x_fin_base_cxx-0.1.0rc5-cp311-cp311-manylinux_2_34_x86_64.whl (99.0 kB view details)

Uploaded CPython 3.11manylinux: glibc 2.34+ x86-64

py10x_fin_base_cxx-0.1.0rc5-cp311-cp311-macosx_13_0_universal2.whl (164.5 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.0rc5-cp312-cp312-win_amd64.whl.

File metadata

File hashes

Hashes for py10x_fin_base_cxx-0.1.0rc5-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 d2d78012dc92b562bce0eb50becbc97edb702c9ee728e33db114e32fd66e3ae6
MD5 366792869ddd603794120e63182fb19a
BLAKE2b-256 8427ce4488daef0100fad58c4439da1b4b34480385686f72d8ae986e1b28dfb5

See more details on using hashes here.

Provenance

The following attestation bundles were made for py10x_fin_base_cxx-0.1.0rc5-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.0rc5-cp312-cp312-manylinux_2_34_x86_64.whl.

File metadata

File hashes

Hashes for py10x_fin_base_cxx-0.1.0rc5-cp312-cp312-manylinux_2_34_x86_64.whl
Algorithm Hash digest
SHA256 1e55c95e15a878e2ad699770b4fb153f0f55e4198ac018e9e584f20cd019ea4e
MD5 3c6679c639c52f91faa34f2bb62486d3
BLAKE2b-256 2ba7e9e8be9b6e66642149b048c14ef5d70062973d1d8174459b5d435abfeb0f

See more details on using hashes here.

Provenance

The following attestation bundles were made for py10x_fin_base_cxx-0.1.0rc5-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.0rc5-cp312-cp312-macosx_13_0_universal2.whl.

File metadata

File hashes

Hashes for py10x_fin_base_cxx-0.1.0rc5-cp312-cp312-macosx_13_0_universal2.whl
Algorithm Hash digest
SHA256 697a0fa44fafb5b2687475e5d1e7c2ec5fd5c4e77038977dddd3cb567a14dab4
MD5 327019a4b7f1ef598765d8aedd2337e2
BLAKE2b-256 a686bd12a2b9bf57e50918d53ee1ef31f6de30018f8c89ce52005ed1f6c2fdcd

See more details on using hashes here.

Provenance

The following attestation bundles were made for py10x_fin_base_cxx-0.1.0rc5-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.0rc5-cp311-cp311-win_amd64.whl.

File metadata

File hashes

Hashes for py10x_fin_base_cxx-0.1.0rc5-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 95a94a3f7cac02c4a4eff65b26024d12cb1b9d125d9f78c4f22b203cf8c8488b
MD5 44471222be6035681d044307005fd5f6
BLAKE2b-256 17f652146dc6b9e828748d17f32a12a3141bfaa8890e09ff1d7957681094d1f4

See more details on using hashes here.

Provenance

The following attestation bundles were made for py10x_fin_base_cxx-0.1.0rc5-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.0rc5-cp311-cp311-manylinux_2_34_x86_64.whl.

File metadata

File hashes

Hashes for py10x_fin_base_cxx-0.1.0rc5-cp311-cp311-manylinux_2_34_x86_64.whl
Algorithm Hash digest
SHA256 15b7ebf61d796ae34c2f2b7871f62e7c928048120ed8ed2dccdbd1aa38104d78
MD5 a4ce320ee9b07548769ea29229ba5480
BLAKE2b-256 18e9409640347182e0fdf0946b38b9f20562a8409e5064d65e155d92f823a688

See more details on using hashes here.

Provenance

The following attestation bundles were made for py10x_fin_base_cxx-0.1.0rc5-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.0rc5-cp311-cp311-macosx_13_0_universal2.whl.

File metadata

File hashes

Hashes for py10x_fin_base_cxx-0.1.0rc5-cp311-cp311-macosx_13_0_universal2.whl
Algorithm Hash digest
SHA256 0744abd15ebf808b2dffb35d1ca87211305fd0406fc5f65cd4177ad865dbdc79
MD5 bcb85d96672c478a5da8b6aed4b922e4
BLAKE2b-256 379c2cb549748524b1f0e7e536de4d1d647fb8e6b57bec1a2045f2ebf8d35f2c

See more details on using hashes here.

Provenance

The following attestation bundles were made for py10x_fin_base_cxx-0.1.0rc5-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