This is an automated email from the ASF dual-hosted git repository.
yongzao pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/iotdb.git
The following commit(s) were added to refs/heads/master by this push:
new b5a7f078c45 [AINode] AINode Dockerfile (#15946)
b5a7f078c45 is described below
commit b5a7f078c45dc2436de38de42c18c6969f0b1c5d
Author: Yongzao <[email protected]>
AuthorDate: Thu Jul 17 11:59:44 2025 +0800
[AINode] AINode Dockerfile (#15946)
---
docker/ReadMe.md | 28 ++-
docker/src/main/DockerCompose/do-docker-build.sh | 12 +-
.../{entrypoint.sh => docker-compose-ainode.yml} | 48 +---
.../docker-compose-cluster-1c1d1a.yml | 68 +++++
docker/src/main/DockerCompose/entrypoint.sh | 41 +--
.../main/DockerCompose/replace-conf-from-env.sh | 19 +-
docker/src/main/Dockerfile-1.0.0-ainode | 69 +++++
iotdb-core/ainode/ainode/core/constant.py | 2 +-
.../ainode/core/model/built_in_model_factory.py | 4 +-
iotdb-core/ainode/ainode/core/rpc/client.py | 30 ++-
iotdb-core/ainode/poetry.lock | 279 ++++++++++++++++-----
iotdb-core/ainode/pyproject.toml | 4 +-
.../ainode/resources/conf/iotdb-ainode.properties | 2 +-
13 files changed, 461 insertions(+), 145 deletions(-)
diff --git a/docker/ReadMe.md b/docker/ReadMe.md
index 7061213fb6f..b08f20cc44f 100644
--- a/docker/ReadMe.md
+++ b/docker/ReadMe.md
@@ -27,9 +27,11 @@ Before v0.12, Apache IoTDB's docker image name and version
format is:
From 0.12 on, we release two images: one is for a single node, and the other
is for the cluster mode.
The format is: `apache/iotdb:0.<major>.<minor>-node` and
`apache/iotdb:0.<major>.<minor>-cluster`.
-From 1.0.0, we split 3 kinds of images: datanode,confignode and all of them in
one image called 1C1D.
+From 1.0.0, we split 3 kinds of images: datanode, confignode and all of them
in one image called 1C1D.
The format is:
`apache/iotdb:<version>-confignode`,`apache/iotdb:<version>-datanode` and
`apache/iotdb:<version>-standalone`.
+From 2.0.5, we maintain 4 images: datanode, confignode, standalone and ainode.
The format is: `apache/iotdb:<version>-datanode`,
`apache/iotdb:<version>-confignode`, `apache/iotdb:<version>-ainode` and
`apache/iotdb:<version>-standalone`
+
## The definition of tag "latest"
Before v0.12, the "latest" tag will forward to the largest
`apache/iotdb:0.<major>.<minor>`.
@@ -49,6 +51,8 @@ cd src/main/DockerCompose
./do-docker-build.sh -t <target> -v <version>
e.g.
./do-docker-build.sh -t standalone -v 1.0.0
+# for ainode, start from 2.0.5
+./do-docker-build.sh -t ainode -v 2.0.5-SNAPSHOT
```
Notice:
Make directory of src/main/target and put the zip file downloading from the
official download page.
@@ -59,8 +63,11 @@ total 215M
-rw-r--r-- 1 root root 75M Nov 30 20:04 apache-iotdb-1.0.0-all-bin.zip
-rw-r--r-- 1 root root 69M Dec 1 17:12 apache-iotdb-1.0.0-confignode-bin.zip
-rw-r--r-- 1 root root 73M Dec 1 17:13 apache-iotdb-1.0.0-datanode-bin.zip
+-rw-r--r-- 1 root root 329K 7 15 17:12
apache-iotdb-2.0.5-SNAPSHOT-ainode-bin.zip
```
+To avoid mannually copy these files, you can run our `do-docker-build.sh` with
argument `-b`.
+
# How to run IoTDB server
Actually, we maintain a repo on dockerhub, so that you can get the docker
image directly.
@@ -75,6 +82,18 @@ docker run -d --name iotdb -p 6667:6667 -p 31999:31999 -p
8181:8181 -p 5555:5555
docker run -d --name iotdb -p 6667:6667 -p 31999:31999 -p 8181:8181 -p
5555:5555 -p 9003:9003 -p 40010:40010 apache/iotdb:<version>
```
Since 1.0.0, see [offical
documents.](https://iotdb.apache.org/UserGuide/Master/QuickStart/WayToGetIoTDB.html)
+
+# How to register AINode to IoTDB cluster
+
+## Register AINode to the existing IoTDB cluster
+Please download `docker-compose-ainode.yml` in `docker/src/main/DockerCompose`
first. After replace the correct IoTDB cluster configurations, run
+```shell
+docker compose -f docker-compose-ainode.yml up -d
+```
+
+## Quick start
+We provide `docker-compose-cluster-1c1d1a.yml` in
`docker/src/main/DockerCompose`. Downloading this yaml file, both standalone
and ainode docker first. Subsequently, you can easily obtain a IoTDB cluster,
which consists of a ConfigNode, a DataNode and a AINode, in your local machine.
+
## Port description
By default, the ports that IoTDB uses are:
@@ -86,6 +105,7 @@ By default, the ports that IoTDB uses are:
* 5555: Data sync port
* 9003: internal metadata rpc port (for cluster)
* 40010: internal data rpc port (for cluster)
+* 10810: internal rpc port (for ainode)
## How to configure docker volumes
@@ -99,6 +119,12 @@ iotdb_data and iotdb_logs respectively.
docker run -it -v /D/docker/iotdb_data:/iotdb/data -v
/D/docker/iotdb_logs:/iotdb/logs --name 123 apache/iotdb:<version>
```
+Similarly, you can customize the directories of the ainode through the
following commands.
+
+```shell
+docker run -it -v /D/docker/ainode_data:/ainode/data -v
/D/docker/ainode_logs:/ainode/logs --name 123 apache/iotdb:<version>
+```
+
# How to run IoTDB client
Suppose you have run an IoTDB Server in docker
diff --git a/docker/src/main/DockerCompose/do-docker-build.sh
b/docker/src/main/DockerCompose/do-docker-build.sh
index 19037f3834c..749528faf7d 100755
--- a/docker/src/main/DockerCompose/do-docker-build.sh
+++ b/docker/src/main/DockerCompose/do-docker-build.sh
@@ -23,7 +23,7 @@
current_path=$(cd $(dirname $0); pwd)
iotdb_path=$(cd ${current_path}/../../../../; pwd)
iotdb_zip_path=${current_path}/../target/
-options="confignode datanode standalone latest"
+options="confignode datanode ainode standalone latest"
nocache="true"
do_build="false"
docker_build="docker build "
@@ -101,7 +101,7 @@ function prepare_buildx(){
docker_publish="" ;
return ;
fi
- docker_build="docker buildx build --platform
linux/amd64,linux/arm64/v8,linux/arm/v7" ;
+ docker_build="docker buildx build --platform
linux/amd64,linux/arm64/v8" ;
docker buildx inspect mybuilder || if [[ $? -ne 0 ]]; then
docker buildx create --name mybuilder --driver docker-container
--bootstrap --use
docker run --rm --privileged tonistiigi/binfmt:latest --install all
@@ -110,6 +110,7 @@ function prepare_buildx(){
else
docker_build="docker build" ;
docker_publish="" ;
+ # for Linux
find ${current_path}/../ -name 'Dockerfile-1.0.0*' | xargs sed -i
's#FROM --platform=$TARGETPLATFORM eclipse-temurin:17-jre-focal#FROM
eclipse-temurin:17-jre-focal#g'
fi
}
@@ -119,10 +120,10 @@ function build_iotdb(){
fi
echo "##### build IoTDB #####"
cd $iotdb_path
- mvn clean package -pl distribution -am -DskipTests
+ mvn clean package -pl distribution -P with-ainode -am -DskipTests
if [[ ! -d ${iotdb_zip_path} ]]; then mkdir ${iotdb_zip_path}; fi
cd ${iotdb_path}/distribution/target
- cp apache-iotdb-${version}-all-bin.zip
apache-iotdb-${version}-confignode-bin.zip
apache-iotdb-${version}-datanode-bin.zip ${iotdb_zip_path}/
+ cp apache-iotdb-${version}-all-bin.zip
apache-iotdb-${version}-confignode-bin.zip
apache-iotdb-${version}-datanode-bin.zip apache-iotdb-${version}-ainode-bin.zip
${iotdb_zip_path}/
do_build=false
echo "##### done #####"
}
@@ -151,6 +152,9 @@ function main() {
datanode)
process_single
;;
+ ainode)
+ process_single all
+ ;;
standalone)
process_single all
;;
diff --git a/docker/src/main/DockerCompose/entrypoint.sh
b/docker/src/main/DockerCompose/docker-compose-ainode.yml
old mode 100755
new mode 100644
similarity index 54%
copy from docker/src/main/DockerCompose/entrypoint.sh
copy to docker/src/main/DockerCompose/docker-compose-ainode.yml
index 68df9db78b7..a570b9ac38d
--- a/docker/src/main/DockerCompose/entrypoint.sh
+++ b/docker/src/main/DockerCompose/docker-compose-ainode.yml
@@ -1,4 +1,3 @@
-#!/bin/bash
#
# Licensed to the Apache Software Foundation (ASF) under one
# or more contributor license agreements. See the NOTICE file
@@ -18,37 +17,16 @@
# under the License.
#
-current_path=$(cd $(dirname $0);pwd)
-start_what=$1
-
-function on_stop(){
- echo "#### on_stop $start_what ####"
- if [[ "$start_what" != "confignode" ]]; then
- echo "###### manually flush ######";
- start-cli.sh -e "flush;" || true
- fi
- stop-standalone.sh
-}
-
-trap 'on_stop' SIGTERM SIGKILL SIGQUIT
-
-
-replace-conf-from-env.sh
-
-case "$1" in
- datanode)
- exec start-datanode.sh
- ;;
- confignode)
- exec start-confignode.sh
- ;;
- all)
- start-confignode.sh > /dev/null 2>&1 &
- sleep 5
- exec start-datanode.sh
- ;;
- *)
- echo "bad parameter!"
- exit -1
- ;;
-esac
+services:
+ iotdb-ainode:
+ image: apache/iotdb:2.0.5-SNAPSHOT-ainode
+ hostname: iotdb-ainode
+ container_name: iotdb-ainode
+ ports:
+ - "10810:10810"
+ environment:
+ - ain_seed_config_node=iotdb-confignode:10710
+ - ain_inference_rpc_address=iotdb-ainode
+ - ain_inference_rpc_port=10810
+ volumes:
+ - ./logs/ainode:/ainode/logs
\ No newline at end of file
diff --git a/docker/src/main/DockerCompose/docker-compose-cluster-1c1d1a.yml
b/docker/src/main/DockerCompose/docker-compose-cluster-1c1d1a.yml
new file mode 100644
index 00000000000..c8453b28eef
--- /dev/null
+++ b/docker/src/main/DockerCompose/docker-compose-cluster-1c1d1a.yml
@@ -0,0 +1,68 @@
+#
+# Licensed to the Apache Software Foundation (ASF) under one
+# or more contributor license agreements. See the NOTICE file
+# distributed with this work for additional information
+# regarding copyright ownership. The ASF licenses this file
+# to you under the Apache License, Version 2.0 (the
+# "License"); you may not use this file except in compliance
+# with the License. You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing,
+# software distributed under the License is distributed on an
+# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+# KIND, either express or implied. See the License for the
+# specific language governing permissions and limitations
+# under the License.
+#
+
+services:
+ iotdb-service:
+ image: apache/iotdb:2.0.5-SNAPSHOT-standalone
+ hostname: iotdb-service
+ container_name: iotdb-service
+ ports:
+ - "6667:6667"
+ environment:
+ - cn_internal_address=iotdb-service
+ - cn_internal_port=10710
+ - cn_consensus_port=10720
+ - cn_seed_config_node=iotdb-service:10710
+ - dn_rpc_address=iotdb-service
+ - dn_internal_address=iotdb-service
+ - dn_rpc_port=6667
+ - dn_mpp_data_exchange_port=10740
+ - dn_schema_region_consensus_port=10750
+ - dn_data_region_consensus_port=10760
+ - dn_seed_config_node=iotdb-service:10710
+ - IOTDB_JMX_OPTS=-Xms4G -Xmx4G -XX:MaxDirectMemorySize=1G
+ - CONFIGNODE_JMX_OPTS=-Xms1G -Xmx1G -XX:MaxDirectMemorySize=256M
+ volumes:
+ - ./data/iotdb:/iotdb/data
+ - ./logs/iotdb:/iotdb/logs
+ # Enable this configuration for kylinOS
+ # ulimits:
+ # nofile:
+ # soft: 20000
+ # hard: 20000
+ networks:
+ iotdb:
+ # ipv4_address: 127.0.0.1
+ iotdb-ainode:
+ image: apache/iotdb:2.0.5-SNAPSHOT-ainode
+ hostname: iotdb-ainode
+ container_name: iotdb-ainode
+ environment:
+ - ain_seed_config_node=iotdb-service:10710
+ - ain_inference_rpc_address=iotdb-ainode
+ - ain_inference_rpc_port=10810
+ volumes:
+ - ./logs/ainode:/ainode/logs
+ networks:
+ iotdb:
+ # ipv4_address: 127.0.0.1
+
+networks:
+ iotdb:
+ external: false
\ No newline at end of file
diff --git a/docker/src/main/DockerCompose/entrypoint.sh
b/docker/src/main/DockerCompose/entrypoint.sh
index 68df9db78b7..6631825270d 100755
--- a/docker/src/main/DockerCompose/entrypoint.sh
+++ b/docker/src/main/DockerCompose/entrypoint.sh
@@ -27,28 +27,35 @@ function on_stop(){
echo "###### manually flush ######";
start-cli.sh -e "flush;" || true
fi
- stop-standalone.sh
+ if [[ "$start_what" == "ainode" ]]; then
+ stop-ainode.sh
+ else
+ stop-standalone.sh
+ fi
}
trap 'on_stop' SIGTERM SIGKILL SIGQUIT
-replace-conf-from-env.sh
+replace-conf-from-env.sh $start_what
case "$1" in
- datanode)
- exec start-datanode.sh
- ;;
- confignode)
- exec start-confignode.sh
- ;;
- all)
- start-confignode.sh > /dev/null 2>&1 &
- sleep 5
- exec start-datanode.sh
- ;;
- *)
- echo "bad parameter!"
- exit -1
- ;;
+ datanode)
+ exec start-datanode.sh
+ ;;
+ confignode)
+ exec start-confignode.sh
+ ;;
+ ainode)
+ exec start-ainode.sh
+ ;;
+ all)
+ start-confignode.sh > /dev/null 2>&1 &
+ sleep 5
+ exec start-datanode.sh
+ ;;
+ *)
+ echo "bad parameter!"
+ exit -1
+ ;;
esac
diff --git a/docker/src/main/DockerCompose/replace-conf-from-env.sh
b/docker/src/main/DockerCompose/replace-conf-from-env.sh
index 00a48050d7e..416bd0d3856 100755
--- a/docker/src/main/DockerCompose/replace-conf-from-env.sh
+++ b/docker/src/main/DockerCompose/replace-conf-from-env.sh
@@ -18,8 +18,18 @@
# under the License.
#
-conf_path=${IOTDB_HOME}/conf
-target_files="iotdb-system.properties"
+if [[ "$1" == "ainode" ]]; then
+ conf_path=${IOTDB_AINODE_HOME}/conf
+ target_files="iotdb-ainode.properties"
+else
+ conf_path=${IOTDB_HOME}/conf
+ target_files="iotdb-system.properties"
+fi
+
+echo "#################################"
+echo "replace the following configs"
+echo "conf_path=$conf_path"
+echo "target_files=$target_files"
function process_single(){
local key_value="$1"
@@ -28,7 +38,7 @@ function process_single(){
local line=$(grep -ni "${key}=" ${filename})
#echo "line=$line"
if [[ -n "${line}" ]]; then
- echo "update $key $filename"
+ echo "update $key_value $filename"
local line_no=$(echo $line|cut -d : -f1)
local content=$(echo $line|cut -d : -f2)
if [[ "${content:0:1}" != "#" ]]; then
@@ -36,7 +46,7 @@ function process_single(){
fi
sed -i "${line_no}a${key_value}" ${filename}
else
- echo "append $key $filename"
+ echo "append $key_value $filename"
line_no=$(wc -l $filename|cut -d ' ' -f1)
sed -i "${line_no}a${key_value}" ${filename}
fi
@@ -56,3 +66,4 @@ function replace_configs(){
replace_configs
+echo "#################################"
diff --git a/docker/src/main/Dockerfile-1.0.0-ainode
b/docker/src/main/Dockerfile-1.0.0-ainode
new file mode 100644
index 00000000000..370ef0cb100
--- /dev/null
+++ b/docker/src/main/Dockerfile-1.0.0-ainode
@@ -0,0 +1,69 @@
+#
+# Licensed to the Apache Software Foundation (ASF) under one
+# or more contributor license agreements. See the NOTICE file
+# distributed with this work for additional information
+# regarding copyright ownership. The ASF licenses this file
+# to you under the Apache License, Version 2.0 (the
+# "License"); you may not use this file except in compliance
+# with the License. You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing,
+# software distributed under the License is distributed on an
+# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+# KIND, either express or implied. See the License for the
+# specific language governing permissions and limitations
+# under the License.
+#
+FROM python:3.12-slim-bullseye
+ARG version=2.0.5-SNAPSHOT
+ARG target=apache-iotdb-${version}-ainode-bin
+
+# replace deb source when necessary
+# RUN sed -i 's/deb.debian.org/mirrors.ustc.edu.cn/g' /etc/apt/sources.list &&
\
+# sed -i
's|security.debian.org/debian-security|mirrors.ustc.edu.cn/debian-security|g'
/etc/apt/sources.list
+
+# replace pip source when necessary
+# RUN pip config set global.index-url
https://mirrors.ustc.edu.cn/pypi/web/simple
+
+RUN apt update \
+ && apt install lsof dos2unix procps unzip dumb-init wget inetutils-ping
libopenblas-dev liblapack-dev gfortran gcc g++ -y \
+ && apt autoremove -y \
+ && apt purge --auto-remove -y \
+ && apt clean -y
+
+COPY target/${target}.zip /
+RUN cd / && unzip ${target}.zip \
+ && rm ${target}.zip \
+ && mv apache-iotdb-${version}-ainode-bin ainode
+
+ENV IOTDB_AINODE_HOME=/ainode VERSION=${version}
+WORKDIR ${IOTDB_AINODE_HOME}/sbin
+
+COPY DockerCompose/replace-conf-from-env.sh .
+COPY DockerCompose/entrypoint.sh .
+
+RUN chmod +x *.sh && dos2unix *.sh \
+ && dos2unix ${IOTDB_AINODE_HOME}/conf/*.sh
+
+# use huggingface mirrors when necessary
+ARG hf_web=huggingface.co
+# ARG hf_web=hf-mirror.com
+RUN mkdir -p ${IOTDB_AINODE_HOME}/data/ainode/models/weights/sundial && \
+ mkdir -p ${IOTDB_AINODE_HOME}/data/ainode/models/weights/timer_xl
+RUN wget -O
${IOTDB_AINODE_HOME}/data/ainode/models/weights/sundial/config.json
https://${hf_web}/thuml/sundial-base-128m/resolve/main/config.json && \
+ wget -O
${IOTDB_AINODE_HOME}/data/ainode/models/weights/sundial/model.safetensors
https://${hf_web}/thuml/sundial-base-128m/resolve/main/model.safetensors
+RUN wget -O
${IOTDB_AINODE_HOME}/data/ainode/models/weights/timer_xl/config.json
https://${hf_web}/thuml/timer-base-84m/resolve/main/config.json && \
+ wget -O
${IOTDB_AINODE_HOME}/data/ainode/models/weights/timer_xl/model.safetensors
https://${hf_web}/thuml/timer-base-84m/resolve/main/model.safetensors
+
+
+ENV PATH="${IOTDB_AINODE_HOME}/sbin/:${IOTDB_AINODE_HOME}/tools/:${PATH}"
+RUN bash start-ainode.sh || true
+RUN rm -r ${IOTDB_AINODE_HOME}/logs/*
+
+EXPOSE 10810
+VOLUME $IOTDB_AINODE_HOME/logs
+
+ENTRYPOINT ["/usr/bin/dumb-init", "--"]
+CMD ["bash", "-c", "entrypoint.sh ainode"]
diff --git a/iotdb-core/ainode/ainode/core/constant.py
b/iotdb-core/ainode/ainode/core/constant.py
index 1858d56ad8c..1521ca52fe2 100644
--- a/iotdb-core/ainode/ainode/core/constant.py
+++ b/iotdb-core/ainode/ainode/core/constant.py
@@ -39,7 +39,7 @@ AINODE_INFERENCE_BATCH_INTERVAL_IN_MS = 15
AINODE_MODELS_DIR = "data/ainode/models"
AINODE_BUILTIN_MODELS_DIR = "data/ainode/models/weights" # For built-in
models, we only need to store their weights and config.
AINODE_SYSTEM_DIR = "data/ainode/system"
-AINODE_LOG_DIR = "logs/ainode"
+AINODE_LOG_DIR = "logs"
AINODE_THRIFT_COMPRESSION_ENABLED = False
# use for node management
diff --git a/iotdb-core/ainode/ainode/core/model/built_in_model_factory.py
b/iotdb-core/ainode/ainode/core/model/built_in_model_factory.py
index dd71aa4b625..84ff33117ca 100644
--- a/iotdb-core/ainode/ainode/core/model/built_in_model_factory.py
+++ b/iotdb-core/ainode/ainode/core/model/built_in_model_factory.py
@@ -22,8 +22,8 @@ from typing import Callable, Dict, List
import numpy as np
from huggingface_hub import hf_hub_download
from sklearn.preprocessing import MinMaxScaler
-from sktime.annotation.hmm_learn import GMMHMM, GaussianHMM
-from sktime.annotation.stray import STRAY
+from sktime.detection.hmm_learn import GMMHMM, GaussianHMM
+from sktime.detection.stray import STRAY
from sktime.forecasting.arima import ARIMA
from sktime.forecasting.exp_smoothing import ExponentialSmoothing
from sktime.forecasting.naive import NaiveForecaster
diff --git a/iotdb-core/ainode/ainode/core/rpc/client.py
b/iotdb-core/ainode/ainode/core/rpc/client.py
index e0bf0f2e362..c595000bb0f 100644
--- a/iotdb-core/ainode/ainode/core/rpc/client.py
+++ b/iotdb-core/ainode/ainode/core/rpc/client.py
@@ -66,8 +66,8 @@ class ConfigNodeClient(object):
self._MSG_RECONNECTION_FAIL = (
"Fail to connect to any config node. Please check status of
ConfigNodes"
)
- self._RETRY_NUM = 5
- self._RETRY_INTERVAL_MS = 1
+ self._RETRY_NUM = 10
+ self._RETRY_INTERVAL_IN_S = 1
self._try_to_connect()
@@ -89,17 +89,21 @@ class ConfigNodeClient(object):
try_host_num = 0
while try_host_num < len(self._config_nodes):
self._cursor = (self._cursor + 1) % len(self._config_nodes)
-
try_endpoint = self._config_nodes[self._cursor]
- try:
- self._connect(try_endpoint)
- return
- except TException:
- logger.warning(
- "The current node {} may have been down, try next node",
- try_endpoint,
- )
-
+ for _ in range(0, self._RETRY_NUM):
+ try:
+ self._connect(try_endpoint)
+ return
+ except TException:
+ logger.warning(
+ "The current node {} may have been down, waiting and
retry...",
+ try_endpoint,
+ )
+ time.sleep(self._RETRY_INTERVAL_IN_S)
+ logger.warning(
+ "The current node {} may have been down, try next node...",
+ try_endpoint,
+ )
try_host_num = try_host_num + 1
raise TException(self._MSG_RECONNECTION_FAIL)
@@ -123,7 +127,7 @@ class ConfigNodeClient(object):
def _wait_and_reconnect(self) -> None:
# wait to start the next try
- time.sleep(self._RETRY_INTERVAL_MS)
+ time.sleep(self._RETRY_INTERVAL_IN_S)
try:
self._try_to_connect()
diff --git a/iotdb-core/ainode/poetry.lock b/iotdb-core/ainode/poetry.lock
index f273507a7aa..7d8b035e94f 100644
--- a/iotdb-core/ainode/poetry.lock
+++ b/iotdb-core/ainode/poetry.lock
@@ -206,7 +206,7 @@ description = "Composable command line interface toolkit"
optional = false
python-versions = ">=3.7"
groups = ["main"]
-markers = "python_version == \"3.9\""
+markers = "(python_version != \"3.10\" or platform_system != \"Windows\" or
platform_python_implementation == \"PyPy\") and python_version < \"3.11\""
files = [
{file = "click-8.1.8-py3-none-any.whl", hash =
"sha256:63c132bbbed01578a06712a2d1f497bb62d9c1c0d329b7903a866228027263b2"},
{file = "click-8.1.8.tar.gz", hash =
"sha256:ed53c9d8990d83c2a27deae68e4ee337473f6330c040a31d4225c9574d16096a"},
@@ -222,7 +222,7 @@ description = "Composable command line interface toolkit"
optional = false
python-versions = ">=3.10"
groups = ["main"]
-markers = "python_version >= \"3.10\""
+markers = "python_version == \"3.10\" and platform_system == \"Windows\" and
platform_python_implementation != \"PyPy\" or python_version >= \"3.11\""
files = [
{file = "click-8.2.1-py3-none-any.whl", hash =
"sha256:61a3265b914e850b85317d0b3109c7f8cd35a670f963866005d6ef1d5175a12b"},
{file = "click-8.2.1.tar.gz", hash =
"sha256:27c491cc05d968d271d5a1db13e3b5a184636d9d930f148c50b038f0d0646202"},
@@ -809,6 +809,7 @@ description = "Fundamental package for array computing in
Python"
optional = false
python-versions = ">=3.8"
groups = ["main"]
+markers = "python_version <= \"3.11\""
files = [
{file = "numpy-1.24.4-cp310-cp310-macosx_10_9_x86_64.whl", hash =
"sha256:c0bfb52d2169d58c1cdb8cc1f16989101639b34c7d3ce60ed70b19c63eba0b64"},
{file = "numpy-1.24.4-cp310-cp310-macosx_11_0_arm64.whl", hash =
"sha256:ed094d4f0c177b1b8e7aa9cba7d6ceed51c0e569a5318ac0ca9a090680a6a1b1"},
@@ -840,6 +841,53 @@ files = [
{file = "numpy-1.24.4.tar.gz", hash =
"sha256:80f5e3a4e498641401868df4208b74581206afbee7cf7b8329daae82676d9463"},
]
+[[package]]
+name = "numpy"
+version = "1.26.4"
+description = "Fundamental package for array computing in Python"
+optional = false
+python-versions = ">=3.9"
+groups = ["main"]
+markers = "python_version == \"3.12\""
+files = [
+ {file = "numpy-1.26.4-cp310-cp310-macosx_10_9_x86_64.whl", hash =
"sha256:9ff0f4f29c51e2803569d7a51c2304de5554655a60c5d776e35b4a41413830d0"},
+ {file = "numpy-1.26.4-cp310-cp310-macosx_11_0_arm64.whl", hash =
"sha256:2e4ee3380d6de9c9ec04745830fd9e2eccb3e6cf790d39d7b98ffd19b0dd754a"},
+ {file =
"numpy-1.26.4-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl",
hash =
"sha256:d209d8969599b27ad20994c8e41936ee0964e6da07478d6c35016bc386b66ad4"},
+ {file =
"numpy-1.26.4-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash
= "sha256:ffa75af20b44f8dba823498024771d5ac50620e6915abac414251bd971b4529f"},
+ {file = "numpy-1.26.4-cp310-cp310-musllinux_1_1_aarch64.whl", hash =
"sha256:62b8e4b1e28009ef2846b4c7852046736bab361f7aeadeb6a5b89ebec3c7055a"},
+ {file = "numpy-1.26.4-cp310-cp310-musllinux_1_1_x86_64.whl", hash =
"sha256:a4abb4f9001ad2858e7ac189089c42178fcce737e4169dc61321660f1a96c7d2"},
+ {file = "numpy-1.26.4-cp310-cp310-win32.whl", hash =
"sha256:bfe25acf8b437eb2a8b2d49d443800a5f18508cd811fea3181723922a8a82b07"},
+ {file = "numpy-1.26.4-cp310-cp310-win_amd64.whl", hash =
"sha256:b97fe8060236edf3662adfc2c633f56a08ae30560c56310562cb4f95500022d5"},
+ {file = "numpy-1.26.4-cp311-cp311-macosx_10_9_x86_64.whl", hash =
"sha256:4c66707fabe114439db9068ee468c26bbdf909cac0fb58686a42a24de1760c71"},
+ {file = "numpy-1.26.4-cp311-cp311-macosx_11_0_arm64.whl", hash =
"sha256:edd8b5fe47dab091176d21bb6de568acdd906d1887a4584a15a9a96a1dca06ef"},
+ {file =
"numpy-1.26.4-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl",
hash =
"sha256:7ab55401287bfec946ced39700c053796e7cc0e3acbef09993a9ad2adba6ca6e"},
+ {file =
"numpy-1.26.4-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash
= "sha256:666dbfb6ec68962c033a450943ded891bed2d54e6755e35e5835d63f4f6931d5"},
+ {file = "numpy-1.26.4-cp311-cp311-musllinux_1_1_aarch64.whl", hash =
"sha256:96ff0b2ad353d8f990b63294c8986f1ec3cb19d749234014f4e7eb0112ceba5a"},
+ {file = "numpy-1.26.4-cp311-cp311-musllinux_1_1_x86_64.whl", hash =
"sha256:60dedbb91afcbfdc9bc0b1f3f402804070deed7392c23eb7a7f07fa857868e8a"},
+ {file = "numpy-1.26.4-cp311-cp311-win32.whl", hash =
"sha256:1af303d6b2210eb850fcf03064d364652b7120803a0b872f5211f5234b399f20"},
+ {file = "numpy-1.26.4-cp311-cp311-win_amd64.whl", hash =
"sha256:cd25bcecc4974d09257ffcd1f098ee778f7834c3ad767fe5db785be9a4aa9cb2"},
+ {file = "numpy-1.26.4-cp312-cp312-macosx_10_9_x86_64.whl", hash =
"sha256:b3ce300f3644fb06443ee2222c2201dd3a89ea6040541412b8fa189341847218"},
+ {file = "numpy-1.26.4-cp312-cp312-macosx_11_0_arm64.whl", hash =
"sha256:03a8c78d01d9781b28a6989f6fa1bb2c4f2d51201cf99d3dd875df6fbd96b23b"},
+ {file =
"numpy-1.26.4-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl",
hash =
"sha256:9fad7dcb1aac3c7f0584a5a8133e3a43eeb2fe127f47e3632d43d677c66c102b"},
+ {file =
"numpy-1.26.4-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash
= "sha256:675d61ffbfa78604709862923189bad94014bef562cc35cf61d3a07bba02a7ed"},
+ {file = "numpy-1.26.4-cp312-cp312-musllinux_1_1_aarch64.whl", hash =
"sha256:ab47dbe5cc8210f55aa58e4805fe224dac469cde56b9f731a4c098b91917159a"},
+ {file = "numpy-1.26.4-cp312-cp312-musllinux_1_1_x86_64.whl", hash =
"sha256:1dda2e7b4ec9dd512f84935c5f126c8bd8b9f2fc001e9f54af255e8c5f16b0e0"},
+ {file = "numpy-1.26.4-cp312-cp312-win32.whl", hash =
"sha256:50193e430acfc1346175fcbdaa28ffec49947a06918b7b92130744e81e640110"},
+ {file = "numpy-1.26.4-cp312-cp312-win_amd64.whl", hash =
"sha256:08beddf13648eb95f8d867350f6a018a4be2e5ad54c8d8caed89ebca558b2818"},
+ {file = "numpy-1.26.4-cp39-cp39-macosx_10_9_x86_64.whl", hash =
"sha256:7349ab0fa0c429c82442a27a9673fc802ffdb7c7775fad780226cb234965e53c"},
+ {file = "numpy-1.26.4-cp39-cp39-macosx_11_0_arm64.whl", hash =
"sha256:52b8b60467cd7dd1e9ed082188b4e6bb35aa5cdd01777621a1658910745b90be"},
+ {file =
"numpy-1.26.4-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash
= "sha256:d5241e0a80d808d70546c697135da2c613f30e28251ff8307eb72ba696945764"},
+ {file =
"numpy-1.26.4-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash =
"sha256:f870204a840a60da0b12273ef34f7051e98c3b5961b61b0c2c1be6dfd64fbcd3"},
+ {file = "numpy-1.26.4-cp39-cp39-musllinux_1_1_aarch64.whl", hash =
"sha256:679b0076f67ecc0138fd2ede3a8fd196dddc2ad3254069bcb9faf9a79b1cebcd"},
+ {file = "numpy-1.26.4-cp39-cp39-musllinux_1_1_x86_64.whl", hash =
"sha256:47711010ad8555514b434df65f7d7b076bb8261df1ca9bb78f53d3b2db02e95c"},
+ {file = "numpy-1.26.4-cp39-cp39-win32.whl", hash =
"sha256:a354325ee03388678242a4d7ebcd08b5c727033fcff3b2f536aea978e15ee9e6"},
+ {file = "numpy-1.26.4-cp39-cp39-win_amd64.whl", hash =
"sha256:3373d5d70a5fe74a2c1bb6d2cfd9609ecf686d47a2d7b1d37a8f3b6bf6003aea"},
+ {file = "numpy-1.26.4-pp39-pypy39_pp73-macosx_10_9_x86_64.whl", hash =
"sha256:afedb719a9dcfc7eaf2287b839d8198e06dcd4cb5d276a3df279231138e83d30"},
+ {file =
"numpy-1.26.4-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
hash =
"sha256:95a7476c59002f2f6c590b9b7b998306fba6a5aa646b1e22ddfeaf8f78c3a29c"},
+ {file = "numpy-1.26.4-pp39-pypy39_pp73-win_amd64.whl", hash =
"sha256:7e50d0a0cc3189f9cb0aeb3a6a6af18c16f59f004b866cd2be1c14b36134a4a0"},
+ {file = "numpy-1.26.4.tar.gz", hash =
"sha256:2a02aba9ed12e4ac4eb3ea9421c420301a0c6460d9830d74a9df87efa4912010"},
+]
+
[[package]]
name = "nvidia-cublas-cu12"
version = "12.1.3.1"
@@ -1050,52 +1098,90 @@ files = [
[[package]]
name = "pandas"
-version = "1.5.3"
+version = "2.3.1"
description = "Powerful data structures for data analysis, time series, and
statistics"
optional = false
-python-versions = ">=3.8"
+python-versions = ">=3.9"
groups = ["main"]
files = [
- {file = "pandas-1.5.3-cp310-cp310-macosx_10_9_universal2.whl", hash =
"sha256:3749077d86e3a2f0ed51367f30bf5b82e131cc0f14260c4d3e499186fccc4406"},
- {file = "pandas-1.5.3-cp310-cp310-macosx_10_9_x86_64.whl", hash =
"sha256:972d8a45395f2a2d26733eb8d0f629b2f90bebe8e8eddbb8829b180c09639572"},
- {file = "pandas-1.5.3-cp310-cp310-macosx_11_0_arm64.whl", hash =
"sha256:50869a35cbb0f2e0cd5ec04b191e7b12ed688874bd05dd777c19b28cbea90996"},
- {file =
"pandas-1.5.3-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl",
hash =
"sha256:c3ac844a0fe00bfaeb2c9b51ab1424e5c8744f89860b138434a363b1f620f354"},
- {file =
"pandas-1.5.3-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash
= "sha256:7a0a56cef15fd1586726dace5616db75ebcfec9179a3a55e78f72c5639fa2a23"},
- {file = "pandas-1.5.3-cp310-cp310-win_amd64.whl", hash =
"sha256:478ff646ca42b20376e4ed3fa2e8d7341e8a63105586efe54fa2508ee087f328"},
- {file = "pandas-1.5.3-cp311-cp311-macosx_10_9_universal2.whl", hash =
"sha256:6973549c01ca91ec96199e940495219c887ea815b2083722821f1d7abfa2b4dc"},
- {file = "pandas-1.5.3-cp311-cp311-macosx_10_9_x86_64.whl", hash =
"sha256:c39a8da13cede5adcd3be1182883aea1c925476f4e84b2807a46e2775306305d"},
- {file = "pandas-1.5.3-cp311-cp311-macosx_11_0_arm64.whl", hash =
"sha256:f76d097d12c82a535fda9dfe5e8dd4127952b45fea9b0276cb30cca5ea313fbc"},
- {file =
"pandas-1.5.3-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl",
hash =
"sha256:e474390e60ed609cec869b0da796ad94f420bb057d86784191eefc62b65819ae"},
- {file =
"pandas-1.5.3-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash
= "sha256:5f2b952406a1588ad4cad5b3f55f520e82e902388a6d5a4a91baa8d38d23c7f6"},
- {file = "pandas-1.5.3-cp311-cp311-win_amd64.whl", hash =
"sha256:bc4c368f42b551bf72fac35c5128963a171b40dce866fb066540eeaf46faa003"},
- {file = "pandas-1.5.3-cp38-cp38-macosx_10_9_universal2.whl", hash =
"sha256:14e45300521902689a81f3f41386dc86f19b8ba8dd5ac5a3c7010ef8d2932813"},
- {file = "pandas-1.5.3-cp38-cp38-macosx_10_9_x86_64.whl", hash =
"sha256:9842b6f4b8479e41968eced654487258ed81df7d1c9b7b870ceea24ed9459b31"},
- {file = "pandas-1.5.3-cp38-cp38-macosx_11_0_arm64.whl", hash =
"sha256:26d9c71772c7afb9d5046e6e9cf42d83dd147b5cf5bcb9d97252077118543792"},
- {file =
"pandas-1.5.3-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash
= "sha256:5fbcb19d6fceb9e946b3e23258757c7b225ba450990d9ed63ccceeb8cae609f7"},
- {file =
"pandas-1.5.3-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash =
"sha256:565fa34a5434d38e9d250af3c12ff931abaf88050551d9fbcdfafca50d62babf"},
- {file = "pandas-1.5.3-cp38-cp38-win32.whl", hash =
"sha256:87bd9c03da1ac870a6d2c8902a0e1fd4267ca00f13bc494c9e5a9020920e1d51"},
- {file = "pandas-1.5.3-cp38-cp38-win_amd64.whl", hash =
"sha256:41179ce559943d83a9b4bbacb736b04c928b095b5f25dd2b7389eda08f46f373"},
- {file = "pandas-1.5.3-cp39-cp39-macosx_10_9_universal2.whl", hash =
"sha256:c74a62747864ed568f5a82a49a23a8d7fe171d0c69038b38cedf0976831296fa"},
- {file = "pandas-1.5.3-cp39-cp39-macosx_10_9_x86_64.whl", hash =
"sha256:c4c00e0b0597c8e4f59e8d461f797e5d70b4d025880516a8261b2817c47759ee"},
- {file = "pandas-1.5.3-cp39-cp39-macosx_11_0_arm64.whl", hash =
"sha256:a50d9a4336a9621cab7b8eb3fb11adb82de58f9b91d84c2cd526576b881a0c5a"},
- {file =
"pandas-1.5.3-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash
= "sha256:dd05f7783b3274aa206a1af06f0ceed3f9b412cf665b7247eacd83be41cf7bf0"},
- {file =
"pandas-1.5.3-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash =
"sha256:9f69c4029613de47816b1bb30ff5ac778686688751a5e9c99ad8c7031f6508e5"},
- {file = "pandas-1.5.3-cp39-cp39-win32.whl", hash =
"sha256:7cec0bee9f294e5de5bbfc14d0573f65526071029d036b753ee6507d2a21480a"},
- {file = "pandas-1.5.3-cp39-cp39-win_amd64.whl", hash =
"sha256:dfd681c5dc216037e0b0a2c821f5ed99ba9f03ebcf119c7dac0e9a7b960b9ec9"},
- {file = "pandas-1.5.3.tar.gz", hash =
"sha256:74a3fd7e5a7ec052f183273dc7b0acd3a863edf7520f5d3a1765c04ffdb3b0b1"},
+ {file = "pandas-2.3.1-cp310-cp310-macosx_10_9_x86_64.whl", hash =
"sha256:22c2e866f7209ebc3a8f08d75766566aae02bcc91d196935a1d9e59c7b990ac9"},
+ {file = "pandas-2.3.1-cp310-cp310-macosx_11_0_arm64.whl", hash =
"sha256:3583d348546201aff730c8c47e49bc159833f971c2899d6097bce68b9112a4f1"},
+ {file =
"pandas-2.3.1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl",
hash =
"sha256:0f951fbb702dacd390561e0ea45cdd8ecfa7fb56935eb3dd78e306c19104b9b0"},
+ {file =
"pandas-2.3.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash
= "sha256:cd05b72ec02ebfb993569b4931b2e16fbb4d6ad6ce80224a3ee838387d83a191"},
+ {file = "pandas-2.3.1-cp310-cp310-musllinux_1_2_aarch64.whl", hash =
"sha256:1b916a627919a247d865aed068eb65eb91a344b13f5b57ab9f610b7716c92de1"},
+ {file = "pandas-2.3.1-cp310-cp310-musllinux_1_2_x86_64.whl", hash =
"sha256:fe67dc676818c186d5a3d5425250e40f179c2a89145df477dd82945eaea89e97"},
+ {file = "pandas-2.3.1-cp310-cp310-win_amd64.whl", hash =
"sha256:2eb789ae0274672acbd3c575b0598d213345660120a257b47b5dafdc618aec83"},
+ {file = "pandas-2.3.1-cp311-cp311-macosx_10_9_x86_64.whl", hash =
"sha256:2b0540963d83431f5ce8870ea02a7430adca100cec8a050f0811f8e31035541b"},
+ {file = "pandas-2.3.1-cp311-cp311-macosx_11_0_arm64.whl", hash =
"sha256:fe7317f578c6a153912bd2292f02e40c1d8f253e93c599e82620c7f69755c74f"},
+ {file =
"pandas-2.3.1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl",
hash =
"sha256:e6723a27ad7b244c0c79d8e7007092d7c8f0f11305770e2f4cd778b3ad5f9f85"},
+ {file =
"pandas-2.3.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash
= "sha256:3462c3735fe19f2638f2c3a40bd94ec2dc5ba13abbb032dd2fa1f540a075509d"},
+ {file = "pandas-2.3.1-cp311-cp311-musllinux_1_2_aarch64.whl", hash =
"sha256:98bcc8b5bf7afed22cc753a28bc4d9e26e078e777066bc53fac7904ddef9a678"},
+ {file = "pandas-2.3.1-cp311-cp311-musllinux_1_2_x86_64.whl", hash =
"sha256:4d544806b485ddf29e52d75b1f559142514e60ef58a832f74fb38e48d757b299"},
+ {file = "pandas-2.3.1-cp311-cp311-win_amd64.whl", hash =
"sha256:b3cd4273d3cb3707b6fffd217204c52ed92859533e31dc03b7c5008aa933aaab"},
+ {file = "pandas-2.3.1-cp312-cp312-macosx_10_13_x86_64.whl", hash =
"sha256:689968e841136f9e542020698ee1c4fbe9caa2ed2213ae2388dc7b81721510d3"},
+ {file = "pandas-2.3.1-cp312-cp312-macosx_11_0_arm64.whl", hash =
"sha256:025e92411c16cbe5bb2a4abc99732a6b132f439b8aab23a59fa593eb00704232"},
+ {file =
"pandas-2.3.1-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl",
hash =
"sha256:9b7ff55f31c4fcb3e316e8f7fa194566b286d6ac430afec0d461163312c5841e"},
+ {file =
"pandas-2.3.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash
= "sha256:7dcb79bf373a47d2a40cf7232928eb7540155abbc460925c2c96d2d30b006eb4"},
+ {file = "pandas-2.3.1-cp312-cp312-musllinux_1_2_aarch64.whl", hash =
"sha256:56a342b231e8862c96bdb6ab97170e203ce511f4d0429589c8ede1ee8ece48b8"},
+ {file = "pandas-2.3.1-cp312-cp312-musllinux_1_2_x86_64.whl", hash =
"sha256:ca7ed14832bce68baef331f4d7f294411bed8efd032f8109d690df45e00c4679"},
+ {file = "pandas-2.3.1-cp312-cp312-win_amd64.whl", hash =
"sha256:ac942bfd0aca577bef61f2bc8da8147c4ef6879965ef883d8e8d5d2dc3e744b8"},
+ {file = "pandas-2.3.1-cp313-cp313-macosx_10_13_x86_64.whl", hash =
"sha256:9026bd4a80108fac2239294a15ef9003c4ee191a0f64b90f170b40cfb7cf2d22"},
+ {file = "pandas-2.3.1-cp313-cp313-macosx_11_0_arm64.whl", hash =
"sha256:6de8547d4fdb12421e2d047a2c446c623ff4c11f47fddb6b9169eb98ffba485a"},
+ {file =
"pandas-2.3.1-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl",
hash =
"sha256:782647ddc63c83133b2506912cc6b108140a38a37292102aaa19c81c83db2928"},
+ {file =
"pandas-2.3.1-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash
= "sha256:2ba6aff74075311fc88504b1db890187a3cd0f887a5b10f5525f8e2ef55bfdb9"},
+ {file = "pandas-2.3.1-cp313-cp313-musllinux_1_2_aarch64.whl", hash =
"sha256:e5635178b387bd2ba4ac040f82bc2ef6e6b500483975c4ebacd34bec945fda12"},
+ {file = "pandas-2.3.1-cp313-cp313-musllinux_1_2_x86_64.whl", hash =
"sha256:6f3bf5ec947526106399a9e1d26d40ee2b259c66422efdf4de63c848492d91bb"},
+ {file = "pandas-2.3.1-cp313-cp313-win_amd64.whl", hash =
"sha256:1c78cf43c8fde236342a1cb2c34bcff89564a7bfed7e474ed2fffa6aed03a956"},
+ {file = "pandas-2.3.1-cp313-cp313t-macosx_10_13_x86_64.whl", hash =
"sha256:8dfc17328e8da77be3cf9f47509e5637ba8f137148ed0e9b5241e1baf526e20a"},
+ {file = "pandas-2.3.1-cp313-cp313t-macosx_11_0_arm64.whl", hash =
"sha256:ec6c851509364c59a5344458ab935e6451b31b818be467eb24b0fe89bd05b6b9"},
+ {file =
"pandas-2.3.1-cp313-cp313t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl",
hash =
"sha256:911580460fc4884d9b05254b38a6bfadddfcc6aaef856fb5859e7ca202e45275"},
+ {file =
"pandas-2.3.1-cp313-cp313t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
hash =
"sha256:2f4d6feeba91744872a600e6edbbd5b033005b431d5ae8379abee5bcfa479fab"},
+ {file = "pandas-2.3.1-cp313-cp313t-musllinux_1_2_aarch64.whl", hash =
"sha256:fe37e757f462d31a9cd7580236a82f353f5713a80e059a29753cf938c6775d96"},
+ {file = "pandas-2.3.1-cp313-cp313t-musllinux_1_2_x86_64.whl", hash =
"sha256:5db9637dbc24b631ff3707269ae4559bce4b7fd75c1c4d7e13f40edc42df4444"},
+ {file = "pandas-2.3.1-cp39-cp39-macosx_10_9_x86_64.whl", hash =
"sha256:4645f770f98d656f11c69e81aeb21c6fca076a44bed3dcbb9396a4311bc7f6d8"},
+ {file = "pandas-2.3.1-cp39-cp39-macosx_11_0_arm64.whl", hash =
"sha256:342e59589cc454aaff7484d75b816a433350b3d7964d7847327edda4d532a2e3"},
+ {file =
"pandas-2.3.1-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash
= "sha256:1d12f618d80379fde6af007f65f0c25bd3e40251dbd1636480dfffce2cf1e6da"},
+ {file =
"pandas-2.3.1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash =
"sha256:dd71c47a911da120d72ef173aeac0bf5241423f9bfea57320110a978457e069e"},
+ {file = "pandas-2.3.1-cp39-cp39-musllinux_1_2_aarch64.whl", hash =
"sha256:09e3b1587f0f3b0913e21e8b32c3119174551deb4a4eba4a89bc7377947977e7"},
+ {file = "pandas-2.3.1-cp39-cp39-musllinux_1_2_x86_64.whl", hash =
"sha256:2323294c73ed50f612f67e2bf3ae45aea04dce5690778e08a09391897f35ff88"},
+ {file = "pandas-2.3.1-cp39-cp39-win_amd64.whl", hash =
"sha256:b4b0de34dc8499c2db34000ef8baad684cfa4cbd836ecee05f323ebfba348c7d"},
+ {file = "pandas-2.3.1.tar.gz", hash =
"sha256:0a95b9ac964fe83ce317827f80304d37388ea77616b1425f0ae41c9d2d0d7bb2"},
]
[package.dependencies]
numpy = [
- {version = ">=1.21.0", markers = "python_version >= \"3.10\""},
- {version = ">=1.20.3", markers = "python_version < \"3.10\""},
- {version = ">=1.23.2", markers = "python_version >= \"3.11\""},
+ {version = ">=1.22.4", markers = "python_version < \"3.11\""},
+ {version = ">=1.23.2", markers = "python_version == \"3.11\""},
+ {version = ">=1.26.0", markers = "python_version >= \"3.12\""},
]
-python-dateutil = ">=2.8.1"
+python-dateutil = ">=2.8.2"
pytz = ">=2020.1"
+tzdata = ">=2022.7"
[package.extras]
-test = ["hypothesis (>=5.5.3)", "pytest (>=6.0)", "pytest-xdist (>=1.31)"]
+all = ["PyQt5 (>=5.15.9)", "SQLAlchemy (>=2.0.0)", "adbc-driver-postgresql
(>=0.8.0)", "adbc-driver-sqlite (>=0.8.0)", "beautifulsoup4 (>=4.11.2)",
"bottleneck (>=1.3.6)", "dataframe-api-compat (>=0.1.7)", "fastparquet
(>=2022.12.0)", "fsspec (>=2022.11.0)", "gcsfs (>=2022.11.0)", "html5lib
(>=1.1)", "hypothesis (>=6.46.1)", "jinja2 (>=3.1.2)", "lxml (>=4.9.2)",
"matplotlib (>=3.6.3)", "numba (>=0.56.4)", "numexpr (>=2.8.4)", "odfpy
(>=1.4.1)", "openpyxl (>=3.1.0)", "pandas-gbq (>=0.19.0 [...]
+aws = ["s3fs (>=2022.11.0)"]
+clipboard = ["PyQt5 (>=5.15.9)", "qtpy (>=2.3.0)"]
+compression = ["zstandard (>=0.19.0)"]
+computation = ["scipy (>=1.10.0)", "xarray (>=2022.12.0)"]
+consortium-standard = ["dataframe-api-compat (>=0.1.7)"]
+excel = ["odfpy (>=1.4.1)", "openpyxl (>=3.1.0)", "python-calamine (>=0.1.7)",
"pyxlsb (>=1.0.10)", "xlrd (>=2.0.1)", "xlsxwriter (>=3.0.5)"]
+feather = ["pyarrow (>=10.0.1)"]
+fss = ["fsspec (>=2022.11.0)"]
+gcp = ["gcsfs (>=2022.11.0)", "pandas-gbq (>=0.19.0)"]
+hdf5 = ["tables (>=3.8.0)"]
+html = ["beautifulsoup4 (>=4.11.2)", "html5lib (>=1.1)", "lxml (>=4.9.2)"]
+mysql = ["SQLAlchemy (>=2.0.0)", "pymysql (>=1.0.2)"]
+output-formatting = ["jinja2 (>=3.1.2)", "tabulate (>=0.9.0)"]
+parquet = ["pyarrow (>=10.0.1)"]
+performance = ["bottleneck (>=1.3.6)", "numba (>=0.56.4)", "numexpr (>=2.8.4)"]
+plot = ["matplotlib (>=3.6.3)"]
+postgresql = ["SQLAlchemy (>=2.0.0)", "adbc-driver-postgresql (>=0.8.0)",
"psycopg2 (>=2.9.6)"]
+pyarrow = ["pyarrow (>=10.0.1)"]
+spss = ["pyreadstat (>=1.2.0)"]
+sql-other = ["SQLAlchemy (>=2.0.0)", "adbc-driver-postgresql (>=0.8.0)",
"adbc-driver-sqlite (>=0.8.0)"]
+test = ["hypothesis (>=6.46.1)", "pytest (>=7.3.2)", "pytest-xdist (>=2.2.0)"]
+xml = ["lxml (>=4.9.2)"]
[[package]]
name = "pathspec"
@@ -1567,6 +1653,7 @@ description = "Fundamental algorithms for scientific
computing in Python"
optional = false
python-versions = ">=3.8"
groups = ["main"]
+markers = "python_version <= \"3.11\""
files = [
{file = "scipy-1.9.3-cp310-cp310-macosx_10_9_x86_64.whl", hash =
"sha256:1884b66a54887e21addf9c16fb588720a8309a57b2e258ae1c7986d4444d3bc0"},
{file = "scipy-1.9.3-cp310-cp310-macosx_12_0_arm64.whl", hash =
"sha256:83b89e9586c62e787f5012e8475fbb12185bafb996a03257e9675cd73d3736dd"},
@@ -1599,6 +1686,62 @@ dev = ["flake8", "mypy", "pycodestyle",
"typing_extensions"]
doc = ["matplotlib (>2)", "numpydoc", "pydata-sphinx-theme (==0.9.0)", "sphinx
(!=4.1.0)", "sphinx-panels (>=0.5.2)", "sphinx-tabs"]
test = ["asv", "gmpy2", "mpmath", "pytest", "pytest-cov", "pytest-xdist",
"scikit-umfpack", "threadpoolctl"]
+[[package]]
+name = "scipy"
+version = "1.16.0"
+description = "Fundamental algorithms for scientific computing in Python"
+optional = false
+python-versions = ">=3.11"
+groups = ["main"]
+markers = "python_version == \"3.12\""
+files = [
+ {file = "scipy-1.16.0-cp311-cp311-macosx_10_14_x86_64.whl", hash =
"sha256:deec06d831b8f6b5fb0b652433be6a09db29e996368ce5911faf673e78d20085"},
+ {file = "scipy-1.16.0-cp311-cp311-macosx_12_0_arm64.whl", hash =
"sha256:d30c0fe579bb901c61ab4bb7f3eeb7281f0d4c4a7b52dbf563c89da4fd2949be"},
+ {file = "scipy-1.16.0-cp311-cp311-macosx_14_0_arm64.whl", hash =
"sha256:b2243561b45257f7391d0f49972fca90d46b79b8dbcb9b2cb0f9df928d370ad4"},
+ {file = "scipy-1.16.0-cp311-cp311-macosx_14_0_x86_64.whl", hash =
"sha256:e6d7dfc148135e9712d87c5f7e4f2ddc1304d1582cb3a7d698bbadedb61c7afd"},
+ {file =
"scipy-1.16.0-cp311-cp311-manylinux2014_aarch64.manylinux_2_17_aarch64.whl",
hash =
"sha256:90452f6a9f3fe5a2cf3748e7be14f9cc7d9b124dce19667b54f5b429d680d539"},
+ {file =
"scipy-1.16.0-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash
= "sha256:a2f0bf2f58031c8701a8b601df41701d2a7be17c7ffac0a4816aeba89c4cdac8"},
+ {file = "scipy-1.16.0-cp311-cp311-musllinux_1_2_aarch64.whl", hash =
"sha256:6c4abb4c11fc0b857474241b812ce69ffa6464b4bd8f4ecb786cf240367a36a7"},
+ {file = "scipy-1.16.0-cp311-cp311-musllinux_1_2_x86_64.whl", hash =
"sha256:b370f8f6ac6ef99815b0d5c9f02e7ade77b33007d74802efc8316c8db98fd11e"},
+ {file = "scipy-1.16.0-cp311-cp311-win_amd64.whl", hash =
"sha256:a16ba90847249bedce8aa404a83fb8334b825ec4a8e742ce6012a7a5e639f95c"},
+ {file = "scipy-1.16.0-cp312-cp312-macosx_10_14_x86_64.whl", hash =
"sha256:7eb6bd33cef4afb9fa5f1fb25df8feeb1e52d94f21a44f1d17805b41b1da3180"},
+ {file = "scipy-1.16.0-cp312-cp312-macosx_12_0_arm64.whl", hash =
"sha256:1dbc8fdba23e4d80394ddfab7a56808e3e6489176d559c6c71935b11a2d59db1"},
+ {file = "scipy-1.16.0-cp312-cp312-macosx_14_0_arm64.whl", hash =
"sha256:7dcf42c380e1e3737b343dec21095c9a9ad3f9cbe06f9c05830b44b1786c9e90"},
+ {file = "scipy-1.16.0-cp312-cp312-macosx_14_0_x86_64.whl", hash =
"sha256:26ec28675f4a9d41587266084c626b02899db373717d9312fa96ab17ca1ae94d"},
+ {file =
"scipy-1.16.0-cp312-cp312-manylinux2014_aarch64.manylinux_2_17_aarch64.whl",
hash =
"sha256:952358b7e58bd3197cfbd2f2f2ba829f258404bdf5db59514b515a8fe7a36c52"},
+ {file =
"scipy-1.16.0-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash
= "sha256:03931b4e870c6fef5b5c0970d52c9f6ddd8c8d3e934a98f09308377eba6f3824"},
+ {file = "scipy-1.16.0-cp312-cp312-musllinux_1_2_aarch64.whl", hash =
"sha256:512c4f4f85912767c351a0306824ccca6fd91307a9f4318efe8fdbd9d30562ef"},
+ {file = "scipy-1.16.0-cp312-cp312-musllinux_1_2_x86_64.whl", hash =
"sha256:e69f798847e9add03d512eaf5081a9a5c9a98757d12e52e6186ed9681247a1ac"},
+ {file = "scipy-1.16.0-cp312-cp312-win_amd64.whl", hash =
"sha256:adf9b1999323ba335adc5d1dc7add4781cb5a4b0ef1e98b79768c05c796c4e49"},
+ {file = "scipy-1.16.0-cp313-cp313-macosx_10_14_x86_64.whl", hash =
"sha256:e9f414cbe9ca289a73e0cc92e33a6a791469b6619c240aa32ee18abdce8ab451"},
+ {file = "scipy-1.16.0-cp313-cp313-macosx_12_0_arm64.whl", hash =
"sha256:bbba55fb97ba3cdef9b1ee973f06b09d518c0c7c66a009c729c7d1592be1935e"},
+ {file = "scipy-1.16.0-cp313-cp313-macosx_14_0_arm64.whl", hash =
"sha256:58e0d4354eacb6004e7aa1cd350e5514bd0270acaa8d5b36c0627bb3bb486974"},
+ {file = "scipy-1.16.0-cp313-cp313-macosx_14_0_x86_64.whl", hash =
"sha256:75b2094ec975c80efc273567436e16bb794660509c12c6a31eb5c195cbf4b6dc"},
+ {file =
"scipy-1.16.0-cp313-cp313-manylinux2014_aarch64.manylinux_2_17_aarch64.whl",
hash =
"sha256:6b65d232157a380fdd11a560e7e21cde34fdb69d65c09cb87f6cc024ee376351"},
+ {file =
"scipy-1.16.0-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash
= "sha256:1d8747f7736accd39289943f7fe53a8333be7f15a82eea08e4afe47d79568c32"},
+ {file = "scipy-1.16.0-cp313-cp313-musllinux_1_2_aarch64.whl", hash =
"sha256:eb9f147a1b8529bb7fec2a85cf4cf42bdfadf9e83535c309a11fdae598c88e8b"},
+ {file = "scipy-1.16.0-cp313-cp313-musllinux_1_2_x86_64.whl", hash =
"sha256:d2b83c37edbfa837a8923d19c749c1935ad3d41cf196006a24ed44dba2ec4358"},
+ {file = "scipy-1.16.0-cp313-cp313-win_amd64.whl", hash =
"sha256:79a3c13d43c95aa80b87328a46031cf52508cf5f4df2767602c984ed1d3c6bbe"},
+ {file = "scipy-1.16.0-cp313-cp313t-macosx_10_14_x86_64.whl", hash =
"sha256:f91b87e1689f0370690e8470916fe1b2308e5b2061317ff76977c8f836452a47"},
+ {file = "scipy-1.16.0-cp313-cp313t-macosx_12_0_arm64.whl", hash =
"sha256:88a6ca658fb94640079e7a50b2ad3b67e33ef0f40e70bdb7dc22017dae73ac08"},
+ {file = "scipy-1.16.0-cp313-cp313t-macosx_14_0_arm64.whl", hash =
"sha256:ae902626972f1bd7e4e86f58fd72322d7f4ec7b0cfc17b15d4b7006efc385176"},
+ {file = "scipy-1.16.0-cp313-cp313t-macosx_14_0_x86_64.whl", hash =
"sha256:8cb824c1fc75ef29893bc32b3ddd7b11cf9ab13c1127fe26413a05953b8c32ed"},
+ {file =
"scipy-1.16.0-cp313-cp313t-manylinux2014_aarch64.manylinux_2_17_aarch64.whl",
hash =
"sha256:de2db7250ff6514366a9709c2cba35cb6d08498e961cba20d7cff98a7ee88938"},
+ {file =
"scipy-1.16.0-cp313-cp313t-manylinux2014_x86_64.manylinux_2_17_x86_64.whl",
hash =
"sha256:e85800274edf4db8dd2e4e93034f92d1b05c9421220e7ded9988b16976f849c1"},
+ {file = "scipy-1.16.0-cp313-cp313t-musllinux_1_2_aarch64.whl", hash =
"sha256:4f720300a3024c237ace1cb11f9a84c38beb19616ba7c4cdcd771047a10a1706"},
+ {file = "scipy-1.16.0-cp313-cp313t-musllinux_1_2_x86_64.whl", hash =
"sha256:aad603e9339ddb676409b104c48a027e9916ce0d2838830691f39552b38a352e"},
+ {file = "scipy-1.16.0-cp313-cp313t-win_amd64.whl", hash =
"sha256:f56296fefca67ba605fd74d12f7bd23636267731a72cb3947963e76b8c0a25db"},
+ {file = "scipy-1.16.0.tar.gz", hash =
"sha256:b5ef54021e832869c8cfb03bc3bf20366cbcd426e02a58e8a58d7584dfbb8f62"},
+]
+
+[package.dependencies]
+numpy = ">=1.25.2,<2.6"
+
+[package.extras]
+dev = ["cython-lint (>=0.12.2)", "doit (>=0.36.0)", "mypy (==1.10.0)",
"pycodestyle", "pydevtool", "rich-click", "ruff (>=0.0.292)", "types-psutil",
"typing_extensions"]
+doc = ["intersphinx_registry", "jupyterlite-pyodide-kernel",
"jupyterlite-sphinx (>=0.19.1)", "jupytext", "linkify-it-py", "matplotlib
(>=3.5)", "myst-nb (>=1.2.0)", "numpydoc", "pooch", "pydata-sphinx-theme
(>=0.15.2)", "sphinx (>=5.0.0,<8.2.0)", "sphinx-copybutton", "sphinx-design
(>=0.4.0)"]
+test = ["Cython", "array-api-strict (>=2.3.1)", "asv", "gmpy2", "hypothesis
(>=6.30)", "meson", "mpmath", "ninja ; sys_platform != \"emscripten\"",
"pooch", "pytest", "pytest-cov", "pytest-timeout", "pytest-xdist",
"scikit-umfpack", "threadpoolctl"]
+
[[package]]
name = "setuptools"
version = "74.0.0"
@@ -1634,45 +1777,52 @@ files = [
[[package]]
name = "sktime"
-version = "0.24.2"
+version = "0.38.3"
description = "A unified framework for machine learning with time series"
optional = false
-python-versions = "<3.13,>=3.8"
+python-versions = "<3.14,>=3.9"
groups = ["main"]
files = [
- {file = "sktime-0.24.2-py3-none-any.whl", hash =
"sha256:4c47d08fc11eddb77c8f5ca64509802a4972b33e1518aa801c4501472100012d"},
- {file = "sktime-0.24.2.tar.gz", hash =
"sha256:587450908035482b8e5bba7344424706e200496c951d8baf4835148333f74168"},
+ {file = "sktime-0.38.3-py3-none-any.whl", hash =
"sha256:d5c4d39d2a8ddfaa4d3c8f6cbfe5058901b0fc85cbce0b653a4d40dfb9b6b865"},
+ {file = "sktime-0.38.3.tar.gz", hash =
"sha256:3320dbbd097d24faf434c5401c78f30a3b85c840321a00fdf46ea3636091ff7c"},
]
[package.dependencies]
-numpy = ">=1.21,<1.27"
+joblib = ">=1.2.0,<1.6"
+numpy = ">=1.21,<2.4"
packaging = "*"
-pandas = ">=1.1,<2.2.0"
-scikit-base = "<0.7.0"
-scikit-learn = ">=0.24,<1.4.0"
+pandas = ">=1.1,<2.4.0"
+scikit-base = ">=0.6.1,<0.13.0"
+scikit-learn = ">=0.24,<1.8.0"
scipy = ">=1.2,<2.0.0"
[package.extras]
-alignment = ["dtw-python (>=1.3,<1.4)", "numba (>=0.53,<0.59) ; python_version
< \"3.12\""]
-all-extras = ["arch (>=5.6,<6.3.0)", "cloudpickle", "dash (!=2.9.0)", "dask",
"dtw-python", "esig (==0.9.7) ; python_version < \"3.10\"", "filterpy (>=1.4.5)
; python_version < \"3.11\"", "gluonts (>=0.9)", "h5py ; python_version <
\"3.12\"", "hmmlearn (>=0.2.7) ; python_version < \"3.11\"", "holidays",
"keras-self-attention ; python_version < \"3.11\"", "kotsu (>=0.3.1)",
"matplotlib (>=3.3.2)", "mne", "numba (>=0.53,<0.59) ; python_version <
\"3.12\"", "pmdarima (>=1.8,!=1.8.1,<3.0.0) [...]
-all-extras-pandas2 = ["arch (>=5.6,<6.3.0)", "cloudpickle", "dash (!=2.9.0)",
"dask (<2023.12.2)", "dtw-python", "esig (==0.9.7) ; python_version <
\"3.10\"", "filterpy (>=1.4.5) ; python_version < \"3.11\"", "gluonts (>=0.9)",
"h5py ; python_version < \"3.12\"", "hmmlearn (>=0.2.7) ; python_version <
\"3.11\"", "holidays", "keras-self-attention ; python_version < \"3.11\"",
"kotsu (>=0.3.1)", "matplotlib (>=3.3.2)", "mne", "numba (>=0.53,<0.59) ;
python_version < \"3.12\"", "pmdarima (> [...]
-annotation = ["hmmlearn (>=0.2.7,<0.4)", "numba (>=0.53,<0.59) ;
python_version < \"3.12\"", "pyod (>=0.8,<1.2) ; python_version < \"3.12\""]
-binder = ["jupyter", "pandas (<2.0.0)"]
-classification = ["esig (>=0.9.7,<0.10) ; python_version < \"3.11\"", "numba
(>=0.53,<0.59) ; python_version < \"3.12\"", "tensorflow (>=2,<=2.14) ;
python_version < \"3.12\"", "tsfresh (>=0.17,<0.21) ; python_version <
\"3.12\""]
-clustering = ["numba (>=0.53,<0.59) ; python_version < \"3.12\"", "tslearn
(>=0.5.2,<0.6.3) ; python_version < \"3.12\""]
-cython-extras = ["mrseql", "mrsqm ; python_version < \"3.11\"", "numba
(<0.59)"]
-dev = ["backoff", "httpx", "pre-commit", "pytest", "pytest-cov",
"pytest-randomly", "pytest-timeout", "pytest-xdist", "wheel"]
-dl = ["tensorflow (>=2,<=2.14) ; python_version < \"3.12\"", "torch ;
python_version < \"3.12\""]
-docs = ["Sphinx (!=7.2.0,<8.0.0)", "jupyter", "myst-parser", "nbsphinx
(>=0.8.6)", "numpydoc", "pydata-sphinx-theme", "sphinx-copybutton",
"sphinx-design (<0.6.0)", "sphinx-gallery (<0.16.0)", "sphinx-issues (<4.0.0)",
"tabulate"]
-forecasting = ["arch (>=5.6,<6.3)", "pmdarima (>=1.8,!=1.8.1,<2.1) ;
python_version < \"3.12\"", "prophet (>=1.1,<1.2)", "skpro (>=2,<2.2)",
"statsforecast (>=0.5.2,<1.7) ; python_version < \"3.12\"", "statsmodels
(>=0.12.1,<0.15)", "tbats (>=1.1,<1.2) ; python_version < \"3.12\""]
-mlflow = ["mlflow"]
-mlflow-tests = ["boto3", "botocore", "mlflow", "moto"]
-networks = ["keras-self-attention (>=0.51,<0.52)", "tensorflow (>=2,<=2.14) ;
python_version < \"3.12\""]
+alignment = ["dtaidistance (<2.4) ; python_version < \"3.13\"", "dtw-python
(>=1.3,<1.6) ; python_version < \"3.13\"", "numba (>=0.53,<0.62) ;
python_version < \"3.13\""]
+all-extras = ["arch (>=5.6,<7.1.0) ; python_version < \"3.13\"", "autots
(>=0.6.1,<0.7)", "cloudpickle ; python_version < \"3.13\"", "dash (!=2.9.0) ;
python_version < \"3.13\"", "dask (>2024.8.2,<2025.2.1) ; python_version <
\"3.13\"", "dtaidistance (<2.4) ; python_version < \"3.13\"", "dtw-python ;
python_version < \"3.13\"", "esig (==0.9.7) ; python_version < \"3.10\" and
platform_machine != \"aarch64\"", "filterpy (>=1.4.5) ; python_version <
\"3.11\"", "gluonts (>=0.9) ; python_vers [...]
+all-extras-pandas2 = ["arch (>=5.6,<7.1.0) ; python_version < \"3.13\"",
"autots (>=0.6.1,<0.7) ; python_version < \"3.13\"", "cloudpickle ;
python_version < \"3.13\"", "dash (!=2.9.0) ; python_version < \"3.13\"", "dask
(>2024.8.2,<2025.2.1) ; python_version < \"3.13\"", "dtaidistance (<2.4) ;
python_version < \"3.13\"", "dtw-python ; python_version < \"3.13\"", "esig
(==0.9.7) ; python_version < \"3.10\" and platform_machine != \"aarch64\"",
"filterpy (>=1.4.5) ; python_version < \"3.1 [...]
+annotation = ["hmmlearn (>=0.2.7,<0.4) ; python_version < \"3.13\"", "numba
(>=0.53,<0.62) ; python_version < \"3.13\"", "pyod (>=0.8,<1.2) ;
python_version < \"3.12\""]
+binder = ["jupyter", "pandas (<2.0.0)", "skchange"]
+classification = ["esig (>=0.9.7,<0.10) ; python_version < \"3.11\" and
platform_machine != \"aarch64\"", "numba (>=0.53,<0.62) ; python_version <
\"3.13\"", "tensorflow (>=2,<2.20) ; python_version < \"3.13\"", "tsfresh
(>=0.17,<0.21) ; python_version < \"3.12\""]
+clustering = ["networkx (<3.5)", "numba (>=0.53,<0.62) ; python_version <
\"3.13\"", "ts2vg (<1.3) ; python_version < \"3.13\" and platform_machine !=
\"aarch64\"", "tslearn (>=0.5.2,!=0.6.0,<0.7.0) ; python_version < \"3.12\""]
+compatibility-tests = ["catboost ; python_version < \"3.13\""]
+cython-extras = ["mrseql (<0.0.3)", "mrsqm ; python_version < \"3.11\"",
"numba (<0.62)"]
+dataframe = ["dask (>2024.8.2,<2025.2.1) ; python_version < \"3.13\"", "dask
(>2024.8.2,<2025.2.1) ; python_version < \"3.13\""]
+datasets = ["rdata", "requests"]
+detection = ["hmmlearn (>=0.2.7,<0.4) ; python_version < \"3.13\"", "numba
(>=0.53,<0.62) ; python_version < \"3.13\"", "pyod (>=0.8,<1.2) ;
python_version < \"3.12\""]
+dev = ["backoff", "httpx", "pre-commit", "pytest", "pytest-randomly",
"pytest-timeout", "pytest-xdist", "wheel"]
+dl = ["FrEIA ; python_version < \"3.12\"", "accelerate", "einops (>0.7.0) ;
python_version < \"3.12\"", "gluonts (>=0.14.3) ; python_version < \"3.12\"",
"huggingface-hub (>=0.23.0) ; python_version < \"3.12\"", "hydra-core ;
python_version < \"3.13\"", "lightning (>=2.0) ; python_version < \"3.12\"",
"neuralforecast (>=1.6.4,<1.8.0) ; python_version < \"3.11\"", "peft
(>=0.10.0,<0.14.0) ; python_version < \"3.12\"", "pykan (>=0.2.1,<0.2.9) ;
python_version > \"3.9.7\"", "pytorch-forecas [...]
+docs = ["Sphinx (!=7.2.0,<9.0.0)", "jupyter", "myst-parser", "nbsphinx
(>=0.8.6)", "numpydoc", "pydata-sphinx-theme", "sphinx-copybutton",
"sphinx-design (<0.7.0)", "sphinx-gallery (<0.20.0)", "sphinx-issues (<6.0.0)",
"tabulate"]
+forecasting = ["arch (>=5.6,<7.1) ; python_version < \"3.13\"", "autots
(>=0.6.1,<0.7) ; python_version < \"3.13\"", "pmdarima (>=1.8,!=1.8.1,<2.1) ;
python_version < \"3.12\"", "prophet (>=1.1,<1.2) ; python_version < \"3.13\"",
"skforecast (>=0.12.1,<0.15) ; python_version < \"3.13\"", "skpro
(>=2,<2.10.0)", "statsforecast (>=1.0.0,<2.1.0) ; python_version < \"3.13\"",
"statsmodels (>=0.12.1,<0.15) ; python_version < \"3.13\"", "tbats (>=1.1,<1.2)
; python_version < \"3.12\""]
+mlflow = ["mlflow (<4.0)"]
+mlflow-tests = ["boto3", "botocore", "mlflow (<4.0)", "moto"]
+mlflow2 = ["mlflow (<3.0)"]
+networks = ["tensorflow (>=2,<2.20) ; python_version < \"3.13\""]
+numpy1 = ["numpy (<2.0.0)"]
pandas1 = ["pandas (<2.0.0)"]
-param-est = ["seasonal (>=0.3.1,<0.4)", "statsmodels (>=0.12.1,<0.15)"]
-regression = ["numba (>=0.53,<0.59) ; python_version < \"3.12\"", "tensorflow
(>=2,<=2.14) ; python_version < \"3.12\""]
-tests = ["pytest (>=7.4,<7.5)", "pytest-cov (>=4.1,<4.2)", "pytest-randomly
(>=3.15,<3.16)", "pytest-timeout (>=2.1,<2.3)", "pytest-xdist (>=3.3,<3.6)"]
-transformations = ["esig (>=0.9.7,<0.10) ; python_version < \"3.11\"",
"filterpy (>=1.4.5,<1.5)", "holidays (>=0.29,<0.40)", "mne (>=1.5,<1.6)",
"numba (>=0.53,<0.59) ; python_version < \"3.12\"", "pycatch22 (>=0.4,<0.4.5)",
"pykalman-bardo (>=0.9.7,<0.10)", "statsmodels (>=0.12.1,<0.15)", "stumpy
(>=1.5.1,<1.13) ; python_version < \"3.12\"", "tsfresh (>=0.17,<0.21) ;
python_version < \"3.12\""]
+param-est = ["seasonal (>=0.3.1,<0.4) ; python_version < \"3.13\"",
"statsmodels (>=0.12.1,<0.15) ; python_version < \"3.13\""]
+regression = ["numba (>=0.53,<0.62) ; python_version < \"3.13\"", "tensorflow
(>=2,<2.20) ; python_version < \"3.13\""]
+tests = ["pytest (>=7.4,<8.5)", "pytest-randomly (>=3.15,<3.17)",
"pytest-timeout (>=2.1,<2.5)", "pytest-xdist (>=3.3,<3.8)"]
+transformations = ["esig (>=0.9.7,<0.10) ; python_version < \"3.11\" and
platform_machine != \"aarch64\"", "filterpy (>=1.4.5,<1.5) ; python_version <
\"3.13\"", "holidays (>=0.29,<0.59) ; python_version < \"3.13\"", "mne
(>=1.5,<1.9) ; python_version < \"3.13\"", "numba (>=0.53,<0.62) ;
python_version < \"3.13\"", "pycatch22 (>=0.4,<0.4.6) ; python_version <
\"3.13\"", "simdkalman", "statsmodels (>=0.12.1,<0.15) ; python_version <
\"3.13\"", "stumpy (>=1.5.1,<1.13) ; python_version < \" [...]
[[package]]
name = "sqlalchemy"
@@ -2269,7 +2419,6 @@ description = "Provider of IANA time zone data"
optional = false
python-versions = ">=2"
groups = ["main"]
-markers = "platform_system == \"Windows\""
files = [
{file = "tzdata-2025.2-py2.py3-none-any.whl", hash =
"sha256:1a403fada01ff9221ca8044d701868fa132215d84beb92242d9acd2147f667a8"},
{file = "tzdata-2025.2.tar.gz", hash =
"sha256:b60a638fcc0daffadf82fe0f57e53d06bdec2f36c4df66280ae79bce6bd6f2b9"},
@@ -2314,4 +2463,4 @@ zstd = ["zstandard (>=0.18.0)"]
[metadata]
lock-version = "2.1"
python-versions = ">=3.9, <3.13"
-content-hash =
"88127f06cb1bd28772090bf1a5ebc37fa2f4089e58be19aeb525bf9a4e2d3699"
+content-hash =
"a2ee013d90934c45b6ef45f73dbba7f0684137897aeffd2cf79d4322808a0bda"
diff --git a/iotdb-core/ainode/pyproject.toml b/iotdb-core/ainode/pyproject.toml
index 1851fce7750..2559fad1706 100644
--- a/iotdb-core/ainode/pyproject.toml
+++ b/iotdb-core/ainode/pyproject.toml
@@ -48,7 +48,7 @@ packages = [
[tool.poetry.dependencies]
python = ">=3.9, <3.13"
numpy = "^1.21.4"
-pandas = "^1.3.5"
+pandas = ">=2.2.0"
torch = "=2.4.0"
pylru = "^1.2.1"
thrift = ">=0.14.0"
@@ -56,7 +56,7 @@ dynaconf = "^3.1.11"
requests = "^2.31.0"
optuna = "^3.2.0"
psutil = "^5.9.5"
-sktime = "^0.24.1"
+sktime = "0.38.3"
pmdarima = "^2.0.4"
hmmlearn = "^0.3.0"
apache-iotdb = "2.0.4.dev0"
diff --git a/iotdb-core/ainode/resources/conf/iotdb-ainode.properties
b/iotdb-core/ainode/resources/conf/iotdb-ainode.properties
index 358567d82cf..db1f9358480 100644
--- a/iotdb-core/ainode/resources/conf/iotdb-ainode.properties
+++ b/iotdb-core/ainode/resources/conf/iotdb-ainode.properties
@@ -72,7 +72,7 @@ ain_inference_rpc_port=10810
# The starting directory of the relative path is related to the operating
system.
# It is recommended to use an absolute path.
# Datatype: String
-# ain_logs_dir=logs/ainode
+# ain_logs_dir=logs
# Whether to use compression in Thrift
# Please use 0 or 1