Skip to content

Commit ce5f01d

Browse files
docs: QuantLibAAD naming, migration notes and 1.41.0 changelog
1 parent 433d3ca commit ce5f01d

63 files changed

Lines changed: 187 additions & 169 deletions

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

‎CHANGELOG.md‎

Lines changed: 7 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,17 +1,21 @@
11
# ChangeLog
22

33
This log is to be read in conjunction with [ChangeLog.txt](./ChangeLog.txt).
4-
It lists the QuantLib-Risks specific changes on top of what is already listed in
4+
It lists the QuantLibAAD (formerly QuantLib-Risks) specific changes on top of what is already listed in
55
the underlying QuantLib-SWIG changelog.
66

77
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
88
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
99

1010
## [1.41.0] - Unreleased
1111

12+
- Renamed QuantLib-Risks -> QuantLibAAD: `pip install QuantLibAAD`, `import QuantLibAAD`
13+
- `QuantLib-Risks` 1.41.0 is a deprecated shim (`shim/`) that requires `QuantLibAAD==1.41.*` and
14+
re-exports it as `QuantLib_Risks` with a `DeprecationWarning`
15+
- Anyone pinned to `QuantLib-Risks==1.33.3` must also pin `xad<2`
1216
- Matches QuantLib and QuantLib Python bindings version 1.41
1317
- Builds against QuantLibAAD 1.41 (formerly QuantLib-Risks-Cpp) and the shared libxad of the installed xad 2.2 package (`xad>=2.2,<2.3`), which is not bundled
14-
- Tapes are shared with xad through libxad, thread-local per Python thread; QuantLib no longer patches `xad.adj_1st.Tape`
18+
- Tapes are shared with xad through libxad, thread-local per Python thread
1519
- Builds the unmodified QuantLib 1.41 release, no QuantLib patches
1620
- One-step build with scikit-build-core; wheels for Python 3.10-3.14 on Linux, macOS and Windows
1721
- `tools/sync-swig.sh` syncs `SWIG/` with a QuantLib-SWIG release, re-applying the XAD changes in `SWIG/patches/`
@@ -32,7 +36,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
3236
Initial release, matching QuantLib Python bindings version 1.33
3337

3438

35-
[1.41.0]: https://github.com/auto-differentiation/QuantLib-Risks-Py/compare/v1.33.3...v1.41.0
39+
[1.41.0]: https://github.com/auto-differentiation/QuantLibAAD-Py/compare/v1.33.3...v1.41.0
3640

3741
[1.33.3]: https://github.com/auto-differentiation/QuantLib-Risks-Py/compare/v1.33.2...v1.33.3
3842

‎CMakeLists.txt‎

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
11
##############################################################################
2-
# CMake file for QuantLib-Risks, driven by scikit-build-core (pyproject.toml).
2+
# CMake file for QuantLibAAD, driven by scikit-build-core (pyproject.toml).
33
# Keep the version in sync with pyproject.toml.
44
#
5-
# This file is part of QuantLib-Risks, a Python wrapper for QuantLib enabled
5+
# This file is part of QuantLibAAD, a Python wrapper for QuantLib enabled
66
# for risk computation using automatic differentiation. It uses XAD,
77
# a fast and comprehensive C++ library for automatic differentiation.
88
#

‎CONTRIBUTING.md‎

Lines changed: 8 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -7,12 +7,12 @@ Note that this fork is importing all changes from the QuantLib-SWIG repository o
77
release. Changes related to QuantLib's own Python bindings will be included in each new
88
release.
99
Contributions to this repository should only be made if they are related to building
10-
the Python bindings for QuantLib-Risks (enabled with XAD).
10+
the Python bindings for QuantLibAAD (enabled with XAD).
1111

1212
1. Fork, then clone the repository with its submodules:
1313

1414
```bash
15-
git clone --recurse-submodules https://github.com/yourusername/QuantLib-Risks-Py.git
15+
git clone --recurse-submodules https://github.com/yourusername/QuantLibAAD-Py.git
1616
```
1717

1818
2. Follow the [Build Instructions](#build-instructions) below to build the software.
@@ -54,7 +54,7 @@ The package is built in one step by [scikit-build-core](https://scikit-build-cor
5454
(see `pyproject.toml`): CMake builds QuantLib as a static library together with
5555
[QuantLibAAD](https://github.com/auto-differentiation/QuantLibAAD) from the `lib/` submodules,
5656
against [XAD](https://github.com/auto-differentiation/xad) from the installed
57-
[xad](https://pypi.org/project/xad/) package (`xad.get_cmake_dir()`), then the SWIG module from `SWIG/` and `Python/QuantLib_Risks/`.
57+
[xad](https://pypi.org/project/xad/) package (`xad.get_cmake_dir()`), then the SWIG module from `SWIG/` and `Python/QuantLibAAD/`.
5858

5959
Requirements: Python 3.10+, and a C++17 compiler.
6060
CMake, Ninja and SWIG are installed as build dependencies.
@@ -67,7 +67,7 @@ python -m venv .venv
6767
source .venv/bin/activate
6868
pip install -v . pytest
6969
# run the tests from outside the source tree, against the installed package
70-
cd /tmp && python -m pytest --import-mode=importlib /path/to/QuantLib-Risks-Py/Python/test
70+
cd /tmp && python -m pytest --import-mode=importlib /path/to/QuantLibAAD-Py/Python/test
7171
```
7272

7373
Notes:
@@ -88,8 +88,11 @@ Notes:
8888
- Wheels for all supported Python versions are built with
8989
[cibuildwheel](https://cibuildwheel.pypa.io) (`pipx run cibuildwheel`, configured in
9090
`pyproject.toml`), the source distribution with `pipx run build --sdist`.
91+
- `shim/` is the pure-Python `QuantLib-Risks` distribution, a deprecated alias that requires
92+
`QuantLibAAD` and re-exports it as `QuantLib_Risks`. Build it with `pipx run build shim`
93+
and keep its version and `QuantLibAAD` requirement in sync with `pyproject.toml`.
9194

9295

93-
[pr]: https://github.com/auto-differentiation/QuantLib-Risks/compare/
96+
[pr]: https://github.com/auto-differentiation/QuantLibAAD-Py/compare/
9497

9598
[cla]: https://gist.github.com/auto-differentiation-dev/5c6121c3f341e2de710fa034e9ff3263

‎LICENSE.md‎

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,14 @@
11
# License Terms
22

3-
QuantLib-Risks is published under the AGPL, version 3, with the terms
3+
QuantLibAAD is published under the AGPL, version 3, with the terms
44
[given below](#gnu-affero-general-public-license).
55

66
It contains code from [QuantLib](https://www.quantlib.org)
77
and is based on [QuantLib-SWIG](https://github.com/lballabio/QuantLib-SWIG),
88
which are shipped with a different (compatible) license.
99
The license terms for these packages [are given below](#quantlib-swig-license).
1010

11-
## QuantLib-Risks License
11+
## QuantLibAAD License
1212

1313
### GNU AFFERO GENERAL PUBLIC LICENSE
1414

‎Python/CMakeLists.txt‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
##############################################################################
22
# Main CMake file for the Python extension.
33
#
4-
# This file is part of QuantLib-Risks, a Python wrapper for QuantLib enabled
4+
# This file is part of QuantLibAAD, a Python wrapper for QuantLib enabled
55
# for risk computation using automatic differentiation. It uses XAD,
66
# a fast and comprehensive C++ library for automatic differentiation.
77
#

‎Python/QuantLibAAD/CMakeLists.txt‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
##############################################################################
22
# Build and install the SWIG binary module and the Python package.
33
#
4-
# This file is part of QuantLib-Risks, a Python wrapper for QuantLib enabled
4+
# This file is part of QuantLibAAD, a Python wrapper for QuantLib enabled
55
# for risk computation using automatic differentiation. It uses XAD,
66
# a fast and comprehensive C++ library for automatic differentiation.
77
#

‎Python/QuantLibAAD/__init__.py‎

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -3,16 +3,16 @@
33
Copyright (C) 2000, 2001, 2002, 2003 RiskMap srl
44
Copyright (C) 2024 Xcelerit Computing Limited.
55

6-
This file is part of QuantLib-Risks, a Python wrapper for QuantLib enabled
6+
This file is part of QuantLibAAD, a Python wrapper for QuantLib enabled
77
for risk computation using automatic differentiation. It uses XAD,
88
a fast and comprehensive C++ library for automatic differentiation.
99

10-
QuantLib-Risks and XAD are free software: you can redistribute it and/or modify
10+
QuantLibAAD and XAD are free software: you can redistribute it and/or modify
1111
it under the terms of the GNU Affero General Public License as published
1212
by the Free Software Foundation, either version 3 of the License, or
1313
(at your option) any later version.
1414

15-
QuantLib-Risks is distributed in the hope that it will be useful,
15+
QuantLibAAD is distributed in the hope that it will be useful,
1616
but WITHOUT ANY WARRANTY; without even the implied warranty of
1717
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
1818
GNU Affero General Public License for more details.

‎Python/QuantLibAAD/converters.cpp‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
* Type converters and checks for the SWIG interface, interacting with XAD's
33
* Pybind11 based bindings.
44
*
5-
* This file is part of QuantLib-Risks, a Python wrapper for QuantLib enabled
5+
* This file is part of QuantLibAAD, a Python wrapper for QuantLib enabled
66
* for risk computation using automatic differentiation. It uses XAD,
77
* a fast and comprehensive C++ library for automatic differentiation.
88
*

‎Python/QuantLibAAD/converters.hpp‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
* Type converters and checks for the SWIG interface, interacting with XAD's
33
* Pybind11 based bindings.
44
*
5-
* This file is part of QuantLib-Risks, a Python wrapper for QuantLib enabled
5+
* This file is part of QuantLibAAD, a Python wrapper for QuantLib enabled
66
* for risk computation using automatic differentiation. It uses XAD,
77
* a fast and comprehensive C++ library for automatic differentiation.
88
*

‎Python/examples/american-option.py‎

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -19,16 +19,16 @@
1919
# Copyright (&copy;) 2004, 2005, 2006, 2007 StatPro Italia srl
2020
# Copyright (&copy;) 2024 Xcelerit Computing Limited.
2121
#
22-
# This file is part of QuantLib-Risks, a Python wrapper for QuantLib enabled
22+
# This file is part of QuantLibAAD, a Python wrapper for QuantLib enabled
2323
# for risk computation using automatic differentiation. It uses XAD,
2424
# a fast and comprehensive C++ library for automatic differentiation.
2525
#
26-
# QuantLib-Risks and XAD are free software: you can redistribute it and/or modify
26+
# QuantLibAAD and XAD are free software: you can redistribute it and/or modify
2727
# it under the terms of the GNU Affero General Public License as published
2828
# by the Free Software Foundation, either version 3 of the License, or
2929
# (at your option) any later version.
3030
#
31-
# QuantLib-Risks is distributed in the hope that it will be useful,
31+
# QuantLibAAD is distributed in the hope that it will be useful,
3232
# but WITHOUT ANY WARRANTY; without even the implied warranty of
3333
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
3434
# GNU Affero General Public License for more details.

0 commit comments

Comments
 (0)