diff --git a/Makefile b/Makefile
index 779854c47..2ec9aae83 100644
--- a/Makefile
+++ b/Makefile
@@ -19,7 +19,7 @@ OPEN_PR="true"
# Force the installation of a Concrete Python version, which is very useful with nightly versions
# /!\ WARNING /!\: This version should NEVER be a wildcard as it might create some
# issues when trying to run it in the future.
-CONCRETE_PYTHON_VERSION="concrete-python==2.6.0"
+CONCRETE_PYTHON_VERSION="concrete-python==2.6.0-rc1"
# Force the installation of Concrete Python's latest version, release-candidates included
# CONCRETE_PYTHON_VERSION="$$(poetry run python \
diff --git a/deps_licenses/licenses_mac_silicon_user.txt b/deps_licenses/licenses_mac_silicon_user.txt
index fbc7b4ab5..93b21818e 100644
--- a/deps_licenses/licenses_mac_silicon_user.txt
+++ b/deps_licenses/licenses_mac_silicon_user.txt
@@ -9,7 +9,7 @@ certifi, 2023.7.22, Mozilla Public License 2.0 (MPL 2.0)
charset-normalizer, 3.3.2, MIT License
click, 8.1.7, BSD License
coloredlogs, 15.0.1, MIT License
-concrete-python, 2.6.0, BSD-3-Clause
+concrete-python, 2.6.0rc1, BSD-3-Clause
dependencies, 2.0.1, BSD License
dill, 0.3.8, BSD License
exceptiongroup, 1.2.0, MIT License
diff --git a/deps_licenses/licenses_mac_silicon_user.txt.md5 b/deps_licenses/licenses_mac_silicon_user.txt.md5
index 50a2556c9..cde53c8ef 100644
--- a/deps_licenses/licenses_mac_silicon_user.txt.md5
+++ b/deps_licenses/licenses_mac_silicon_user.txt.md5
@@ -1 +1 @@
-905620023a2816ce93dd58b1bbf71e76
+c2b00111ef9bd7ef1c778701ab0dfe4e
diff --git a/docs/references/api/concrete.ml.quantization.quantized_module.md b/docs/references/api/concrete.ml.quantization.quantized_module.md
index 6dd778aa1..fcf52f1dd 100644
--- a/docs/references/api/concrete.ml.quantization.quantized_module.md
+++ b/docs/references/api/concrete.ml.quantization.quantized_module.md
@@ -72,7 +72,7 @@ ______________________________________________________________________
### method `bitwidth_and_range_report`
```python
-bitwidth_and_range_report() → Union[Dict[str, Dict[str, Union[Tuple[int, ], int]]], NoneType]
+bitwidth_and_range_report() → Optional[Dict[str, Dict[str, Union[Tuple[int, ], int]]]]
```
Report the ranges and bit-widths for layers that mix encrypted integer values.
diff --git a/docs/references/api/concrete.ml.quantization.quantized_module_passes.md b/docs/references/api/concrete.ml.quantization.quantized_module_passes.md
index 205e213a6..56b77818a 100644
--- a/docs/references/api/concrete.ml.quantization.quantized_module_passes.md
+++ b/docs/references/api/concrete.ml.quantization.quantized_module_passes.md
@@ -41,7 +41,7 @@ ______________________________________________________________________
### method `compute_op_predecessors`
```python
-compute_op_predecessors() → DefaultDict[Union[QuantizedOp, NoneType], List[Tuple[Union[QuantizedOp, NoneType], str]]]
+compute_op_predecessors() → DefaultDict[Optional[QuantizedOp], List[Tuple[Optional[QuantizedOp], str]]]
```
Compute the predecessors for each QuantizedOp in a QuantizedModule.
@@ -61,7 +61,7 @@ ______________________________________________________________________
```python
detect_patterns(
predecessors: DefaultDict[Optional[QuantizedOp], List[Tuple[Optional[QuantizedOp], str]]]
-) → Dict[QuantizedMixingOp, Tuple[List[Union[QuantizedOp, NoneType]], Union[QuantizedOp, NoneType]]]
+) → Dict[QuantizedMixingOp, Tuple[List[Optional[QuantizedOp]], Optional[QuantizedOp]]]
```
Detect the patterns that can be optimized with roundPBS in the QuantizedModule.
@@ -107,7 +107,7 @@ ______________________________________________________________________
### method `process`
```python
-process() → Dict[QuantizedMixingOp, Tuple[List[Union[QuantizedOp, NoneType]], Union[QuantizedOp, NoneType]]]
+process() → Dict[QuantizedMixingOp, Tuple[List[Optional[QuantizedOp]], Optional[QuantizedOp]]]
```
Analyze an ONNX graph and detect Gemm/Conv patterns that can use RoundPBS.
@@ -129,7 +129,7 @@ ______________________________________________________________________
```python
process_patterns(
valid_paths: Dict[QuantizedMixingOp, Tuple[List[Optional[QuantizedOp]], Optional[QuantizedOp]]]
-) → Dict[QuantizedMixingOp, Tuple[List[Union[QuantizedOp, NoneType]], Union[QuantizedOp, NoneType]]]
+) → Dict[QuantizedMixingOp, Tuple[List[Optional[QuantizedOp]], Optional[QuantizedOp]]]
```
Configure the rounding bits of roundPBS for the optimizable operations.
diff --git a/poetry.lock b/poetry.lock
index e3df9a7af..143f2e25d 100644
--- a/poetry.lock
+++ b/poetry.lock
@@ -814,22 +814,23 @@ test = ["pytest"]
[[package]]
name = "concrete-python"
-version = "2.6.0"
+version = "2.6.0rc1"
description = "A state-of-the-art homomorphic encryption framework"
optional = false
python-versions = ">=3.8"
files = [
- {file = "concrete_python-2.6.0-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:c86978a461b3f192271cc9944bc9c0da193471662ee9248833f0e828060286ce"},
- {file = "concrete_python-2.6.0-cp310-cp310-macosx_11_0_x86_64.whl", hash = "sha256:a13c156c6442fea198f08feeaac4043742ee457e9f2c2e44ad2fb0c06c539990"},
- {file = "concrete_python-2.6.0-cp310-cp310-manylinux_2_28_x86_64.whl", hash = "sha256:e1a71c3fd4db8f8959167dcb0dbdb0502dc62657b52827fc51300893f7a85c6f"},
- {file = "concrete_python-2.6.0-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:51086737dc044ddd56b16461aff5d0dc23fbc18a399a04ca528d27cae1395428"},
- {file = "concrete_python-2.6.0-cp311-cp311-macosx_11_0_x86_64.whl", hash = "sha256:4ca5048ae39dc89204020a799c408c1f919d3e65bdf6c0b542e250e58cb70098"},
- {file = "concrete_python-2.6.0-cp311-cp311-manylinux_2_28_x86_64.whl", hash = "sha256:da3eb967c811c7e547210ba3ec968b722ec1d9208593d2976c88f9568adfdaba"},
- {file = "concrete_python-2.6.0-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:02874867cafd53f73edf65dd482fe1aa990924a31f6f2f8ad5ae42ed9da4767f"},
- {file = "concrete_python-2.6.0-cp38-cp38-macosx_11_0_x86_64.whl", hash = "sha256:f9b2845ed8202641d313cc13c25d2aeeb63b28d1136e1b5e7087da4fe1f7c3d9"},
- {file = "concrete_python-2.6.0-cp38-cp38-manylinux_2_28_x86_64.whl", hash = "sha256:83d4cab6e93c2b2df6a58c7695c3b6f005ada4d95d13a55ee667817ab0eb53f6"},
- {file = "concrete_python-2.6.0-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:5442fd50d1860ef941ac899a7251fdb97aa65cce0e90d850b135c5554e40e3ac"},
- {file = "concrete_python-2.6.0-cp39-cp39-macosx_11_0_x86_64.whl", hash = "sha256:47593e52a6d283b2370b35e834bf6383f056931595f6f5673e3abcd64f4fff6e"},
+ {file = "concrete_python-2.6.0rc1-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:3cc220d6f74d79704a0f77e394f3587d62fd00feb5aeb70edb6db7c55e4535a8"},
+ {file = "concrete_python-2.6.0rc1-cp310-cp310-macosx_11_0_x86_64.whl", hash = "sha256:33567f24e4e1b2e127d3f1519d8f3c1dec25f3a770926f8466c11eed07f238a3"},
+ {file = "concrete_python-2.6.0rc1-cp310-cp310-manylinux_2_28_x86_64.whl", hash = "sha256:8dfb7d3fde6109fc5933cb49ed1287eefb558a7e7a2a6f9ebe3afad95153f2f7"},
+ {file = "concrete_python-2.6.0rc1-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:fc7be5056d4688d487cc9c73fb050609a254505af7c2d8daf881586666b3d4d1"},
+ {file = "concrete_python-2.6.0rc1-cp311-cp311-macosx_11_0_x86_64.whl", hash = "sha256:8c5314208719ceb6b5b15894c1e045517803bdbfa769b8cdfcd5089738bb26ee"},
+ {file = "concrete_python-2.6.0rc1-cp311-cp311-manylinux_2_28_x86_64.whl", hash = "sha256:50d8a2718378c16ee5fc66fa3ad843e715a6f05be49e5c8c7eb01dda3df643a2"},
+ {file = "concrete_python-2.6.0rc1-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:69fa7ef4e02655d07d71d88782636a79d7253967841ce10d8b500d56dd220963"},
+ {file = "concrete_python-2.6.0rc1-cp38-cp38-macosx_11_0_x86_64.whl", hash = "sha256:1fa04bd97bac7c71101c3a6f9dfdc7bc9dab232773b811e7c148ed44a61a307c"},
+ {file = "concrete_python-2.6.0rc1-cp38-cp38-manylinux_2_28_x86_64.whl", hash = "sha256:98505a7b4e34698590783a49b28a8b23c2b4433b90ed95c478c2d2fa68250698"},
+ {file = "concrete_python-2.6.0rc1-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:76ca78df116f4dcf1cb2d584fdaf51621ed548f9cbb6608ed04878d6c66f748b"},
+ {file = "concrete_python-2.6.0rc1-cp39-cp39-macosx_11_0_x86_64.whl", hash = "sha256:8a1404c66d02760494142cc7780665b28147cfcd41a24bd8a71133b20f4b0597"},
+ {file = "concrete_python-2.6.0rc1-cp39-cp39-manylinux_2_28_x86_64.whl", hash = "sha256:9fe0fb1f031fb2432720b5bc588d55077c26bbce36b3e9bb59ba27bd2e21833c"},
]
[package.dependencies]
@@ -4157,18 +4158,18 @@ files = [
[[package]]
name = "parso"
-version = "0.8.3"
+version = "0.8.4"
description = "A Python Parser"
optional = false
python-versions = ">=3.6"
files = [
- {file = "parso-0.8.3-py2.py3-none-any.whl", hash = "sha256:c001d4636cd3aecdaf33cbb40aebb59b094be2a74c556778ef5576c175e19e75"},
- {file = "parso-0.8.3.tar.gz", hash = "sha256:8c07be290bb59f03588915921e29e8a50002acaf2cdc5fa0e0114f91709fafa0"},
+ {file = "parso-0.8.4-py2.py3-none-any.whl", hash = "sha256:a418670a20291dacd2dddc80c377c5c3791378ee1e8d12bffc35420643d43f18"},
+ {file = "parso-0.8.4.tar.gz", hash = "sha256:eb3a7b58240fb99099a345571deecc0f9540ea5f4dd2fe14c2a99d6b281ab92d"},
]
[package.extras]
-qa = ["flake8 (==3.8.3)", "mypy (==0.782)"]
-testing = ["docopt", "pytest (<6.0.0)"]
+qa = ["flake8 (==5.0.4)", "mypy (==0.971)", "types-setuptools (==67.2.0.1)"]
+testing = ["docopt", "pytest"]
[[package]]
name = "pathspec"
@@ -7607,4 +7608,4 @@ testing = ["big-O", "jaraco.functools", "jaraco.itertools", "more-itertools", "p
[metadata]
lock-version = "2.0"
python-versions = ">=3.8.1,<3.11"
-content-hash = "d716d164a2ce4ab8f2578d4908a15b78985873c905440f2aaba9fabc19f64f73"
+content-hash = "5801d0a02a9f2e06eac61591e49fc19ef8be8c1fb27f7a2ea637b3846bf95f21"
diff --git a/pyproject.toml b/pyproject.toml
index 2dcc5a4a7..b7579cb1f 100644
--- a/pyproject.toml
+++ b/pyproject.toml
@@ -34,7 +34,7 @@ readme = "README.md"
# Investigate if it is better to fix specific versions or use lower and upper bounds
# FIXME: https://github.com/zama-ai/concrete-ml-internal/issues/2665
python = ">=3.8.1,<3.11"
-concrete-python = "2.6.0"
+concrete-python = "2.6.0-rc1"
setuptools = "65.6.3"
skops = {version = "0.5.0"}
xgboost = "1.6.2"