Skip to main content

aadc-quantlib-tracing

The aadc-quantlib build that can tell you which line of C++ produced each number.

This is QuantLib 1.41 with Real = idoubleNG, the same AADC type as aadc-quantlib, compiled through the AADC source-tracing pass. What it adds is attribution: after recording, every hardcoded constant and every frozen branch inside the library can be traced back to the C++ file, line and enclosing function that produced it.

It is a diagnostic and model-validation build, not the production one. Install aadc-quantlib for pricing; install this alongside it when you need to answer "where did this number come from?".

How it differs from aadc-quantlib. This build is the level 1 integration: stock QuantLib with Real bound to the AADC type and nothing else changed, so the attribution points at QuantLib's own code. aadc-quantlib carries AAD-aware replacements for some numerics (solvers, bootstraps), which record fewer frozen branches. Prices and sensitivities agree at the point of recording. When a recorded tape is replayed far from that point, this build follows more frozen branches than aadc-quantlib and can drift where the production wheel would not — treat its tapes as a diagnostic of this recording, and re-record rather than reuse them for bump-and-replay at distant inputs.

Install

Pick the QuantLib line that matches your aadc-quantlib: the wheel's version starts with the QuantLib version it wraps (1.38.* is QuantLib 1.38, 1.41.* is QuantLib 1.41), and several lines are published under this one name.

pip install "aadc-quantlib-tracing==1.41.*"

An unpinned pip install aadc-quantlib-tracing resolves to the newest release across every line, which is not necessarily the line of the aadc-quantlib you already have.

Linux x86-64 only, CPython 3.10–3.14. There is no macOS, Windows or arm64 build: the tracing pass is an LLVM plugin that runs in one container image. aadc-quantlib itself ships on all four platforms — only this variant is restricted.

It installs beside aadc-quantlib rather than replacing it: separate distribution, separate import name, so both can be present in one environment and you choose per import. Do not expect import aadc_quantlib to pick this up.

The import is aadc_quantlib_tracing

from aadc_quantlib_tracing import QuantLib as ql

What it shows you

import aadc
from aadc_quantlib_tracing import QuantLib as ql

f = aadc.Functions()
f.start_recording(trace=True, trace_inputs_as_random=True)
# ... build and price an instrument with the QuantLib API ...
f.stop_recording()

for leaf in f.traced_leaves():
    print(f"{leaf['file']}:{leaf['line']}  {leaf['function']}  = {leaf['value']}")

for w in f.passive_warnings():
    print(f"frozen branch at {w['file']}:{w['line']}")

traced_leaves() reports the constants the library itself supplies — day-count denominators, tolerances, comparison epsilons — each with its declaration site and its record-time value. passive_warnings() reports every place a decision was frozen into the tape at recording time, which is where a replay at different inputs can silently follow the wrong branch.

Together they answer a question no amount of reading the Python can: what does this pricing actually depend on, including the parts nobody passed in?

Costs, stated plainly

  • Size. ~43 MB per wheel against ~32 MB for aadc-quantlib, and the unpacked library is substantially larger — the attribution index is ~34 MB of the shipped libQuantLib.
  • Not faster. Tracing changes what the recording remembers, not how fast it replays. Use aadc-quantlib for throughput.
  • Attribution follows inlining. It is compiled -O2 -g, which is what makes the attribution point at real call sites. Do not expect debugger-grade stepping.

What it does not contain

The shipped library carries no DWARF debug sections and no symbol table — it is stripped like any release build. The attribution index stores source locations, not source text: no QuantLib or Matlogica source code is embedded in the wheel.

Licence

Proprietary — Matlogica. LICENSE.txt in the installed aadc_quantlib_tracing-<version>.dist-info/licenses/ is the AADC Community Edition Licence Agreement; non-commercial and academic use only, with commercial and full-performance academic licences available from info@matlogica.com. THIRD-PARTY-NOTICES.txt beside it covers QuantLib, Boost and the other bundled third-party components.

importlib.metadata.version("aadc-quantlib-tracing") reports the wheel version.

Metadata

Release files for aadc-quantlib-tracing 1.41.1

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Built distributions (wheels)

Table of built distributions (wheels) for aadc-quantlib-tracing 1.41.1
File Actions
aadc_quantlib_tracing-1.41.1-cp314-cp314-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl CPython 3.14 CPython 3.14 Linux glibc 2.24+ x86-64, Linux glibc 2.28+ x86-64 Details for aadc_quantlib_tracing-1.41.1-cp314-cp314-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
aadc_quantlib_tracing-1.41.1-cp313-cp313-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl CPython 3.13 CPython 3.13 Linux glibc 2.24+ x86-64, Linux glibc 2.28+ x86-64 Details for aadc_quantlib_tracing-1.41.1-cp313-cp313-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
aadc_quantlib_tracing-1.41.1-cp312-cp312-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl CPython 3.12 CPython 3.12 Linux glibc 2.24+ x86-64, Linux glibc 2.28+ x86-64 Details for aadc_quantlib_tracing-1.41.1-cp312-cp312-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
aadc_quantlib_tracing-1.41.1-cp311-cp311-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl CPython 3.11 CPython 3.11 Linux glibc 2.24+ x86-64, Linux glibc 2.28+ x86-64 Details for aadc_quantlib_tracing-1.41.1-cp311-cp311-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
aadc_quantlib_tracing-1.41.1-cp310-cp310-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl CPython 3.10 CPython 3.10 Linux glibc 2.24+ x86-64, Linux glibc 2.28+ x86-64 Details for aadc_quantlib_tracing-1.41.1-cp310-cp310-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl

Total release size: 241.2 MB

Release files / aadc_quantlib_tracing-1.41.1-cp314-cp314-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl

Download URL aadc_quantlib_tracing-1.41.1-cp314-cp314-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
Size 48.3 MB
Tags CPython 3.14 Linux glibc 2.24+ x86-64 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
1f4ea5c8184e410193f1ce5a6fe31deea7cfedfe591583f5ab482e02d4e993a5
BLAKE2b-256 checksum
How to use checksums
85928fbde4871143df092577310f142260c21b5971591a20c806fc360169b68a
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.11.2

Release files / aadc_quantlib_tracing-1.41.1-cp313-cp313-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl

Download URL aadc_quantlib_tracing-1.41.1-cp313-cp313-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
Size 48.3 MB
Tags CPython 3.13 Linux glibc 2.24+ x86-64 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
fcf779e113642b21f637d7fca1df487707db180d2dc9a93f24f702d4b06969a6
BLAKE2b-256 checksum
How to use checksums
b15e2467b0b2d4ed25c2ef47ab72257d09ca286356643f52899e7a80ec25d906
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.11.2

Release files / aadc_quantlib_tracing-1.41.1-cp312-cp312-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl

Download URL aadc_quantlib_tracing-1.41.1-cp312-cp312-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
Size 48.3 MB
Tags CPython 3.12 Linux glibc 2.24+ x86-64 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
98af8eae6a684973974846fbb14fc77bab3edb0f0ad5ef1fc22fd7d92779a29b
BLAKE2b-256 checksum
How to use checksums
267d77c49981fb7aa0e49b2b0e0bd1e7070bc95b909f5e291484dbae10c09d51
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.11.2

Release files / aadc_quantlib_tracing-1.41.1-cp311-cp311-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl

Download URL aadc_quantlib_tracing-1.41.1-cp311-cp311-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
Size 48.2 MB
Tags CPython 3.11 Linux glibc 2.24+ x86-64 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
76f5b6e0a6c5c475c3643c29d6ffd8fe25299adae7c919a6eae8548825b37c45
BLAKE2b-256 checksum
How to use checksums
d7468ed1a7c105d2f2fc31753f8ca64a7c86d0367c8871dc67442225e5089798
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.11.2

Release files / aadc_quantlib_tracing-1.41.1-cp310-cp310-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl

Download URL aadc_quantlib_tracing-1.41.1-cp310-cp310-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
Size 48.2 MB
Tags CPython 3.10 Linux glibc 2.24+ x86-64 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
1522b7464c61dd33915ddec8b0bf28a26d6fc2c5df26585beb801c62da67d786
BLAKE2b-256 checksum
How to use checksums
945fa409182900104d6d52fd3c316980e512bc79aea732b23d6ab8c7e59b54cd
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.11.2

Security for aadc-quantlib-tracing 1.41.1

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page