dal-python
Python bindings for the Derivatives Algorithms Library (DAL) — a high-performance C++17 quantitative finance library with Automatic Adjoint Differentiation (AAD) support.
Features
- Black-Scholes and Dupire models for equity derivatives pricing
- Monte Carlo simulation with pseudo-random and Sobol sequence generators
- AAD Greeks — compute pathwise sensitivities (delta, vega, rho, etc.) in a single simulation
- Script engine — define exotic payoffs using a domain-specific language
- Curve calibration — single-curve, multi-curve, staged XCCY, and joint domestic/foreign/basis calibration with resettable and MTM instruments plus AAD analytic Jacobians
- Type-safe wrappers for
Date_,Matrix_,Cell_, and vector types
Prerequisites
- CPython 3.10-3.13 with development headers
- uv — fast Python package manager (install guide)
- pybind11 2.11.1 — installed automatically for isolated package builds;
repository builds fall back to the pinned
dal-cpp/externals/pybind11submodule, so rungit submodule update --init --recursiveon fresh clones - CMake 3.21+ and a C++17 compiler (GCC 13+, Clang 18+, or MSVC 2022)
- DAL C++ staged install — build core/public first; the canonical workflow is in the installation guide
Building the C++ Library
The Python bindings depend on a compiled DAL C++ staging prefix. Build it first:
cd /path/to/Derivatives-Algorithms-Lib
./build_linux.sh
This produces build/stage/Release-linux/, containing the installed core/public
libraries, headers, and CMake package metadata.
Installation
Development Install (Recommended)
Clone the repository and install in editable mode:
cd Derivatives-Algorithms-Lib/dal-python
# Create a virtual environment with uv
uv venv --python ">=3.10,<3.14"
source .venv/bin/activate # On Windows: .venv\Scripts\activate
# Install dependencies and build the extension
uv pip install -e ".[test]" "--config-settings=cmake.define.DAL_INSTALL_PREFIX=/absolute/path/to/Derivatives-Algorithms-Lib/build/stage/<platform-preset>"
Use an absolute staged-prefix path and replace <platform-preset> with the
preset that built DAL, such as Release-linux or Release-windows. Standalone
dal-python reads the installed CMake packages and automatically applies their
configuration-aware MSVC runtime contract to _dal.
Workspace Build and Test
To provision Python test dependencies and run the bindings through the workspace CTest integration:
bash ../build_linux.sh --full
The workspace script creates or reuses dal-python/.venv, builds the extension,
and runs the configured C++/public/Python tests.
Building Distribution Packages
For production deployment, you can build pre-compiled binary wheels or source distributions. Official PyPI releases contain precompiled wheels only.
Building a Binary Wheel
Binary wheels contain the compiled C++ extension and can be installed without requiring compilation:
DAL_INSTALL_PREFIX=/absolute/path/to/build/stage/Release-linux ./build_wheel.sh
DAL_INSTALL_PREFIX=/absolute/path/to/build/stage/Release-linux ./build_wheel.sh --clean
The platform- and interpreter-tagged wheel is created under dist/.
Install the wheel:
uv pip install dist/dal_python-*.whl
Note: Binary wheels are platform-specific. DAL keeps native-CPU tuning off by
default so distributable builds use the compiler's portable baseline. Do not set
DAL_ENABLE_NATIVE_ARCH=ON for a wheel that must run on unknown machines.
Building a Source Distribution
Source distributions allow users to build from source on any platform:
./build_sdist.sh # Build source distribution
./build_sdist.sh --clean # Clean build artifacts before building
The source archive is created under dist/.
Install from source (requires C++ build tools):
pip install dist/dal_python-2026.8.11.tar.gz \
"--config-settings=cmake.define.DAL_INSTALL_PREFIX=/absolute/path/to/Derivatives-Algorithms-Lib/build/stage/<platform-preset>"
# or
uv pip install dist/dal_python-2026.8.11.tar.gz \
"--config-settings=cmake.define.DAL_INSTALL_PREFIX=/absolute/path/to/Derivatives-Algorithms-Lib/build/stage/<platform-preset>"
Requirements for building from source:
- C++17 compiler (GCC 13+, Clang 18+, or MSVC 2022)
- CMake 3.21+
- pybind11 2.11.1 (declared as an isolated build requirement and installed automatically; repository builds may use the pinned vendored submodule)
- CPython 3.10-3.13 development headers
- DAL staged install containing the
dal-public/dal-cppCMake packages and platform libraries
PyPI Binary Release
The repository release workflow builds and tests this wheel matrix:
| Operating system | Architecture | Wheel platform tag | CPython versions |
|---|---|---|---|
| Linux | x86-64 | manylinux_2_28_x86_64 |
3.10-3.13 |
| Windows | x86-64 | win_amd64 |
3.10-3.13 |
The Linux tag requires glibc 2.28 or newer. macOS, Linux ARM, musllinux, PyPy, free-threaded CPython, source distributions, and CPython 3.14 are not part of the current PyPI release contract.
One-time PyPI setup
Configure a Trusted Publisher on the existing dal-python PyPI project with:
| Field | Value |
|---|---|
| PyPI project | dal-python |
| GitHub owner | wegamekinglc |
| GitHub repository | Derivatives-Algorithms-Lib |
| Workflow filename | dal-python-release.yml |
| GitHub environment | pypi |
Create the matching pypi environment in the GitHub repository and require a
manual deployment approval if the repository plan supports it. The workflow uses
OIDC short-lived credentials; do not add a long-lived PyPI API token.
Release procedure
-
Choose a new PEP 440 version that does not exist on PyPI. Update both
pyproject.tomlandsrc/dal/__init__.py. -
Build and test the workspace with
bash ./build_linux.sh --fullfrom the repository root. Review and merge the version and release-note changes tomasteronly after the exact PR head is green. -
Run the
dal-python wheels and PyPI releaseworkflow manually frommaster. This is a build-only rehearsal. Confirm that eight wheels and the SHA-256 release manifest are present. -
Tag that reviewed
mastercommit and push only the tag:git tag -a dal-python-v<version> -m "Release dal-python <version>" git push origin dal-python-v<version>
-
The tag run rebuilds and tests every wheel, validates the combined manifest, checks that the version is unused on PyPI, then publishes the exact artifacts from the build jobs through the
pypienvironment. -
Verify the PyPI file list contains all eight wheels. In fresh Windows and Linux environments, install
dal-python==<version>, importdal, and confirmdal.__version__equals<version>.
PyPI versions and files are immutable. Never use a skip-existing option to repair
an incomplete release; correct the issue, increment the version, and run the full
process again. Local build_wheel.* scripts are for diagnostics and private
deployment only; their output is not a PyPI release artifact.
Usage
Basic Pricing Example
import dal
# Set evaluation date
dal.EvaluationDate_Set(dal.Date_(2022, 9, 25))
# Define model parameters
spot, vol, rate, div = 100.0, 0.2, 0.05, 0.02
model = dal.BSModelData_New(spot=spot, vol=vol, rate=rate, div=div)
# Define a European call option
strike = 100.0
maturity = dal.Date_(2023, 9, 25)
product = dal.Product_New(
["STRIKE", dal.Cell_(maturity)],
[str(strike), "call pays MAX(spot() - STRIKE, 0.0)"]
)
# Price using Monte Carlo (65,536 paths, Sobol sequences)
result = dal.MonteCarlo_Value(product, model, 2**16, "sobol")
print(f"Call PV: {result['PV']:.4f}")
# Output: Call PV: 9.2259
Computing AAD Greeks
Enable AAD to compute pathwise sensitivities in a single simulation:
result = dal.MonteCarlo_Value(
product, model,
2**14, # num_paths
"sobol", # method
False, # use_bb
True # enable_aad
)
print(f"PV: {result['PV']:.6f}")
for key in sorted(result.keys()):
if key.startswith('d_'):
print(f" {key}: {result[key]:.6f}")
Output:
PV: 9.223019
d_STRIKE: -0.494542
d_div: -58.677195
d_rate: 49.454176
d_spot: 0.586772
d_vol: 37.873346
Working with Dates
import dal
# Create dates
d = dal.Date_(2022, 9, 25)
print(d) # 2022-09-25
# Date arithmetic
d2 = d.AddDays(30)
print(f"Year: {dal.Year(d)}, Month: {dal.Month(d)}, Day: {dal.Day(d)}")
# Date comparisons
d3 = dal.Date_(2022, 10, 25)
print(d < d3) # True
Random Number Generation
# Pseudo-random generator (MRG32k32a algorithm)
pseudo = dal.PseudoRSG_New(42, 3) # seed=42, ndim=3
uniform_samples = dal.PseudoRSG_Get_Uniform(pseudo, 1000) # Returns DoubleMatrix_
normal_samples = dal.PseudoRSG_Get_Normal(pseudo, 1000)
# Sobol quasi-random sequences (better convergence for MC)
sobol = dal.SobolRSG_New(0, 3) # i_path=0, ndim=3
sobol_samples = dal.SobolRSG_Get_Uniform(sobol, 1000)
precise_sobol = dal.SobolRSG_New(
0, 3, precise=True, polish=True
) # opt in to the precise-CDF Newton correction
Dupire Local Volatility Model
# Define a local volatility surface with flat 20% vol
spots = [80.0, 90.0, 100.0, 110.0, 120.0]
times = [0.5, 1.0, 2.0]
vols = dal.DoubleMatrix_(len(spots), len(times), 0.2) # Fill with 20% vol
dupire_model = dal.DupireModelData_New(
spot=100.0,
rate=0.05,
repo=0.01,
spots=spots,
times=times,
vols=vols
)
DoubleMatrix_ also accepts rectangular nested sequences and supports mutable
matrix[i, j] access, so non-flat surfaces can be populated directly.
API Reference
Core Types
dal.Date_(year, month, day)— Date object with arithmetic operationsdal.String_(value)— String wrapperdal.Cell_(value)— Polymorphic value container (bool, double, Date, String)dal.DoubleVector()— Vector of doublesdal.DoubleMatrix_(rows, cols, fill=0.0)ordal.DoubleMatrix_(nested_rows)— mutable 2D matrix of doubles
Models
dal.BSModelData_New(spot, vol, rate, div)— Black-Scholes modeldal.DupireModelData_New(spot, rate, repo, spots, times, vols)— Dupire local vol model
Products
dal.Product_New(dates, events)— Create a script product from event dates and payoff definitionsdal.Product_Debug(product)— Print human-readable product structure
Valuation
dal.MonteCarlo_Value(product, modelData, num_path, method="sobol", use_bb=False, enable_aad=False, smooth=0.01, compiled=None)— Monte Carlo pricing with optional AAD Greeks
Parameters:
product— Script product (fromProduct_New)modelData— Model data (fromBSModelData_NeworDupireModelData_New)num_path— Positive number of simulation paths (powers of 2 are customary for Sobol)method— Random generator:"sobol"(default) or"mrg32"use_bb— Use Brownian bridge construction (defaultFalse)enable_aad— Enable AAD for pathwise Greeks (defaultFalse)smooth— Fuzzy logic smoothing parameter for discontinuous payoffs (default0.01)compiled—Trueselects the compiled evaluator;None/Falseuses tree-walk
Returns: Dictionary with keys:
"PV"— Present value"d_spot","d_vol","d_rate","d_div","d_STRIKE"— AAD Greeks (only ifenable_aad=True)
Random Generators
dal.PseudoRSG_New(seed, ndim=1)— Pseudo-random generator (MRG32k32a)dal.SobolRSG_New(i_path, ndim=1, precise=False, polish=False)— Sobol quasi-random generator;polishenables the Newton correction andpreciseselects its CDF, so the precise-CDF correction requires both flags to beTruedal.PseudoRSG_Get_Uniform(rsg, num_paths)— Uniform samples [0, 1]dal.PseudoRSG_Get_Normal(rsg, num_paths)— Standard normal samplesdal.SobolRSG_Get_Uniform(rsg, num_paths)— Sobol uniform samplesdal.SobolRSG_Get_Normal(rsg, num_paths)— Sobol normal samples
Global State
dal.EvaluationDate_Set(date)— Set the process-wide evaluation date; waits for an in-progress native valuation or scoped overridedal.EvaluationDate_Get()— Read the stable process-wide evaluation date; remains available while valuation runs
Both bindings release the GIL before entering native synchronization.
Testing
Build and run the full workspace suite:
bash ../build_linux.sh --full
After an editable install, run focused Python tests directly:
python -m pytest tests -k "test_date" -v
Tests are located in tests/ and cover:
- Date arithmetic and comparisons
- Vector and matrix operations
- Model construction (BS, Dupire)
- Monte Carlo pricing accuracy vs Black-Scholes analytical formulas
- AAD Greek computation and validation
- Random number generator properties
- Curve construction plus single and staged multi-curve calibration
- Staged XCCY basis calibration, sensitivity matrices, axes, and availability metadata
- Resettable/MTM XCCY construction with immutable fixing snapshots
- Joint domestic/foreign/basis XCCY calibration, including matrix and named-range contracts
Project Structure
dal-python/
├── CMakeLists.txt # Build configuration
├── pyproject.toml # Python package metadata (scikit-build-core)
├── run_tests.sh # Standalone binding test helper
├── src/
│ ├── bindings/
│ │ ├── module.cpp # pybind11 module definition
│ │ ├── bindings.h # shared binding helpers
│ │ ├── core.cpp # core types (Date_, String_, Cell_, vectors, DoubleMatrix_)
│ │ ├── global.cpp # Handle_<T> opaque types, EvaluationDate_Get/Set
│ │ ├── models.cpp # model types (BSModelData_, etc.)
│ │ ├── random.cpp # random number generators
│ │ ├── script.cpp # scripting engine bindings
│ │ ├── calendar.cpp # holiday calendars and business-day conventions
│ │ ├── curve.cpp # curve calibration, instruments, and interpolation
│ │ └── value.cpp # Monte Carlo valuation (MonteCarlo_Value)
│ └── dal/
│ ├── __init__.py # Package initialization
│ └── api.py # High-level Python API wrappers
├── tests/
│ ├── conftest.py # Pytest fixtures
│ └── test_*.py # Test modules
Architecture
The Python bindings are generated by pybind11 from domain-organized binding files. The build process:
- CMake configures the build and locates the DAL C++ libraries plus either the isolated pybind11 build requirement or the pinned repository fallback
- C++ compiler builds
_dal.cpython-*.soextension module from the domain-organizedsrc/bindings/*.cppfiles - scikit-build-core packages everything into an installable wheel
When consuming an installed DAL package under MSVC, CMake applies the package's
DAL_CPP_MSVC_RUNTIME_LIBRARY value to _dal through
dal_cpp_apply_msvc_runtime. The helper is a no-op on other toolchains.
The hand-written Python code in src/dal/ provides:
__init__.py— Re-exports all pybind11-generated symbolsapi.py— Convenience wrappers (e.g.,Product_Newwith automatic type conversion,calibrate_curve(...)for curve calibration)
Curve Calibration
The curve bindings (dal-python/src/bindings/curve.cpp) expose the supported Python
curve-construction and calibration workflows:
- Instrument builders —
Deposit_New,FRA_New,Future_New,Swap_New,OISSwap_New,BasisSwap_New,CrossCurrencySwap_New - Curve factories —
DiscountPWLF_New,DiscountZeroRate_New - Calibration entry points —
CalibrateSingleCurve,CalibrateMultiCurveBundle,CalibrateXccyMarket,CalibrateJointXccyMarket - Enums —
CurveParameterization(PIECEWISE_LINEAR_FWD,PIECEWISE_CONSTANT_FWD,ZERO_RATE,LOG_DISCOUNT),CurveSolveMode(EXACT,APPROXIMATE),CurveJacobianMode(ANALYTIC,BUMPED),LogDfScheme(LOG_LINEAR,LOG_CUBIC_NATURAL,MIXED),XccyNotionalMode(FIXED,RESETTABLE,MARK_TO_MARKET) - Spec builders —
CurveCalibrationSpecBuilder_,CrossCurrencyCalibrationSpecBuilder_, andJointXccyCalibrationSpecBuilder_
The dal.calibrate_curve(...) helper in api.py wraps the common single-curve path with Python-friendly defaults. The underlying C++ methodology is documented in the yield-curve guide and Jacobian guide.
Continuously Compounded Zero-Rate Curves
Build a persistent zero-rate curve directly with future-only nodes:
today = dal.Date_(2026, 1, 2)
node_dates = [dal.Date_(2027, 1, 2), dal.Date_(2028, 1, 2)]
curve = dal.DiscountZeroRate_New(
"usd_zero",
"USD",
today,
node_dates,
[0.02, 0.025],
day_count=dal.DayBasis_("ACT_365F"),
log_df_scheme=dal.LogDfScheme.LOG_LINEAR,
)
Each continuously compounded decimal rate $z_i$ is mapped to
logDF_i = -z_i * YearFrac(today, node_date_i). The anchor log DF is fixed at zero
and has no zero-rate parameter. LOG_LINEAR, LOG_CUBIC_NATURAL, and MIXED all
interpolate the mapped log DFs. Before the anchor, LOG_LINEAR and MIXED clamp the
log DF to zero, while LOG_CUBIC_NATURAL extends its first cubic segment. Beyond the
last node, every scheme uses the last two mapped log-DF nodes as a secant. The returned
DiscountZeroRate_ exposes read-only anchor_date, node_dates, zero_rates,
day_count, and log_df_scheme properties.
For calibration, select CurveParameterization.ZERO_RATE and supply strictly-future
knots. initialGuess_ is a decimal continuously compounded zero rate copied to every
node. Both low-level CalibrateSingleCurve and the convenience helper use the analytic
AAD Jacobian when the normal single-discount-curve eligibility gates are met:
result = dal.calibrate_curve(
today,
"USD",
instruments,
node_dates,
settings={
"parameterization": dal.CurveParameterization.ZERO_RATE,
"log_df_scheme": dal.LogDfScheme.LOG_CUBIC_NATURAL,
"initial_guess": 0.02,
},
jacobian_mode=dal.CurveJacobianMode.ANALYTIC,
base_curve=base_curve, # optional: zero rates are spread coordinates over this base
)
Python exposes single, staged multi-curve, staged XCCY basis, and simultaneous
joint XCCY calibration. A base curve is multiplied into the calibrated component;
it is not a replacement for the pricing discount curve required by a forward-curve stage.
Staged XCCY supports both the backward-compatible
CalibrateXccyMarket(spec) call and CalibrateXccyMarket(spec, options).
CrossCurrencyCalibrationOptions_ defaults to ANALYTIC with
compute_forward_jacobian = True and
compute_eff_jacobian_inverse = True; trailing-underscore property names are
available alongside the snake-case names.
The matrices remain on result.diagnostics. diagnostics.jacobian has
instrument rows and basis-parameter columns;
diagnostics.eff_jacobian_inverse has the reversed axes.
instrument_names follows input order and may contain duplicate labels.
parameter_knot_dates follows the spec's knot order and labels the
piecewise-constant basis curve's right-forward parameters. The diagnostics also
publish residual_tolerance, jacobian_scaling == "unscaled",
eff_jacobian_inverse_scaling == "solver_scaled", and independent
jacobian_availability / eff_jacobian_inverse_availability values:
available, not_requested, or not_available_for_mode.
For a raw decimal quote-bump vector dq, the solver-scaled effective inverse
E maps parameters as dx = E * dq / residual_tolerance. An unavailable
matrix is empty; inspect its availability property to distinguish an explicit
opt-out from a mode limitation.
Resettable and Joint XCCY Calibration
Use CrossCurrencySwapConfigBuilder_ to set the currency pair, notionals, leg
conventions, notional_mode, fx_reset, and explicit domestic_rate_fixing /
foreign_rate_fixing identities. MarketFixingSnapshot_New takes a nested
dictionary whose keys are index names and whose values map DateTime_ objects to
observations. One immutable snapshot can hold domestic rate, foreign rate, and FX
fixings for an already-started swap:
snapshot = dal.MarketFixingSnapshot_New({
"USD-JOINT-3M": {historical_fixing: 0.040},
"EUR-JOINT-3M": {historical_fixing: 0.030},
"FX[EUR/USD]": {historical_fixing: 1.20},
})
JointCurrencyCurveSpec_ holds the ordered domestic or foreign
JointCurveDeclaration_ objects. XccyBasisCurveDeclaration_ holds configured
XCCY instruments and basis knots. Assemble those groups with
JointXccyCalibrationSpecBuilder_, then call
CalibrateJointXccyMarket(builder.build()). The result exposes the domestic and
foreign curve blocks, fx_forward_curve, basis curve, retained snapshot, group
diagnostics, full market/model/residual vectors, analytic Jacobian, effective
inverse, and named parameter_ranges / residual_ranges. Pass
JointXccyCalibrationOptions_ to select ANALYTIC or BUMPED and to disable
either diagnostic matrix. The eff_jacobian_inverse matrix has shape
totalParameters x totalResiduals and is the weighted inverse of the solver's
tolerance-scaled Jacobian. Transforming a raw decimal quote bump therefore
requires division by the spec's tolerance_; see the
Jacobian methodology.
The runnable joint XCCY calibration example
uses an explicit fixing snapshot for a started MTM trade. It prints convergence,
the maximum absolute residual, Jacobian dimensions, named parameter and residual
half-open ranges, and every FX-forward date and value. With the dal package
installed in the active environment, run it from the repository root:
python dal-python/examples/007.xccy_joint_calibration.py
Troubleshooting
"Cannot find DAL::public" during build
Ensure DAL_INSTALL_PREFIX points to the correct staged DAL installation:
<stage>/lib/cmake/dal-public/dal-publicConfig.cmake
<stage>/lib/cmake/dal-cpp/dal-cppConfig.cmake
<stage>/include/dal/
The library files beside the package metadata use the platform's native suffix,
such as .a on Linux or .lib on Windows; do not diagnose the prefix by
assuming one suffix.
"ImportError: No module named _dal"
The extension module failed to build. Check the build logs:
uv pip install --reinstall -e . -v "--config-settings=cmake.define.DAL_INSTALL_PREFIX=/absolute/path/to/build/stage/<platform-preset>"
Replace <platform-preset> with the stage produced by the active compiler and
configuration.
Tests fail with "ModuleNotFoundError"
Ensure you're using the virtual environment:
uv run --no-sync python -c "import dal; print(dal.__version__)"
License
MIT License. See the repository LICENSE.
Contributing
Follow the repository contributor guide. Binding changes should include Python tests and updates to the public API guide when the supported surface changes.
See Also
- DAL C++ Library — Workspace overview
- Installation guide — Canonical setup commands
- Public API guide — C++, Python, and Excel entry points
- pybind11 Documentation — pybind11 binding syntax
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distributions
Built Distributions
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file dal_python-2026.8.11-cp313-cp313-win_amd64.whl.
File metadata
- Download URL: dal_python-2026.8.11-cp313-cp313-win_amd64.whl
- Upload date:
- Size: 3.2 MB
- Tags: CPython 3.13, Windows x86-64
- Uploaded using Trusted Publishing? Yes
- Uploaded via:
twine/7.0.0 CPython/3.13.14
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
7041654b264dde8b9c46c80b6056c3627370028bba8ae6d19b41b407cc5df7b9
|
|
| MD5 |
123ab5441698b3caa78271bf03207a5a
|
|
| BLAKE2b-256 |
59a3d2300a65cbe30baa0df6af714d1d23eea9035bb43c1db6f4049b82d13b9d
|
Provenance
The following attestation bundles were made for dal_python-2026.8.11-cp313-cp313-win_amd64.whl:
Publisher:
dal-python-release.yml on wegamekinglc/Derivatives-Algorithms-Lib
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
dal_python-2026.8.11-cp313-cp313-win_amd64.whl -
Subject digest:
7041654b264dde8b9c46c80b6056c3627370028bba8ae6d19b41b407cc5df7b9 - Sigstore transparency entry: 2410896465
- Sigstore integration time:
-
Permalink:
wegamekinglc/Derivatives-Algorithms-Lib@697542b2b0c9ab461e13d26eb147dcddccde3ff9 -
Branch / Tag:
refs/tags/dal-python-v2026.8.11 - Owner: https://github.com/wegamekinglc
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
dal-python-release.yml@697542b2b0c9ab461e13d26eb147dcddccde3ff9 -
Trigger Event:
push
-
Statement type:
File details
Details for the file dal_python-2026.8.11-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl.
File metadata
- Download URL: dal_python-2026.8.11-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
- Upload date:
- Size: 3.9 MB
- Tags: CPython 3.13, manylinux: glibc 2.27+ x86-64, manylinux: glibc 2.28+ x86-64
- Uploaded using Trusted Publishing? Yes
- Uploaded via:
twine/7.0.0 CPython/3.13.14
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
b930d0f434158fdd0e2b858e9726856579a8828e65091121b1abaf57a16c72f8
|
|
| MD5 |
a9f9a09bba9fdb93f35e3ced18273676
|
|
| BLAKE2b-256 |
45b6e865909147debf1387c0dda3ce7f2b0635eff0efeea9060d2b92504341c6
|
Provenance
The following attestation bundles were made for dal_python-2026.8.11-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl:
Publisher:
dal-python-release.yml on wegamekinglc/Derivatives-Algorithms-Lib
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
dal_python-2026.8.11-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl -
Subject digest:
b930d0f434158fdd0e2b858e9726856579a8828e65091121b1abaf57a16c72f8 - Sigstore transparency entry: 2410892786
- Sigstore integration time:
-
Permalink:
wegamekinglc/Derivatives-Algorithms-Lib@697542b2b0c9ab461e13d26eb147dcddccde3ff9 -
Branch / Tag:
refs/tags/dal-python-v2026.8.11 - Owner: https://github.com/wegamekinglc
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
dal-python-release.yml@697542b2b0c9ab461e13d26eb147dcddccde3ff9 -
Trigger Event:
push
-
Statement type:
File details
Details for the file dal_python-2026.8.11-cp312-cp312-win_amd64.whl.
File metadata
- Download URL: dal_python-2026.8.11-cp312-cp312-win_amd64.whl
- Upload date:
- Size: 3.2 MB
- Tags: CPython 3.12, Windows x86-64
- Uploaded using Trusted Publishing? Yes
- Uploaded via:
twine/7.0.0 CPython/3.13.14
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
4dbcc2375386c1fe7d3dd1687f6c1d4eb6f511169df77097500a58a344baeb63
|
|
| MD5 |
58d00656766944de9340dd7bdb971948
|
|
| BLAKE2b-256 |
61d90cb67eab71bf2cbd679f893cf84eb8369159cbe7f9fbf70e9cf64d54053c
|
Provenance
The following attestation bundles were made for dal_python-2026.8.11-cp312-cp312-win_amd64.whl:
Publisher:
dal-python-release.yml on wegamekinglc/Derivatives-Algorithms-Lib
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
dal_python-2026.8.11-cp312-cp312-win_amd64.whl -
Subject digest:
4dbcc2375386c1fe7d3dd1687f6c1d4eb6f511169df77097500a58a344baeb63 - Sigstore transparency entry: 2410893374
- Sigstore integration time:
-
Permalink:
wegamekinglc/Derivatives-Algorithms-Lib@697542b2b0c9ab461e13d26eb147dcddccde3ff9 -
Branch / Tag:
refs/tags/dal-python-v2026.8.11 - Owner: https://github.com/wegamekinglc
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
dal-python-release.yml@697542b2b0c9ab461e13d26eb147dcddccde3ff9 -
Trigger Event:
push
-
Statement type:
File details
Details for the file dal_python-2026.8.11-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl.
File metadata
- Download URL: dal_python-2026.8.11-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
- Upload date:
- Size: 3.9 MB
- Tags: CPython 3.12, manylinux: glibc 2.27+ x86-64, manylinux: glibc 2.28+ x86-64
- Uploaded using Trusted Publishing? Yes
- Uploaded via:
twine/7.0.0 CPython/3.13.14
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
0c33910c3be73ba52f4b2633114e0b14da2c7a33961913380a0d86ea51e0da13
|
|
| MD5 |
983ceed5baf8fcbd06a84430d720457b
|
|
| BLAKE2b-256 |
1ef8aab013be459c28c7cad17ef4e954b1132b9d1d4f832867bcd2085619ac08
|
Provenance
The following attestation bundles were made for dal_python-2026.8.11-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl:
Publisher:
dal-python-release.yml on wegamekinglc/Derivatives-Algorithms-Lib
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
dal_python-2026.8.11-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl -
Subject digest:
0c33910c3be73ba52f4b2633114e0b14da2c7a33961913380a0d86ea51e0da13 - Sigstore transparency entry: 2410894204
- Sigstore integration time:
-
Permalink:
wegamekinglc/Derivatives-Algorithms-Lib@697542b2b0c9ab461e13d26eb147dcddccde3ff9 -
Branch / Tag:
refs/tags/dal-python-v2026.8.11 - Owner: https://github.com/wegamekinglc
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
dal-python-release.yml@697542b2b0c9ab461e13d26eb147dcddccde3ff9 -
Trigger Event:
push
-
Statement type:
File details
Details for the file dal_python-2026.8.11-cp311-cp311-win_amd64.whl.
File metadata
- Download URL: dal_python-2026.8.11-cp311-cp311-win_amd64.whl
- Upload date:
- Size: 3.2 MB
- Tags: CPython 3.11, Windows x86-64
- Uploaded using Trusted Publishing? Yes
- Uploaded via:
twine/7.0.0 CPython/3.13.14
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
73cb90988adabe4d1df8878792c35dc8e8332b96cc80cf943756b5700129476e
|
|
| MD5 |
2482134f5c1b5bed2bb9d81173b1ba8d
|
|
| BLAKE2b-256 |
719db586f101b27d5963dfb67847ffd2503a4ffebadab8fd2192e0d4e859cee9
|
Provenance
The following attestation bundles were made for dal_python-2026.8.11-cp311-cp311-win_amd64.whl:
Publisher:
dal-python-release.yml on wegamekinglc/Derivatives-Algorithms-Lib
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
dal_python-2026.8.11-cp311-cp311-win_amd64.whl -
Subject digest:
73cb90988adabe4d1df8878792c35dc8e8332b96cc80cf943756b5700129476e - Sigstore transparency entry: 2410896948
- Sigstore integration time:
-
Permalink:
wegamekinglc/Derivatives-Algorithms-Lib@697542b2b0c9ab461e13d26eb147dcddccde3ff9 -
Branch / Tag:
refs/tags/dal-python-v2026.8.11 - Owner: https://github.com/wegamekinglc
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
dal-python-release.yml@697542b2b0c9ab461e13d26eb147dcddccde3ff9 -
Trigger Event:
push
-
Statement type:
File details
Details for the file dal_python-2026.8.11-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl.
File metadata
- Download URL: dal_python-2026.8.11-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
- Upload date:
- Size: 3.9 MB
- Tags: CPython 3.11, manylinux: glibc 2.27+ x86-64, manylinux: glibc 2.28+ x86-64
- Uploaded using Trusted Publishing? Yes
- Uploaded via:
twine/7.0.0 CPython/3.13.14
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
93078208a06598cf5f6d1a141400feeceb09f9d8f5a78ad64a0b40e5f947fa0d
|
|
| MD5 |
59e7479540b244712ed686db64b78233
|
|
| BLAKE2b-256 |
68f723c7173be49fb5c58764ce480afb987d23251f4dc38ea12ac781efc1ee70
|
Provenance
The following attestation bundles were made for dal_python-2026.8.11-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl:
Publisher:
dal-python-release.yml on wegamekinglc/Derivatives-Algorithms-Lib
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
dal_python-2026.8.11-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl -
Subject digest:
93078208a06598cf5f6d1a141400feeceb09f9d8f5a78ad64a0b40e5f947fa0d - Sigstore transparency entry: 2410892260
- Sigstore integration time:
-
Permalink:
wegamekinglc/Derivatives-Algorithms-Lib@697542b2b0c9ab461e13d26eb147dcddccde3ff9 -
Branch / Tag:
refs/tags/dal-python-v2026.8.11 - Owner: https://github.com/wegamekinglc
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
dal-python-release.yml@697542b2b0c9ab461e13d26eb147dcddccde3ff9 -
Trigger Event:
push
-
Statement type:
File details
Details for the file dal_python-2026.8.11-cp310-cp310-win_amd64.whl.
File metadata
- Download URL: dal_python-2026.8.11-cp310-cp310-win_amd64.whl
- Upload date:
- Size: 3.2 MB
- Tags: CPython 3.10, Windows x86-64
- Uploaded using Trusted Publishing? Yes
- Uploaded via:
twine/7.0.0 CPython/3.13.14
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
0d0bc84b5f0ec7ab47af2f3526b7aa497e9f4c83ae935d8ca43b7dd89449c20e
|
|
| MD5 |
d82caa5ca97c7d3daa0a14ac6099b1ba
|
|
| BLAKE2b-256 |
a6a293cbb303126764c447f35d52243605cd1ca8a88a85f9c97b469dbea37197
|
Provenance
The following attestation bundles were made for dal_python-2026.8.11-cp310-cp310-win_amd64.whl:
Publisher:
dal-python-release.yml on wegamekinglc/Derivatives-Algorithms-Lib
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
dal_python-2026.8.11-cp310-cp310-win_amd64.whl -
Subject digest:
0d0bc84b5f0ec7ab47af2f3526b7aa497e9f4c83ae935d8ca43b7dd89449c20e - Sigstore transparency entry: 2410894719
- Sigstore integration time:
-
Permalink:
wegamekinglc/Derivatives-Algorithms-Lib@697542b2b0c9ab461e13d26eb147dcddccde3ff9 -
Branch / Tag:
refs/tags/dal-python-v2026.8.11 - Owner: https://github.com/wegamekinglc
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
dal-python-release.yml@697542b2b0c9ab461e13d26eb147dcddccde3ff9 -
Trigger Event:
push
-
Statement type:
File details
Details for the file dal_python-2026.8.11-cp310-cp310-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl.
File metadata
- Download URL: dal_python-2026.8.11-cp310-cp310-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
- Upload date:
- Size: 3.9 MB
- Tags: CPython 3.10, manylinux: glibc 2.27+ x86-64, manylinux: glibc 2.28+ x86-64
- Uploaded using Trusted Publishing? Yes
- Uploaded via:
twine/7.0.0 CPython/3.13.14
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
9756a74f0b62093587b54ab150805c52f303075a17b0232c6ebf74178dac3b24
|
|
| MD5 |
616198f0873a0d762f024324f0487b63
|
|
| BLAKE2b-256 |
a186ed1dd41153ad976ca44e5e94d62877075572af5a3fa20c38f053c31923b5
|
Provenance
The following attestation bundles were made for dal_python-2026.8.11-cp310-cp310-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl:
Publisher:
dal-python-release.yml on wegamekinglc/Derivatives-Algorithms-Lib
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
dal_python-2026.8.11-cp310-cp310-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl -
Subject digest:
9756a74f0b62093587b54ab150805c52f303075a17b0232c6ebf74178dac3b24 - Sigstore transparency entry: 2410895358
- Sigstore integration time:
-
Permalink:
wegamekinglc/Derivatives-Algorithms-Lib@697542b2b0c9ab461e13d26eb147dcddccde3ff9 -
Branch / Tag:
refs/tags/dal-python-v2026.8.11 - Owner: https://github.com/wegamekinglc
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
dal-python-release.yml@697542b2b0c9ab461e13d26eb147dcddccde3ff9 -
Trigger Event:
push
-
Statement type: