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

Uploaded CPython 3.12Windows x86-64

py10x_fin_base_cxx-0.1.0rc7-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.0rc7-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.0rc7-cp311-cp311-win_amd64.whl (86.6 kB view details)

Uploaded CPython 3.11Windows x86-64

py10x_fin_base_cxx-0.1.0rc7-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.0rc7-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.0rc7-cp312-cp312-win_amd64.whl.

File metadata

File hashes

Hashes for py10x_fin_base_cxx-0.1.0rc7-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 79737ae5df38ce7e53e55bc53b1bee8e5d0deb055f7d0ba77cbf78c2cef8e111
MD5 cb775671d64a94323be17e1a7f18483f
BLAKE2b-256 a702dd7922cb32d6977ce8b6accce85c7ed006a264ecd4d8e1ef940978459f1b

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for py10x_fin_base_cxx-0.1.0rc7-cp312-cp312-manylinux_2_34_x86_64.whl
Algorithm Hash digest
SHA256 c1c499e7ece7a159ef11df6b85280c6173535fb80f9775c4403cace61916b9c8
MD5 bbf56d4f8c4bc18203d8243bf1bd219a
BLAKE2b-256 a2193e8f664aa5e6113c8acb1dfec61d702b1b23c6156bc972dec578ea399433

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for py10x_fin_base_cxx-0.1.0rc7-cp312-cp312-macosx_13_0_universal2.whl
Algorithm Hash digest
SHA256 6d2b5c836f47c1d1bdbcd25e67c2898e67449299625569b68ae163c894198a77
MD5 0b59c5ef9e2b500b19c86910f2bb789e
BLAKE2b-256 a093b3c34aeabaf4ce29ddf66199efe0e3f54c78294534072200d8301d731525

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for py10x_fin_base_cxx-0.1.0rc7-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 95254dfc8c3f1ae794229396aea13bcc232ada606c99132e7b152874be105a96
MD5 6932f147600175640f2593bbf1358a4f
BLAKE2b-256 187eb21dd7346ba53cda13b237e4205716361bf4a0fdfd27a0c129038f0b11ec

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for py10x_fin_base_cxx-0.1.0rc7-cp311-cp311-manylinux_2_34_x86_64.whl
Algorithm Hash digest
SHA256 928071079400786bfab3e1663dcd2204d1cac18a2fab883634c07a712d96a725
MD5 5d1c785e98b76e6d966db2110aad7647
BLAKE2b-256 996b72a7133f479e2a7e8baa1a34bf4950cdfbb8d5fbad6018363c343a239b10

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for py10x_fin_base_cxx-0.1.0rc7-cp311-cp311-macosx_13_0_universal2.whl
Algorithm Hash digest
SHA256 ef3f6d60fbd37acda6a3373477aa2ceae18abb1467f11390212e43f56fc71a81
MD5 9088bf3e893fcbca7561f8edc359f5b2
BLAKE2b-256 2294d9ad6bc5e68031d481e75eac3fe7e483cd7f510358e678cf9a170cee9b53

See more details on using hashes here.

Provenance

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