From 02d519c0248a1886c4bb4ee7b3286024d9c2afa9 Mon Sep 17 00:00:00 2001 From: Popescu V <136721202+popescu-v@users.noreply.github.com> Date: Tue, 16 Dec 2025 16:55:46 +0100 Subject: [PATCH 1/8] Make all samples' imports self-contained Thus, we make sure each sample can be copy-pasted and used in a stand-alone manner. --- doc/samples/samples.rst | 5 +++++ doc/samples/samples_sklearn.rst | 3 +++ khiops/samples/samples.ipynb | 5 +++++ khiops/samples/samples.py | 5 +++++ khiops/samples/samples_sklearn.ipynb | 3 +++ khiops/samples/samples_sklearn.py | 3 +++ 6 files changed, 24 insertions(+) diff --git a/doc/samples/samples.rst b/doc/samples/samples.rst index a0ee41b3..6c1d7a5e 100644 --- a/doc/samples/samples.rst +++ b/doc/samples/samples.rst @@ -37,6 +37,8 @@ Samples .. autofunction:: get_khiops_version .. code-block:: python + from khiops import core as kh + print(f"Khiops version: {kh.get_khiops_version()}") .. autofunction:: build_dictionary_from_data_table .. code-block:: python @@ -1635,6 +1637,9 @@ Samples .. code-block:: python # Set the file paths + import os + from khiops import core as kh + splice_dir = os.path.join(kh.get_samples_dir(), "SpliceJunction") dictionary_file_path = os.path.join(splice_dir, "SpliceJunction.kdic") data_table_path = os.path.join(splice_dir, "SpliceJunctionDNA.txt") diff --git a/doc/samples/samples_sklearn.rst b/doc/samples/samples_sklearn.rst index 73dd865e..bc1f7b3b 100644 --- a/doc/samples/samples_sklearn.rst +++ b/doc/samples/samples_sklearn.rst @@ -369,6 +369,7 @@ Samples import os import pandas as pd import pickle + from khiops import core as kh from khiops.sklearn import KhiopsClassifier # Create/clean the output directory @@ -534,7 +535,9 @@ Samples .. code-block:: python # Imports + import os import pandas as pd + from khiops import core as kh from khiops.sklearn import KhiopsEncoder # Load the dataset diff --git a/khiops/samples/samples.ipynb b/khiops/samples/samples.ipynb index 8070cc12..db124b64 100644 --- a/khiops/samples/samples.ipynb +++ b/khiops/samples/samples.ipynb @@ -23,6 +23,8 @@ "metadata": {}, "outputs": [], "source": [ + "from khiops import core as kh\n", + "\n", "print(f\"Khiops version: {kh.get_khiops_version()}\")" ] }, @@ -2167,6 +2169,9 @@ "outputs": [], "source": [ "# Set the file paths\n", + "import os\n", + "from khiops import core as kh\n", + "\n", "splice_dir = os.path.join(kh.get_samples_dir(), \"SpliceJunction\")\n", "dictionary_file_path = os.path.join(splice_dir, \"SpliceJunction.kdic\")\n", "data_table_path = os.path.join(splice_dir, \"SpliceJunctionDNA.txt\")\n", diff --git a/khiops/samples/samples.py b/khiops/samples/samples.py index daca4aab..be9c9fd1 100644 --- a/khiops/samples/samples.py +++ b/khiops/samples/samples.py @@ -25,6 +25,8 @@ def get_khiops_version(): """Shows the Khiops version""" + from khiops import core as kh + print(f"Khiops version: {kh.get_khiops_version()}") @@ -1847,6 +1849,9 @@ def simplify_coclustering(): def extract_clusters(): """Extract the clusters' id, members, frequencies and typicalities into a file""" # Set the file paths + import os + from khiops import core as kh + splice_dir = os.path.join(kh.get_samples_dir(), "SpliceJunction") dictionary_file_path = os.path.join(splice_dir, "SpliceJunction.kdic") data_table_path = os.path.join(splice_dir, "SpliceJunctionDNA.txt") diff --git a/khiops/samples/samples_sklearn.ipynb b/khiops/samples/samples_sklearn.ipynb index 5fdde062..484aa109 100644 --- a/khiops/samples/samples_sklearn.ipynb +++ b/khiops/samples/samples_sklearn.ipynb @@ -433,6 +433,7 @@ "import os\n", "import pandas as pd\n", "import pickle\n", + "from khiops import core as kh\n", "from khiops.sklearn import KhiopsClassifier\n", "\n", "# Create/clean the output directory\n", @@ -637,7 +638,9 @@ "outputs": [], "source": [ "# Imports\n", + "import os\n", "import pandas as pd\n", + "from khiops import core as kh\n", "from khiops.sklearn import KhiopsEncoder\n", "\n", "# Load the dataset\n", diff --git a/khiops/samples/samples_sklearn.py b/khiops/samples/samples_sklearn.py index bd463b1f..a808da3a 100644 --- a/khiops/samples/samples_sklearn.py +++ b/khiops/samples/samples_sklearn.py @@ -374,6 +374,7 @@ def khiops_classifier_pickle(): import os import pandas as pd import pickle + from khiops import core as kh from khiops.sklearn import KhiopsClassifier # Create/clean the output directory @@ -555,7 +556,9 @@ def khiops_encoder(): usually splits the dataset into train and test subsets. """ # Imports + import os import pandas as pd + from khiops import core as kh from khiops.sklearn import KhiopsEncoder # Load the dataset From c10949a76d8fb770987c635298c5de9bee061f4b Mon Sep 17 00:00:00 2001 From: Popescu V <136721202+popescu-v@users.noreply.github.com> Date: Tue, 16 Dec 2025 11:12:25 +0100 Subject: [PATCH 2/8] Update default Khiops version to 11.0.0 in the dev Docker images --- .github/workflows/dev-docker.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/dev-docker.yml b/.github/workflows/dev-docker.yml index 7051833b..dfc57ec8 100644 --- a/.github/workflows/dev-docker.yml +++ b/.github/workflows/dev-docker.yml @@ -1,7 +1,7 @@ --- name: Dev Docker env: - DEFAULT_KHIOPS_REVISION: 11.0.0-rc.2 + DEFAULT_KHIOPS_REVISION: 11.0.0 DEFAULT_IMAGE_INCREMENT: 0 DEFAULT_SERVER_REVISION: main DEFAULT_PYTHON_VERSIONS: 3.10 3.11 3.12 3.13 3.14 @@ -14,7 +14,7 @@ on: inputs: khiops-revision: type: string - default: 11.0.0-rc.2 + default: 11.0.0 description: Khiops Revision image-increment: type: number From 1c3184978b1693fe686c8669cd97c4c53e6b0065 Mon Sep 17 00:00:00 2001 From: Popescu V <136721202+popescu-v@users.noreply.github.com> Date: Tue, 16 Dec 2025 11:35:26 +0100 Subject: [PATCH 3/8] Update Pip and dev Conda package version to 11.0.0.0 --- khiops/__init__.py | 2 +- packaging/conda/meta.yaml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/khiops/__init__.py b/khiops/__init__.py index 4e61e44d..39e2d1e5 100644 --- a/khiops/__init__.py +++ b/khiops/__init__.py @@ -24,7 +24,7 @@ """ from khiops.core.internals.version import KhiopsVersion -__version__ = "11.0.0.0rc.2" +__version__ = "11.0.0.0" def get_compatible_khiops_version(): diff --git a/packaging/conda/meta.yaml b/packaging/conda/meta.yaml index 12122cb2..8ef6eead 100644 --- a/packaging/conda/meta.yaml +++ b/packaging/conda/meta.yaml @@ -2,7 +2,7 @@ package: name: {{ name }} # The Conda version cannot contain the '-' character, so we eliminate it - version: "11.0.0.0rc.2" + version: "11.0.0.0" source: path: ../../ From 7793492af574c820a2433090eaa6de9f4fec9506 Mon Sep 17 00:00:00 2001 From: Popescu V <136721202+popescu-v@users.noreply.github.com> Date: Tue, 16 Dec 2025 14:23:52 +0100 Subject: [PATCH 4/8] Update core dependency in Conda package metadata to 11.0.0 --- packaging/conda/meta.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packaging/conda/meta.yaml b/packaging/conda/meta.yaml index 8ef6eead..168fdb5a 100644 --- a/packaging/conda/meta.yaml +++ b/packaging/conda/meta.yaml @@ -23,7 +23,7 @@ requirements: - setuptools run: - python - - conda-forge/label/rc::khiops-core =11.0.0rc.2 + - khiops-core =11.0.0 - pandas >=0.25.3 - scikit-learn >=0.22.2 run_constrained: From 27144cff0e3bb9412c94dd92ccb8b2a6e7433d2f Mon Sep 17 00:00:00 2001 From: Popescu V <136721202+popescu-v@users.noreply.github.com> Date: Tue, 16 Dec 2025 11:36:06 +0100 Subject: [PATCH 5/8] Update Khiops Core and dev Docker image tag to 11.0.0[.0] --- .github/workflows/conda.yml | 4 ++-- .github/workflows/tests.yml | 8 ++++---- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/.github/workflows/conda.yml b/.github/workflows/conda.yml index 08c098b5..784b1099 100644 --- a/.github/workflows/conda.yml +++ b/.github/workflows/conda.yml @@ -3,13 +3,13 @@ name: Conda Package env: # Note: The default Khiops version must never be an alpha release as they are # ephemeral. To test alpha versions run the workflow manually. - DEFAULT_KHIOPS_CORE_VERSION: 11.0.0rc.2 + DEFAULT_KHIOPS_CORE_VERSION: 11.0.0 DEFAULT_SAMPLES_VERSION: 11.0.0 on: workflow_dispatch: inputs: khiops-core-version: - default: 11.0.0rc.2 + default: 11.0.0 description: khiops-core version for testing khiops-samples-version: default: 11.0.0 diff --git a/.github/workflows/tests.yml b/.github/workflows/tests.yml index b2e00c39..399739b0 100644 --- a/.github/workflows/tests.yml +++ b/.github/workflows/tests.yml @@ -2,7 +2,7 @@ name: Tests env: DEFAULT_SAMPLES_REVISION: 11.0.0 - DEFAULT_KHIOPS_DESKTOP_REVISION: 11.0.0-rc.2 + DEFAULT_KHIOPS_DESKTOP_REVISION: 11.0.0 on: workflow_dispatch: inputs: @@ -10,10 +10,10 @@ on: default: 11.0.0 description: Git Tag/Branch/Commit for the khiops-samples Repo image-tag: - default: 11.0.0-rc.2.0 + default: 11.0.0.0 description: Development Docker Image Tag khiops-desktop-revision: - default: 11.0.0-rc.2 + default: 11.0.0 description: Khiops Windows Desktop Application Version run-expensive-tests: type: boolean @@ -43,7 +43,7 @@ jobs: # because the `env` context is only accessible at the step level; # hence, it is hard-coded image: |- - ghcr.io/khiopsml/khiops-python/khiopspydev-ubuntu22.04:${{ inputs.image-tag || '11.0.0-rc.2.0' }} + ghcr.io/khiopsml/khiops-python/khiopspydev-ubuntu22.04:${{ inputs.image-tag || '11.0.0.0' }} credentials: username: ${{ github.actor }} password: ${{ secrets.GITHUB_TOKEN }} From 8d9732907a285770d07dff95ee56dd11e4e91531 Mon Sep 17 00:00:00 2001 From: Popescu V <136721202+popescu-v@users.noreply.github.com> Date: Tue, 16 Dec 2025 13:53:11 +0100 Subject: [PATCH 6/8] Use the Khiops core 11.0.0-based Docker image in the CI --- .github/workflows/api-docs.yml | 4 ++-- .github/workflows/pip.yml | 4 ++-- .github/workflows/tests.yml | 2 +- 3 files changed, 5 insertions(+), 5 deletions(-) diff --git a/.github/workflows/api-docs.yml b/.github/workflows/api-docs.yml index 82b880c7..36d5a0c4 100644 --- a/.github/workflows/api-docs.yml +++ b/.github/workflows/api-docs.yml @@ -13,7 +13,7 @@ on: default: 11.0.0 description: khiops-samples repo revision image-tag: - default: 11.0.0-rc.2.0 + default: 11.0.0.0 description: Development Docker Image Tag pull_request: paths: @@ -45,7 +45,7 @@ jobs: # because the `env` context is only accessible at the step level; # hence, it is hard-coded image: |- - ghcr.io/khiopsml/khiops-python/khiopspydev-ubuntu22.04:${{ inputs.image-tag || '11.0.0-rc.2.0' }} + ghcr.io/khiopsml/khiops-python/khiopspydev-ubuntu22.04:${{ inputs.image-tag || '11.0.0.0' }} # Use the 'runner' user (1001) from github so checkout actions work properly # https://github.com/actions/runner/issues/2033#issuecomment-1598547465 options: --user 1001 diff --git a/.github/workflows/pip.yml b/.github/workflows/pip.yml index 1a66908f..2ef3d532 100644 --- a/.github/workflows/pip.yml +++ b/.github/workflows/pip.yml @@ -12,7 +12,7 @@ on: default: 11.0.0 description: khiops-samples repo revision image-tag: - default: 11.0.0-rc.2.0 + default: 11.0.0.0 description: Development Docker Image Tag pypi-target: type: choice @@ -71,7 +71,7 @@ jobs: # because the `env` context is only accessible at the step level; # hence, it is hard-coded image: |- - ghcr.io/khiopsml/khiops-python/khiopspydev-${{ matrix.container }}:${{ inputs.image-tag || '11.0.0-rc.2.0' }} + ghcr.io/khiopsml/khiops-python/khiopspydev-${{ matrix.container }}:${{ inputs.image-tag || '11.0.0.0' }} steps: - name: Set parameters as env run: | diff --git a/.github/workflows/tests.yml b/.github/workflows/tests.yml index 399739b0..1f3dbba1 100644 --- a/.github/workflows/tests.yml +++ b/.github/workflows/tests.yml @@ -362,7 +362,7 @@ jobs: # because the `env` context is only accessible at the step level; # hence, it is hard-coded image: |- - ghcr.io/khiopsml/khiops-python/khiopspydev-${{ matrix.container }}:${{ inputs.image-tag || '11.0.0-rc.2.0' }} + ghcr.io/khiopsml/khiops-python/khiopspydev-${{ matrix.container }}:${{ inputs.image-tag || '11.0.0.0' }} credentials: username: ${{ github.actor }} password: ${{ secrets.GITHUB_TOKEN }} From 834a382c83ed59c686f181f6d8a7cb99c1c43599 Mon Sep 17 00:00:00 2001 From: Popescu V <136721202+popescu-v@users.noreply.github.com> Date: Tue, 16 Dec 2025 14:22:02 +0100 Subject: [PATCH 7/8] Update tutorials tag in the api-docs CI --- .github/workflows/api-docs.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/api-docs.yml b/.github/workflows/api-docs.yml index 36d5a0c4..e7f1d4d8 100644 --- a/.github/workflows/api-docs.yml +++ b/.github/workflows/api-docs.yml @@ -1,13 +1,13 @@ --- name: API Docs env: - DEFAULT_KHIOPS_PYTHON_TUTORIAL_REVISION: 11.0.0.0-rc.2 + DEFAULT_KHIOPS_PYTHON_TUTORIAL_REVISION: 11.0.0.0 DEFAULT_KHIOPS_SAMPLES_REVISION: 11.0.0 on: workflow_dispatch: inputs: khiops-python-tutorial-revision: - default: 11.0.0.0-rc.2 + default: 11.0.0.0 description: khiops-python-tutorial repo revision khiops-samples-revision: default: 11.0.0 From 5462cbd83d130b984791c23f12f7e61798d14af4 Mon Sep 17 00:00:00 2001 From: Popescu V <136721202+popescu-v@users.noreply.github.com> Date: Tue, 16 Dec 2025 16:45:23 +0100 Subject: [PATCH 8/8] Update CHANGELOG --- CHANGELOG.md | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 5b82baa7..3c9efe18 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -6,10 +6,11 @@ - Example: 10.2.1.4 is the 5th version that supports khiops 10.2.1. - Internals: Changes in *Internals* sections are unlikely to be of interest for data scientists. -## 11.0.0.0-rc.2 - 2025-12-5 +## 11.0.0.0 - 2025-12-19 ### Added - (General) Support for Python 3.14. +- (General) Warnings and error messages for unsupported installation setups. - (`core`) Dictionary API support for dictionary, variable and variable block comments, and dictionary and variable block internal comments. - (`core`) Dictionary `Rule` class and supporting API for serializing `Rule` instances.