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

Uploaded CPython 3.12Windows x86-64

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

Uploaded CPython 3.11Windows x86-64

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

File metadata

File hashes

Hashes for py10x_fin_base_cxx-0.1.0rc8-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 dabcae1c8c61e28f2f5a0e324218e71382b4ee1b1999126ba1122881247f20e4
MD5 bbad6ebd914586aa184b5fdf16cf88e7
BLAKE2b-256 f3170fa531cbc41f9ea3ae9301e206962c7b1b3153f8adaf38cf8c9bb6a671e5

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for py10x_fin_base_cxx-0.1.0rc8-cp312-cp312-manylinux_2_34_x86_64.whl
Algorithm Hash digest
SHA256 52b1599ed43a33d999408aee1db4fd01cb048083b516057df84a27411e1a4c70
MD5 3f8d31a0da64a860d895677576e5d5e4
BLAKE2b-256 93ca4df8572aac9cef4256749e158bfaa3b2a1c5c2099bdc765b5a65f6e9cc7e

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for py10x_fin_base_cxx-0.1.0rc8-cp312-cp312-macosx_13_0_universal2.whl
Algorithm Hash digest
SHA256 13470a0983d48fac1c6794d6d67a5778a6195b2a4447b21ab96cc6640f26794e
MD5 0748aef116160e8769fce624e1db0cf1
BLAKE2b-256 d5bef42697a7665e303b9ceccfe5d5013b7d5a772866dd0845319430e1a0b62d

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for py10x_fin_base_cxx-0.1.0rc8-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 8c70f607842692ca79cfe93a8c00c18fd7e03455ec6d67968034cb2c4c13bd0e
MD5 e34f50ee48d0d29567d1bac6c2e0079f
BLAKE2b-256 81a3e069bd2da59d1dc7e4206c5b894b063c85819e3c939e268211bd49ebad87

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for py10x_fin_base_cxx-0.1.0rc8-cp311-cp311-manylinux_2_34_x86_64.whl
Algorithm Hash digest
SHA256 ba052f68cd942d74f1b7ac75ce0f1e906446c38a48db2b0dc9e4759f081f6941
MD5 a03040218f917e21326dfab7d394fd41
BLAKE2b-256 0ed7812de7fe1b29b8f7c605ab4902f9e8a96529118ae3ce11136610164ced6e

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for py10x_fin_base_cxx-0.1.0rc8-cp311-cp311-macosx_13_0_universal2.whl
Algorithm Hash digest
SHA256 8197eef32481080969535f0e9130b2ceb76666d22d27919e88f24db219542a80
MD5 b2151bd18b0b6316fa9c02eeda01f100
BLAKE2b-256 f6a94a0f3608b8145b34336b65aca2ce516f86bd7793906255cf031bbc7a9b2a

See more details on using hashes here.

Provenance

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