This is an automated email from the ASF dual-hosted git repository. xiangweiwei pushed a commit to branch refactorPackage in repository https://gitbox.apache.org/repos/asf/iotdb.git
commit fbdcba188a62c80d3933692effd1e3eef68e05f2 Author: Alima777 <[email protected]> AuthorDate: Wed May 24 10:18:20 2023 +0800 change client-cpp and client-py to clients module --- client-cpp/src/main/CMakeLists.txt | 54 ------- client-cpp/src/test/CMakeLists.txt | 63 -------- client-go | 1 - client-py/requirements.txt | 26 ---- client-py/requirements_dev.txt | 27 ---- {client-cpp => client/client-cpp}/README.md | 0 {client-cpp => client/client-cpp}/pom.xml | 27 ++-- .../client-cpp}/src/assembly/client-cpp.xml | 0 .../client-cpp}/src/main/Session.cpp | 0 .../client-cpp}/src/main/Session.h | 0 .../client-cpp}/src/test/cpp/sessionIT.cpp | 0 .../client-cpp}/src/test/main.cpp | 0 {client-py => client/client-py}/.flake8 | 0 {client-py => client/client-py}/.gitignore | 0 {client-py => client/client-py}/README.md | 0 .../client-py}/SessionAlignedTimeseriesExample.py | 0 {client-py => client/client-py}/SessionExample.py | 0 .../client-py}/iotdb/IoTDBContainer.py | 0 {client-py => client/client-py}/iotdb/Session.py | 0 {client-py => client/client-py}/iotdb/__init__.py | 0 .../client-py}/iotdb/dbapi/Connection.py | 0 .../client-py}/iotdb/dbapi/Cursor.py | 0 .../client-py}/iotdb/dbapi/Exceptions.py | 0 .../client-py}/iotdb/dbapi/__init__.py | 0 .../client-py}/iotdb/dbapi/tests/__init__.py | 0 .../iotdb/dbapi/tests/test_connection.py | 0 .../client-py}/iotdb/dbapi/tests/test_cursor.py | 0 .../client-py}/iotdb/sqlalchemy/IoTDBDialect.py | 0 .../iotdb/sqlalchemy/IoTDBIdentifierPreparer.py | 0 .../iotdb/sqlalchemy/IoTDBSQLCompiler.py | 0 .../iotdb/sqlalchemy/IoTDBTypeCompiler.py | 0 .../client-py}/iotdb/sqlalchemy/__init__.py | 0 .../client-py}/iotdb/sqlalchemy/tests/__init__.py | 0 .../iotdb/sqlalchemy/tests/test_dialect.py | 0 .../client-py}/iotdb/template/InternalNode.py | 0 .../client-py}/iotdb/template/MeasurementNode.py | 0 .../client-py}/iotdb/template/Template.py | 0 .../client-py}/iotdb/template/TemplateNode.py | 0 .../client-py}/iotdb/template/TemplateQueryType.py | 0 .../client-py}/iotdb/template/__init__.py | 0 .../client-py}/iotdb/tsfile/__init__.py | 0 .../client-py}/iotdb/tsfile/common/__init__.py | 0 .../iotdb/tsfile/common/constant/TsFileConstant.py | 0 .../iotdb/tsfile/common/constant/__init__.py | 0 .../client-py}/iotdb/tsfile/utils/Pair.py | 0 .../iotdb/tsfile/utils/ReadWriteIOUtils.py | 0 .../client-py}/iotdb/tsfile/utils/__init__.py | 0 .../client-py}/iotdb/utils/BitMap.py | 0 .../client-py}/iotdb/utils/Field.py | 0 .../iotdb/utils/IoTDBConnectionException.py | 0 .../client-py}/iotdb/utils/IoTDBConstants.py | 0 .../client-py}/iotdb/utils/IoTDBRpcDataSet.py | 0 .../client-py}/iotdb/utils/NumpyTablet.py | 0 .../client-py}/iotdb/utils/RowRecord.py | 0 .../client-py}/iotdb/utils/SessionDataSet.py | 0 .../client-py}/iotdb/utils/Tablet.py | 0 .../client-py}/iotdb/utils/__init__.py | 0 {client-py => client/client-py}/pom.xml | 17 +- {client-py => client/client-py}/pyproject.toml | 0 {client-py => client/client-py}/release.sh | 0 {client-py => client/client-py}/setup.py | 0 {client-py => client/client-py}/tests/__init__.py | 0 .../tests/tablet_performance_comparison.py | 0 .../client-py}/tests/test_aligned_timeseries.py | 0 .../client-py}/tests/test_dataframe.py | 0 .../client-py}/tests/test_delete_data.py | 0 .../client-py}/tests/test_numpy_tablet.py | 0 .../client-py}/tests/test_one_device.py | 0 .../client-py}/tests/test_session.py | 0 .../client-py}/tests/test_tablet.py | 0 .../client-py}/tests/test_template.py | 0 {client-py => client/client-py}/tests/test_todf.py | 0 client/pom.xml | 60 ++++++++ pom.xml | 171 ++++++++++----------- 74 files changed, 162 insertions(+), 284 deletions(-) diff --git a/client-cpp/src/main/CMakeLists.txt b/client-cpp/src/main/CMakeLists.txt deleted file mode 100644 index 5a044a6383f..00000000000 --- a/client-cpp/src/main/CMakeLists.txt +++ /dev/null @@ -1,54 +0,0 @@ -# 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. -# - -CMAKE_MINIMUM_REQUIRED(VERSION 3.7) -PROJECT(iotdb_session CXX) -SET(CMAKE_CXX_STANDARD 11) -SET(CMAKE_CXX_STANDARD_REQUIRED ON) -SET(CMAKE_POSITION_INDEPENDENT_CODE ON) -SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11 -Wall -g -O2 ") -SET(TOOLS_DIR "${CMAKE_SOURCE_DIR}/../../../../compile-tools") - -# Add Thrift include directory -INCLUDE_DIRECTORIES(${TOOLS_DIR}/thrift/target/thrift-0.14.1/lib/cpp/src) - -FIND_PACKAGE(Boost REQUIRED) -IF (DEFINED BOOST_INCLUDEDIR) - INCLUDE_DIRECTORIES(${Boost_INCLUDE_DIR}) -ENDIF() - -IF(MSVC) - SET(THRIFT_STATIC_LIB "${TOOLS_DIR}/thrift/target/build/lib/Release/thriftmd.lib") -ELSE() - SET(THRIFT_STATIC_LIB "${TOOLS_DIR}/thrift/target/build/lib/libthrift.a") -ENDIF() - -# Add Boost include path for MacOS -INCLUDE_DIRECTORIES(/usr/local/include) - -# Add ./generated-sources-cpp as a Cmake subdirectory -AUX_SOURCE_DIRECTORY(./generated-sources-cpp SESSION_SRCS) - -IF(MSVC) - ADD_LIBRARY(iotdb_session ${SESSION_SRCS}) -ELSE() - ADD_LIBRARY(iotdb_session SHARED ${SESSION_SRCS}) -ENDIF() - -# Link with Thrift static library -TARGET_LINK_LIBRARIES(iotdb_session ${THRIFT_STATIC_LIB}) diff --git a/client-cpp/src/test/CMakeLists.txt b/client-cpp/src/test/CMakeLists.txt deleted file mode 100644 index 7d6d18bcd5f..00000000000 --- a/client-cpp/src/test/CMakeLists.txt +++ /dev/null @@ -1,63 +0,0 @@ -# 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. -# - -CMAKE_MINIMUM_REQUIRED(VERSION 3.7) -INCLUDE( CTest ) -SET(CMAKE_CXX_STANDARD 11) -SET(CMAKE_CXX_STANDARD_REQUIRED ON) -SET(TARGET_NAME session_tests) -SET(TOOLS_DIR "${CMAKE_SOURCE_DIR}/../../../../compile-tools") -SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11 -Wall -g -O2") -ENABLE_TESTING() - -# Add Boost include path for MacOS -INCLUDE_DIRECTORIES(/usr/local/include) -# Add Session related include files -INCLUDE_DIRECTORIES(${CMAKE_SOURCE_DIR}/../main/generated-sources-cpp) -# Add Thrift include directory -INCLUDE_DIRECTORIES(${TOOLS_DIR}/thrift/target/thrift-0.14.1/lib/cpp/src) - -find_package(Boost REQUIRED) -IF (DEFINED BOOST_INCLUDEDIR) - include_directories("${Boost_INCLUDE_DIR}") -ENDIF() - -# Link directories are different for Windows and Linux/Mac -IF(MSVC) - LINK_DIRECTORIES(${CMAKE_SOURCE_DIR}/../main/Release) - SET(THRIFT_STATIC_LIB "${TOOLS_DIR}/thrift/target/build/lib/Release/thriftmd.lib") -ELSE() - LINK_DIRECTORIES(${CMAKE_SOURCE_DIR}/../main) -ENDIF() - -ADD_EXECUTABLE(${TARGET_NAME} main.cpp cpp/sessionIT.cpp) - -# Link with shared library iotdb_session and pthread -IF(MSVC) - TARGET_LINK_LIBRARIES(${TARGET_NAME} iotdb_session ${THRIFT_STATIC_LIB}) -ELSE() - TARGET_LINK_LIBRARIES(${TARGET_NAME} iotdb_session pthread) -ENDIF() -TARGET_INCLUDE_DIRECTORIES(${TARGET_NAME} PUBLIC ./catch2/) - -# Add 'sessionIT' to the project to be run by ctest -IF(MSVC) - ADD_TEST(NAME sessionIT CONFIGURATIONS Release COMMAND ${TARGET_NAME}) -ELSE() - ADD_TEST(NAME sessionIT COMMAND ${TARGET_NAME}) -ENDIF() diff --git a/client-go b/client-go deleted file mode 160000 index a05323c73a3..00000000000 --- a/client-go +++ /dev/null @@ -1 +0,0 @@ -Subproject commit a05323c73a3d615efde25d4d3287fcee32ec1292 diff --git a/client-py/requirements.txt b/client-py/requirements.txt deleted file mode 100644 index 521bb7ed836..00000000000 --- a/client-py/requirements.txt +++ /dev/null @@ -1,26 +0,0 @@ -# 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. -# - -# Pandas Export -pandas>=1.3.5 -# Testcontainer -testcontainers==3.3.0 -numpy>=1.21.4 -# SQLAlchemy Dialect -sqlalchemy == 1.3.20 -sqlalchemy-utils == 0.36.8 \ No newline at end of file diff --git a/client-py/requirements_dev.txt b/client-py/requirements_dev.txt deleted file mode 100644 index 304a07c3172..00000000000 --- a/client-py/requirements_dev.txt +++ /dev/null @@ -1,27 +0,0 @@ -# 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. -# - --r requirements.txt -# Pytest to run tests -pytest==7.2.0 -thrift==0.14.1 -flake8==3.9.0 -black==20.8b1 -# For releases -twine==3.4.1 -wheel==0.38.1 \ No newline at end of file diff --git a/client-cpp/README.md b/client/client-cpp/README.md similarity index 100% rename from client-cpp/README.md rename to client/client-cpp/README.md diff --git a/client-cpp/pom.xml b/client/client-cpp/pom.xml similarity index 95% rename from client-cpp/pom.xml rename to client/client-cpp/pom.xml index 1e9a199d74a..e892349595a 100644 --- a/client-cpp/pom.xml +++ b/client/client-cpp/pom.xml @@ -22,7 +22,7 @@ <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> <modelVersion>4.0.0</modelVersion> <parent> - <artifactId>iotdb-parent</artifactId> + <artifactId>iotdb-clients</artifactId> <groupId>org.apache.iotdb</groupId> <version>1.2.0-SNAPSHOT</version> <relativePath>../pom.xml</relativePath> @@ -42,7 +42,7 @@ <catch2.url>https://github.com/catchorg/Catch2/releases/download/v2.13.7/catch.hpp</catch2.url> </properties> <modules> - <module>../example/client-cpp-example</module> + <module>../../example/client-cpp-example</module> </modules> <dependencies> <dependency> @@ -50,11 +50,6 @@ <artifactId>client-cpp-tools-thrift</artifactId> <version>${project.version}</version> </dependency> - <dependency> - <groupId>org.apache.iotdb</groupId> - <artifactId>iotdb-thrift-commons</artifactId> - <version>${project.version}</version> - </dependency> </dependencies> <profiles> <profile> @@ -241,15 +236,15 @@ <configuration> <classifier>${os.classifier}</classifier> <!-- - We need to use a newer version of cmake, so disable downloading. If we do not - set this to false, a cmake of version 3.7.2 will be downloaded. - --> + We need to use a newer version of cmake, so disable downloading. If we do not + set this to false, a cmake of version 3.7.2 will be downloaded. + --> <downloadBinaries>false</downloadBinaries> <sourcePath>${project.build.directory}/build/main</sourcePath> <!-- - Path to where the build configuration is generated - (This directory is then used in the compile step to actually perform the build) - --> + Path to where the build configuration is generated + (This directory is then used in the compile step to actually perform the build) + --> <targetPath>${project.build.directory}/build/main</targetPath> <generator>${cmake.generator}</generator> <options> @@ -269,9 +264,9 @@ <classifier>${os.classifier}</classifier> <config>${cmake.build.type}</config> <!-- - We need to use a newer version of cmake, so disable downloading - and tell the plugin where to find that version. - --> + We need to use a newer version of cmake, so disable downloading + and tell the plugin where to find that version. + --> <downloadBinaries>false</downloadBinaries> <!-- The directory where the "generate" step generated the build configuration --> <projectDirectory>${project.build.directory}/build/main</projectDirectory> diff --git a/client-cpp/src/assembly/client-cpp.xml b/client/client-cpp/src/assembly/client-cpp.xml similarity index 100% rename from client-cpp/src/assembly/client-cpp.xml rename to client/client-cpp/src/assembly/client-cpp.xml diff --git a/client-cpp/src/main/Session.cpp b/client/client-cpp/src/main/Session.cpp similarity index 100% rename from client-cpp/src/main/Session.cpp rename to client/client-cpp/src/main/Session.cpp diff --git a/client-cpp/src/main/Session.h b/client/client-cpp/src/main/Session.h similarity index 100% rename from client-cpp/src/main/Session.h rename to client/client-cpp/src/main/Session.h diff --git a/client-cpp/src/test/cpp/sessionIT.cpp b/client/client-cpp/src/test/cpp/sessionIT.cpp similarity index 100% rename from client-cpp/src/test/cpp/sessionIT.cpp rename to client/client-cpp/src/test/cpp/sessionIT.cpp diff --git a/client-cpp/src/test/main.cpp b/client/client-cpp/src/test/main.cpp similarity index 100% rename from client-cpp/src/test/main.cpp rename to client/client-cpp/src/test/main.cpp diff --git a/client-py/.flake8 b/client/client-py/.flake8 similarity index 100% rename from client-py/.flake8 rename to client/client-py/.flake8 diff --git a/client-py/.gitignore b/client/client-py/.gitignore similarity index 100% rename from client-py/.gitignore rename to client/client-py/.gitignore diff --git a/client-py/README.md b/client/client-py/README.md similarity index 100% rename from client-py/README.md rename to client/client-py/README.md diff --git a/client-py/SessionAlignedTimeseriesExample.py b/client/client-py/SessionAlignedTimeseriesExample.py similarity index 100% rename from client-py/SessionAlignedTimeseriesExample.py rename to client/client-py/SessionAlignedTimeseriesExample.py diff --git a/client-py/SessionExample.py b/client/client-py/SessionExample.py similarity index 100% rename from client-py/SessionExample.py rename to client/client-py/SessionExample.py diff --git a/client-py/iotdb/IoTDBContainer.py b/client/client-py/iotdb/IoTDBContainer.py similarity index 100% rename from client-py/iotdb/IoTDBContainer.py rename to client/client-py/iotdb/IoTDBContainer.py diff --git a/client-py/iotdb/Session.py b/client/client-py/iotdb/Session.py similarity index 100% rename from client-py/iotdb/Session.py rename to client/client-py/iotdb/Session.py diff --git a/client-py/iotdb/__init__.py b/client/client-py/iotdb/__init__.py similarity index 100% rename from client-py/iotdb/__init__.py rename to client/client-py/iotdb/__init__.py diff --git a/client-py/iotdb/dbapi/Connection.py b/client/client-py/iotdb/dbapi/Connection.py similarity index 100% rename from client-py/iotdb/dbapi/Connection.py rename to client/client-py/iotdb/dbapi/Connection.py diff --git a/client-py/iotdb/dbapi/Cursor.py b/client/client-py/iotdb/dbapi/Cursor.py similarity index 100% rename from client-py/iotdb/dbapi/Cursor.py rename to client/client-py/iotdb/dbapi/Cursor.py diff --git a/client-py/iotdb/dbapi/Exceptions.py b/client/client-py/iotdb/dbapi/Exceptions.py similarity index 100% rename from client-py/iotdb/dbapi/Exceptions.py rename to client/client-py/iotdb/dbapi/Exceptions.py diff --git a/client-py/iotdb/dbapi/__init__.py b/client/client-py/iotdb/dbapi/__init__.py similarity index 100% rename from client-py/iotdb/dbapi/__init__.py rename to client/client-py/iotdb/dbapi/__init__.py diff --git a/client-py/iotdb/dbapi/tests/__init__.py b/client/client-py/iotdb/dbapi/tests/__init__.py similarity index 100% rename from client-py/iotdb/dbapi/tests/__init__.py rename to client/client-py/iotdb/dbapi/tests/__init__.py diff --git a/client-py/iotdb/dbapi/tests/test_connection.py b/client/client-py/iotdb/dbapi/tests/test_connection.py similarity index 100% rename from client-py/iotdb/dbapi/tests/test_connection.py rename to client/client-py/iotdb/dbapi/tests/test_connection.py diff --git a/client-py/iotdb/dbapi/tests/test_cursor.py b/client/client-py/iotdb/dbapi/tests/test_cursor.py similarity index 100% rename from client-py/iotdb/dbapi/tests/test_cursor.py rename to client/client-py/iotdb/dbapi/tests/test_cursor.py diff --git a/client-py/iotdb/sqlalchemy/IoTDBDialect.py b/client/client-py/iotdb/sqlalchemy/IoTDBDialect.py similarity index 100% rename from client-py/iotdb/sqlalchemy/IoTDBDialect.py rename to client/client-py/iotdb/sqlalchemy/IoTDBDialect.py diff --git a/client-py/iotdb/sqlalchemy/IoTDBIdentifierPreparer.py b/client/client-py/iotdb/sqlalchemy/IoTDBIdentifierPreparer.py similarity index 100% rename from client-py/iotdb/sqlalchemy/IoTDBIdentifierPreparer.py rename to client/client-py/iotdb/sqlalchemy/IoTDBIdentifierPreparer.py diff --git a/client-py/iotdb/sqlalchemy/IoTDBSQLCompiler.py b/client/client-py/iotdb/sqlalchemy/IoTDBSQLCompiler.py similarity index 100% rename from client-py/iotdb/sqlalchemy/IoTDBSQLCompiler.py rename to client/client-py/iotdb/sqlalchemy/IoTDBSQLCompiler.py diff --git a/client-py/iotdb/sqlalchemy/IoTDBTypeCompiler.py b/client/client-py/iotdb/sqlalchemy/IoTDBTypeCompiler.py similarity index 100% rename from client-py/iotdb/sqlalchemy/IoTDBTypeCompiler.py rename to client/client-py/iotdb/sqlalchemy/IoTDBTypeCompiler.py diff --git a/client-py/iotdb/sqlalchemy/__init__.py b/client/client-py/iotdb/sqlalchemy/__init__.py similarity index 100% rename from client-py/iotdb/sqlalchemy/__init__.py rename to client/client-py/iotdb/sqlalchemy/__init__.py diff --git a/client-py/iotdb/sqlalchemy/tests/__init__.py b/client/client-py/iotdb/sqlalchemy/tests/__init__.py similarity index 100% rename from client-py/iotdb/sqlalchemy/tests/__init__.py rename to client/client-py/iotdb/sqlalchemy/tests/__init__.py diff --git a/client-py/iotdb/sqlalchemy/tests/test_dialect.py b/client/client-py/iotdb/sqlalchemy/tests/test_dialect.py similarity index 100% rename from client-py/iotdb/sqlalchemy/tests/test_dialect.py rename to client/client-py/iotdb/sqlalchemy/tests/test_dialect.py diff --git a/client-py/iotdb/template/InternalNode.py b/client/client-py/iotdb/template/InternalNode.py similarity index 100% rename from client-py/iotdb/template/InternalNode.py rename to client/client-py/iotdb/template/InternalNode.py diff --git a/client-py/iotdb/template/MeasurementNode.py b/client/client-py/iotdb/template/MeasurementNode.py similarity index 100% rename from client-py/iotdb/template/MeasurementNode.py rename to client/client-py/iotdb/template/MeasurementNode.py diff --git a/client-py/iotdb/template/Template.py b/client/client-py/iotdb/template/Template.py similarity index 100% rename from client-py/iotdb/template/Template.py rename to client/client-py/iotdb/template/Template.py diff --git a/client-py/iotdb/template/TemplateNode.py b/client/client-py/iotdb/template/TemplateNode.py similarity index 100% rename from client-py/iotdb/template/TemplateNode.py rename to client/client-py/iotdb/template/TemplateNode.py diff --git a/client-py/iotdb/template/TemplateQueryType.py b/client/client-py/iotdb/template/TemplateQueryType.py similarity index 100% rename from client-py/iotdb/template/TemplateQueryType.py rename to client/client-py/iotdb/template/TemplateQueryType.py diff --git a/client-py/iotdb/template/__init__.py b/client/client-py/iotdb/template/__init__.py similarity index 100% rename from client-py/iotdb/template/__init__.py rename to client/client-py/iotdb/template/__init__.py diff --git a/client-py/iotdb/tsfile/__init__.py b/client/client-py/iotdb/tsfile/__init__.py similarity index 100% rename from client-py/iotdb/tsfile/__init__.py rename to client/client-py/iotdb/tsfile/__init__.py diff --git a/client-py/iotdb/tsfile/common/__init__.py b/client/client-py/iotdb/tsfile/common/__init__.py similarity index 100% rename from client-py/iotdb/tsfile/common/__init__.py rename to client/client-py/iotdb/tsfile/common/__init__.py diff --git a/client-py/iotdb/tsfile/common/constant/TsFileConstant.py b/client/client-py/iotdb/tsfile/common/constant/TsFileConstant.py similarity index 100% rename from client-py/iotdb/tsfile/common/constant/TsFileConstant.py rename to client/client-py/iotdb/tsfile/common/constant/TsFileConstant.py diff --git a/client-py/iotdb/tsfile/common/constant/__init__.py b/client/client-py/iotdb/tsfile/common/constant/__init__.py similarity index 100% rename from client-py/iotdb/tsfile/common/constant/__init__.py rename to client/client-py/iotdb/tsfile/common/constant/__init__.py diff --git a/client-py/iotdb/tsfile/utils/Pair.py b/client/client-py/iotdb/tsfile/utils/Pair.py similarity index 100% rename from client-py/iotdb/tsfile/utils/Pair.py rename to client/client-py/iotdb/tsfile/utils/Pair.py diff --git a/client-py/iotdb/tsfile/utils/ReadWriteIOUtils.py b/client/client-py/iotdb/tsfile/utils/ReadWriteIOUtils.py similarity index 100% rename from client-py/iotdb/tsfile/utils/ReadWriteIOUtils.py rename to client/client-py/iotdb/tsfile/utils/ReadWriteIOUtils.py diff --git a/client-py/iotdb/tsfile/utils/__init__.py b/client/client-py/iotdb/tsfile/utils/__init__.py similarity index 100% rename from client-py/iotdb/tsfile/utils/__init__.py rename to client/client-py/iotdb/tsfile/utils/__init__.py diff --git a/client-py/iotdb/utils/BitMap.py b/client/client-py/iotdb/utils/BitMap.py similarity index 100% rename from client-py/iotdb/utils/BitMap.py rename to client/client-py/iotdb/utils/BitMap.py diff --git a/client-py/iotdb/utils/Field.py b/client/client-py/iotdb/utils/Field.py similarity index 100% rename from client-py/iotdb/utils/Field.py rename to client/client-py/iotdb/utils/Field.py diff --git a/client-py/iotdb/utils/IoTDBConnectionException.py b/client/client-py/iotdb/utils/IoTDBConnectionException.py similarity index 100% rename from client-py/iotdb/utils/IoTDBConnectionException.py rename to client/client-py/iotdb/utils/IoTDBConnectionException.py diff --git a/client-py/iotdb/utils/IoTDBConstants.py b/client/client-py/iotdb/utils/IoTDBConstants.py similarity index 100% rename from client-py/iotdb/utils/IoTDBConstants.py rename to client/client-py/iotdb/utils/IoTDBConstants.py diff --git a/client-py/iotdb/utils/IoTDBRpcDataSet.py b/client/client-py/iotdb/utils/IoTDBRpcDataSet.py similarity index 100% rename from client-py/iotdb/utils/IoTDBRpcDataSet.py rename to client/client-py/iotdb/utils/IoTDBRpcDataSet.py diff --git a/client-py/iotdb/utils/NumpyTablet.py b/client/client-py/iotdb/utils/NumpyTablet.py similarity index 100% rename from client-py/iotdb/utils/NumpyTablet.py rename to client/client-py/iotdb/utils/NumpyTablet.py diff --git a/client-py/iotdb/utils/RowRecord.py b/client/client-py/iotdb/utils/RowRecord.py similarity index 100% rename from client-py/iotdb/utils/RowRecord.py rename to client/client-py/iotdb/utils/RowRecord.py diff --git a/client-py/iotdb/utils/SessionDataSet.py b/client/client-py/iotdb/utils/SessionDataSet.py similarity index 100% rename from client-py/iotdb/utils/SessionDataSet.py rename to client/client-py/iotdb/utils/SessionDataSet.py diff --git a/client-py/iotdb/utils/Tablet.py b/client/client-py/iotdb/utils/Tablet.py similarity index 100% rename from client-py/iotdb/utils/Tablet.py rename to client/client-py/iotdb/utils/Tablet.py diff --git a/client-py/iotdb/utils/__init__.py b/client/client-py/iotdb/utils/__init__.py similarity index 100% rename from client-py/iotdb/utils/__init__.py rename to client/client-py/iotdb/utils/__init__.py diff --git a/client-py/pom.xml b/client/client-py/pom.xml similarity index 87% rename from client-py/pom.xml rename to client/client-py/pom.xml index 39687b7e123..a2bd79ba9e4 100644 --- a/client-py/pom.xml +++ b/client/client-py/pom.xml @@ -23,7 +23,7 @@ <modelVersion>4.0.0</modelVersion> <parent> <groupId>org.apache.iotdb</groupId> - <artifactId>iotdb-parent</artifactId> + <artifactId>iotdb-clients</artifactId> <version>1.2.0-SNAPSHOT</version> <relativePath>../pom.xml</relativePath> </parent> @@ -36,11 +36,6 @@ <artifactId>iotdb-thrift</artifactId> <version>${project.version}</version> </dependency> - <dependency> - <groupId>org.apache.iotdb</groupId> - <artifactId>iotdb-thrift-commons</artifactId> - <version>${project.version}</version> - </dependency> </dependencies> <build> <plugins> @@ -92,16 +87,16 @@ </goals> <configuration> <encoding>utf-8</encoding> - <outputDirectory>${basedir}/iotdb/thrift/</outputDirectory> + <outputDirectory>iotdb/thrift</outputDirectory> <resources> <resource> - <directory>${basedir}/../thrift/target/generated-sources-python/iotdb/thrift/</directory> + <directory>${basedir}/../../thrift/target/generated-sources-python/iotdb/thrift/</directory> <includes> <include>**/rpc/*</include> </includes> </resource> <resource> - <directory>${basedir}/../thrift-commons/target/generated-sources-python/iotdb/thrift/</directory> + <directory>${basedir}/../../thrift-commons/target/generated-sources-python/iotdb/thrift/</directory> </resource> </resources> </configuration> @@ -116,10 +111,10 @@ </goals> <configuration> <encoding>utf-8</encoding> - <outputDirectory>${basedir}/</outputDirectory> + <outputDirectory/> <resources> <resource> - <directory>${basedir}/..</directory> + <directory>${basedir}/../..</directory> <includes> <include>LICENSE</include> </includes> diff --git a/client-py/pyproject.toml b/client/client-py/pyproject.toml similarity index 100% rename from client-py/pyproject.toml rename to client/client-py/pyproject.toml diff --git a/client-py/release.sh b/client/client-py/release.sh similarity index 100% rename from client-py/release.sh rename to client/client-py/release.sh diff --git a/client-py/setup.py b/client/client-py/setup.py similarity index 100% rename from client-py/setup.py rename to client/client-py/setup.py diff --git a/client-py/tests/__init__.py b/client/client-py/tests/__init__.py similarity index 100% rename from client-py/tests/__init__.py rename to client/client-py/tests/__init__.py diff --git a/client-py/tests/tablet_performance_comparison.py b/client/client-py/tests/tablet_performance_comparison.py similarity index 100% rename from client-py/tests/tablet_performance_comparison.py rename to client/client-py/tests/tablet_performance_comparison.py diff --git a/client-py/tests/test_aligned_timeseries.py b/client/client-py/tests/test_aligned_timeseries.py similarity index 100% rename from client-py/tests/test_aligned_timeseries.py rename to client/client-py/tests/test_aligned_timeseries.py diff --git a/client-py/tests/test_dataframe.py b/client/client-py/tests/test_dataframe.py similarity index 100% rename from client-py/tests/test_dataframe.py rename to client/client-py/tests/test_dataframe.py diff --git a/client-py/tests/test_delete_data.py b/client/client-py/tests/test_delete_data.py similarity index 100% rename from client-py/tests/test_delete_data.py rename to client/client-py/tests/test_delete_data.py diff --git a/client-py/tests/test_numpy_tablet.py b/client/client-py/tests/test_numpy_tablet.py similarity index 100% rename from client-py/tests/test_numpy_tablet.py rename to client/client-py/tests/test_numpy_tablet.py diff --git a/client-py/tests/test_one_device.py b/client/client-py/tests/test_one_device.py similarity index 100% rename from client-py/tests/test_one_device.py rename to client/client-py/tests/test_one_device.py diff --git a/client-py/tests/test_session.py b/client/client-py/tests/test_session.py similarity index 100% rename from client-py/tests/test_session.py rename to client/client-py/tests/test_session.py diff --git a/client-py/tests/test_tablet.py b/client/client-py/tests/test_tablet.py similarity index 100% rename from client-py/tests/test_tablet.py rename to client/client-py/tests/test_tablet.py diff --git a/client-py/tests/test_template.py b/client/client-py/tests/test_template.py similarity index 100% rename from client-py/tests/test_template.py rename to client/client-py/tests/test_template.py diff --git a/client-py/tests/test_todf.py b/client/client-py/tests/test_todf.py similarity index 100% rename from client-py/tests/test_todf.py rename to client/client-py/tests/test_todf.py diff --git a/client/pom.xml b/client/pom.xml new file mode 100644 index 00000000000..4abc3339dbb --- /dev/null +++ b/client/pom.xml @@ -0,0 +1,60 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!-- + + 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. + +--> +<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> + <modelVersion>4.0.0</modelVersion> + <parent> + <groupId>org.apache.iotdb</groupId> + <artifactId>iotdb-parent</artifactId> + <version>1.2.0-SNAPSHOT</version> + <relativePath>../pom.xml</relativePath> + </parent> + <packaging>pom</packaging> + <artifactId>iotdb-clients</artifactId> + <name>IoTDB Clients</name> + <modules> + <module>client-cpp</module> + <module>client-py</module> + </modules> + <build> + <pluginManagement> + <plugins> + <plugin> + <groupId>org.apache.maven.plugins</groupId> + <artifactId>maven-compiler-plugin</artifactId> + <configuration> + <source>8</source> + <target>8</target> + </configuration> + </plugin> + </plugins> + </pluginManagement> + </build> + <dependencyManagement> + <dependencies> + <dependency> + <groupId>org.apache.iotdb</groupId> + <artifactId>iotdb-thrift-commons</artifactId> + <version>${project.version}</version> + </dependency> + </dependencies> + </dependencyManagement> +</project> diff --git a/pom.xml b/pom.xml index b224191718e..9cb1c222142 100644 --- a/pom.xml +++ b/pom.xml @@ -108,9 +108,8 @@ <module>node-commons</module> <module>confignode</module> <module>zeppelin-interpreter</module> - <module>client-py</module> + <module>client</module> <module>compile-tools</module> - <module>client-cpp</module> <module>metrics</module> <!-- Will remove integration at 2023.1.23--> <module>integration</module> @@ -209,11 +208,11 @@ <io.airlift.slice.version>0.41</io.airlift.slice.version> <dep.airlift.version>200</dep.airlift.version> <!-- do not upgrade this package unless we have to... - Some experiments(https://github.com/jixuan1989/DependencyTest/blob/main/src/main/java/timecho/exp/JolTimeCost.java): - jol v0.2, scan tsfile package and calculate the classes size, time cost: 600ms - jol v0.4: time cost is 980ms, - jol v0.14, time cost is 1600ms - --> + Some experiments(https://github.com/jixuan1989/DependencyTest/blob/main/src/main/java/timecho/exp/JolTimeCost.java): + jol v0.2, scan tsfile package and calculate the classes size, time cost: 600ms + jol v0.4: time cost is 980ms, + jol v0.14, time cost is 1600ms + --> <jol-core.version>0.2</jol-core.version> <jackson-core-asl.version>1.9.13</jackson-core-asl.version> <mqtt-client.version>1.12</mqtt-client.version> @@ -240,16 +239,16 @@ <codegen.phase>generate-sources</codegen.phase> </properties> <!-- - if we claim dependencies in dependencyManagement, then we do not claim - their version in sub-project's pom, but we have to claim themselves again - in sub-projects - --> + if we claim dependencies in dependencyManagement, then we do not claim + their version in sub-project's pom, but we have to claim themselves again + in sub-projects + --> <dependencyManagement> <dependencies> <!-- - in the subprojects, you have to claim logback again, because maybe - someone in your dependences uses log4j lib. - --> + in the subprojects, you have to claim logback again, because maybe + someone in your dependences uses log4j lib. + --> <dependency> <groupId>ch.qos.logback</groupId> <artifactId>logback-classic</artifactId> @@ -440,10 +439,10 @@ </exclusions> </dependency> <!-- <dependency> - <groupId>org.javassist</groupId> - <artifactId>javassist</artifactId> - <version>3.24.1-GA</version> - </dependency>--> + <groupId>org.javassist</groupId> + <artifactId>javassist</artifactId> + <version>3.24.1-GA</version> + </dependency>--> <dependency> <groupId>org.mockito</groupId> <artifactId>mockito-core</artifactId> @@ -680,7 +679,7 @@ <pluginManagement> <plugins> <!-- using `mvn -N versions:update-child-modules` can update the version - of child modules to what their parent claims --> + of child modules to what their parent claims --> <plugin> <groupId>org.codehaus.mojo</groupId> <artifactId>versions-maven-plugin</artifactId> @@ -695,18 +694,18 @@ <configuration> <excludePackageNames>*thrift*</excludePackageNames> <!-- - This will suppress the generation of a hidden timestamp at the top of each generated html page - and hopefully let the site generation nod to too big updates every time. - --> + This will suppress the generation of a hidden timestamp at the top of each generated html page + and hopefully let the site generation nod to too big updates every time. + --> <notimestamp>true</notimestamp> <!--Don't fail the build, just because there were issues in the JavaDoc generation.--> <failOnError>false</failOnError> </configuration> </plugin> <!-- - We need to increase the memory available to tests as we were - getting out-of-memory errors when building on windows machines. - --> + We need to increase the memory available to tests as we were + getting out-of-memory errors when building on windows machines. + --> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-surefire-plugin</artifactId> @@ -715,8 +714,8 @@ </configuration> </plugin> <!-- - Plugin for doing the code analysis. - --> + Plugin for doing the code analysis. + --> <plugin> <groupId>org.sonarsource.scanner.maven</groupId> <artifactId>sonar-maven-plugin</artifactId> @@ -870,10 +869,10 @@ </dependencies> </plugin> <!-- - Strange things usually happen if you run with a too low Java version. - This plugin not only checks the minimum java version of 1.8, but also - checks all dependencies (and transitive dependencies) for reported CVEs. - --> + Strange things usually happen if you run with a too low Java version. + This plugin not only checks the minimum java version of 1.8, but also + checks all dependencies (and transitive dependencies) for reported CVEs. + --> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-enforcer-plugin</artifactId> @@ -894,28 +893,28 @@ </goals> </execution> <!-- - Fails the build if classes are included from multiple - artifacts and these are not identical. - --> + Fails the build if classes are included from multiple + artifacts and these are not identical. + --> <!--execution> - <id>enforce-ban-duplicate-classes</id> - <goals> - <goal>enforce</goal> - </goals> - <configuration> - <rules> - <banDuplicateClasses> - <scopes> - <scope>compile</scope> - <scope>provided</scope> - </scopes> - <findAllDuplicates>true</findAllDuplicates> - <ignoreWhenIdentical>true</ignoreWhenIdentical> - </banDuplicateClasses> - </rules> - <fail>true</fail> - </configuration> - </execution--> + <id>enforce-ban-duplicate-classes</id> + <goals> + <goal>enforce</goal> + </goals> + <configuration> + <rules> + <banDuplicateClasses> + <scopes> + <scope>compile</scope> + <scope>provided</scope> + </scopes> + <findAllDuplicates>true</findAllDuplicates> + <ignoreWhenIdentical>true</ignoreWhenIdentical> + </banDuplicateClasses> + </rules> + <fail>true</fail> + </configuration> + </execution--> <!-- Make sure no dependencies are used for which known vulnerabilities exist. --> <execution> <id>vulnerability-checks</id> @@ -951,14 +950,14 @@ </dependencies> </plugin> <!-- - Even if Maven transitively pulls in dependencies, relying on these can - quite often cause hard to find problems. So it's a good practice to make - sure everything directly required is also directly added as a dependency. - On the other side adding unused dependency only over-complicates the - the dependency graph, so the maven-dependency-plugin checks we depend on - what we need and only that and that runtime dependencies are correctly - imported with runtime scope. - --> + Even if Maven transitively pulls in dependencies, relying on these can + quite often cause hard to find problems. So it's a good practice to make + sure everything directly required is also directly added as a dependency. + On the other side adding unused dependency only over-complicates the + the dependency graph, so the maven-dependency-plugin checks we depend on + what we need and only that and that runtime dependencies are correctly + imported with runtime scope. + --> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-dependency-plugin</artifactId> @@ -1011,9 +1010,9 @@ </configuration> </plugin> <!-- - Check if all files contain Apache headers in them. - Ignore this plugin, we use license-maven-plugin to check apache header. - --> + Check if all files contain Apache headers in them. + Ignore this plugin, we use license-maven-plugin to check apache header. + --> <plugin> <groupId>org.apache.rat</groupId> <artifactId>apache-rat-plugin</artifactId> @@ -1051,8 +1050,8 @@ </executions> </plugin> <!-- - Generate the legally required text files in the jars - --> + Generate the legally required text files in the jars + --> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-remote-resources-plugin</artifactId> @@ -1151,9 +1150,9 @@ </build> </profile> <!-- - A set of profiles defining the different properties needed to download and run thrift - They are automatically activated depending on the OS you are using. - --> + A set of profiles defining the different properties needed to download and run thrift + They are automatically activated depending on the OS you are using. + --> <profile> <id>windows</id> <activation> @@ -1237,7 +1236,7 @@ <properties> <maven.compiler.release>8</maven.compiler.release> <!-- change to 1.15.0 will modify many codes (all are javadocs), we change it to 1.15.0 - until: iotdb decides to do not support jdk8--> + until: iotdb decides to do not support jdk8--> <google.java.format.version>1.7</google.java.format.version> </properties> <dependencies> @@ -1257,7 +1256,7 @@ </dependencies> </profile> <!-- Add argLine for Java 16 and above, due to [JEP 396: Strongly Encapsulate JDK Internals by Default] - (https://openjdk.java.net/jeps/396) --> + (https://openjdk.java.net/jeps/396) --> <profile> <id>java-16-and-above</id> <activation> @@ -1270,14 +1269,14 @@ </properties> </profile> <!-- - Self activating profile, that activates itself as soon as a "src/main/thrift" directory is found. - The different plugins here download the thrift executable matching the current os, make that - executable (on mac and unix/linux) and run the code generation. + Self activating profile, that activates itself as soon as a "src/main/thrift" directory is found. + The different plugins here download the thrift executable matching the current os, make that + executable (on mac and unix/linux) and run the code generation. - Note to the Download: The download-maven-plugin checks if a resource is previously downloaded - and only downloads each file once. It caches downloaded files in: - {maven local repo}/.cache/download-maven-plugin - --> + Note to the Download: The download-maven-plugin checks if a resource is previously downloaded + and only downloads each file once. It caches downloaded files in: + {maven local repo}/.cache/download-maven-plugin + --> <profile> <id>thrift-generation</id> <activation> @@ -1395,10 +1394,10 @@ <goal>single</goal> </goals> <!-- heads up: combine.self in the following is highlighted - as an error in Eclipse's xml editor view. - Just ignore that. - See https://issues.apache.org/jira/browse/MNG-5454 sigh. - --> + as an error in Eclipse's xml editor view. + Just ignore that. + See https://issues.apache.org/jira/browse/MNG-5454 sigh. + --> <configuration combine.self="append"> <finalName>apache-iotdb-${project.version}</finalName> <archive> @@ -1412,8 +1411,8 @@ </executions> </plugin> <!-- - Create SHA512 checksum files for the release artifacts. - --> + Create SHA512 checksum files for the release artifacts. + --> <plugin> <groupId>net.nicoulaj.maven.plugins</groupId> <artifactId>checksum-maven-plugin</artifactId> @@ -1461,7 +1460,7 @@ <build> <plugins> <!-- Jacoco is a code coverage analysis plugin when tests run. - (not a static code analysis tool)--> + (not a static code analysis tool)--> <plugin> <groupId>org.jacoco</groupId> <artifactId>jacoco-maven-plugin</artifactId> @@ -1478,7 +1477,7 @@ <element>BUNDLE</element> <limits> <!-- Cover methodes >=30%. (the plugin does not support - ignore getter and setter and toString etc..) --> + ignore getter and setter and toString etc..) --> <limit implementation="org.jacoco.report.check.Limit"> <counter>METHOD</counter> <value>COVEREDRATIO</value> @@ -1611,7 +1610,7 @@ </profile> <!-- upload code coverage report to coveralls.io--> <!-- to enable coveralls locally, you need to get the repoToken from https://coveralls.io/github/apache/iotdb. - use `mvn post-integration-test -Pcode-coverage -DrepoToken=TOKEN`--> + use `mvn post-integration-test -Pcode-coverage -DrepoToken=TOKEN`--> <profile> <id>enforce</id> <properties>
