From 66c6711fa2c5992327445cdbfde0c0448a5aa2c3 Mon Sep 17 00:00:00 2001 From: zhanglei1949 Date: Wed, 12 Jun 2024 03:01:28 +0000 Subject: [PATCH] rename to gs_interactive --- .gitignore | 20 ++--- flex/interactive/sdk/generate_sdk.sh | 5 +- .../sdk/python/.openapi-generator-ignore | 4 +- flex/interactive/sdk/python/README.md | 4 +- .../python/gs_interactive/client/__init__.py | 6 ++ .../client/driver.py | 2 +- .../client/generated/__init__.py | 0 .../client/result.py | 6 +- .../client/session.py | 74 +++++++++---------- .../client/status.py | 4 +- .../sdk/python/interactive/client/__init__.py | 6 -- flex/interactive/sdk/python/setup.py | 6 +- .../sdk/python/test/test_driver.py | 50 ++++++------- 13 files changed, 93 insertions(+), 94 deletions(-) create mode 100644 flex/interactive/sdk/python/gs_interactive/client/__init__.py rename flex/interactive/sdk/python/{interactive => gs_interactive}/client/driver.py (98%) rename flex/interactive/sdk/python/{interactive => gs_interactive}/client/generated/__init__.py (100%) rename flex/interactive/sdk/python/{interactive => gs_interactive}/client/result.py (92%) rename flex/interactive/sdk/python/{interactive => gs_interactive}/client/session.py (88%) rename flex/interactive/sdk/python/{interactive => gs_interactive}/client/status.py (97%) delete mode 100644 flex/interactive/sdk/python/interactive/client/__init__.py diff --git a/.gitignore b/.gitignore index 18b3fbf916ef..0a66e390f147 100644 --- a/.gitignore +++ b/.gitignore @@ -137,16 +137,16 @@ flex/interactive/sdk/python/dist/ flex/interactive/sdk/python/.travis.yml flex/interactive/sdk/python/tox.ini flex/interactive/sdk/python/pyproject.toml -flex/interactive/sdk/python/interactive/models/ -flex/interactive/sdk/python/interactive/api/ -flex/interactive/sdk/python/interactive/__init__.py -flex/interactive/sdk/python/interactive/api_client.py -flex/interactive/sdk/python/interactive/api_response.py -flex/interactive/sdk/python/interactive/configuration.py -flex/interactive/sdk/python/interactive/exceptions.py -flex/interactive/sdk/python/interactive/py.typed -flex/interactive/sdk/python/interactive/rest.py -!flex/interactive/sdk/python/interactive/client/generated/__init__.py +flex/interactive/sdk/python/gs_interactive/models/ +flex/interactive/sdk/python/gs_interactive/api/ +flex/interactive/sdk/python/gs_interactive/__init__.py +flex/interactive/sdk/python/gs_interactive/api_client.py +flex/interactive/sdk/python/gs_interactive/api_response.py +flex/interactive/sdk/python/gs_interactive/configuration.py +flex/interactive/sdk/python/gs_interactive/exceptions.py +flex/interactive/sdk/python/gs_interactive/py.typed +flex/interactive/sdk/python/gs_interactive/rest.py +!flex/interactive/sdk/python/gs_interactive/client/generated/__init__.py **/.cache/ diff --git a/flex/interactive/sdk/generate_sdk.sh b/flex/interactive/sdk/generate_sdk.sh index f5d028e615b0..6cd2dc630ef5 100755 --- a/flex/interactive/sdk/generate_sdk.sh +++ b/flex/interactive/sdk/generate_sdk.sh @@ -17,7 +17,7 @@ # It uses the Swagger Codegen tool to generate the SDK PACKAGE_NAME="com.alibaba.graphscope.interactive" -PYTHON_PACKAGE_NAME="openapi" +PYTHON_PACKAGE_NAME="gs_interactive" GROUP_ID="com.alibaba.graphscope" ARTIFACT_ID="interactive" ARTIFACT_URL="https://github.com/alibaba/GraphScope/tree/main/flex/interactive" @@ -72,8 +72,7 @@ function do_gen_python() { echo "Generating Python SDK" OUTPUT_PATH="${CUR_DIR}/python" cmd="openapi-generator-cli generate -i ${OPENAPI_SPEC_PATH} -g python -o ${OUTPUT_PATH}" - # cmd=" ${cmd} --invoker-package ${PYTHON_PACKAGE_NAME}" - cmd=" ${cmd} --package-name interactive" + cmd=" ${cmd} --package-name ${PYTHON_PACKAGE_NAME}" cmd=" ${cmd} --additional-properties=packageVersion=${VERSION},pythonVersion=3" echo "Running command: ${cmd}" eval $cmd diff --git a/flex/interactive/sdk/python/.openapi-generator-ignore b/flex/interactive/sdk/python/.openapi-generator-ignore index acddf083f456..111d91266b33 100644 --- a/flex/interactive/sdk/python/.openapi-generator-ignore +++ b/flex/interactive/sdk/python/.openapi-generator-ignore @@ -25,8 +25,8 @@ README.md setup.py -interactive/__init__.py -interactive/client +gs_interactive/__init__.py +gs_interactive/client requirements.txt test-requirements.txt test/ \ No newline at end of file diff --git a/flex/interactive/sdk/python/README.md b/flex/interactive/sdk/python/README.md index 084bcec99969..44d8ad994a27 100644 --- a/flex/interactive/sdk/python/README.md +++ b/flex/interactive/sdk/python/README.md @@ -27,7 +27,7 @@ python setup.py install --user Then import the package: ```python -import interactive +import gs_interactive ``` ### Tests @@ -46,7 +46,7 @@ Then, connect to the interactive endpoint, and try to run a simple query with fo ```python -from interactive.client.driver import Driver +from gs_interactive.client.driver import Driver # replace endpoint with the actual interactive endpoint, this is mock server just for testing. interactive_endpoint='https://virtserver.swaggerhub.com/GRAPHSCOPE/interactive/1.0.0/' diff --git a/flex/interactive/sdk/python/gs_interactive/client/__init__.py b/flex/interactive/sdk/python/gs_interactive/client/__init__.py new file mode 100644 index 000000000000..1edde7ba916b --- /dev/null +++ b/flex/interactive/sdk/python/gs_interactive/client/__init__.py @@ -0,0 +1,6 @@ +# flake8: noqa + +from gs_interactive.client.driver import Driver +from gs_interactive.client.result import Result +from gs_interactive.client.session import DefaultSession, Session +from gs_interactive.client.status import Status diff --git a/flex/interactive/sdk/python/interactive/client/driver.py b/flex/interactive/sdk/python/gs_interactive/client/driver.py similarity index 98% rename from flex/interactive/sdk/python/interactive/client/driver.py rename to flex/interactive/sdk/python/gs_interactive/client/driver.py index f8d746a0b460..f9396eee8c08 100644 --- a/flex/interactive/sdk/python/interactive/client/driver.py +++ b/flex/interactive/sdk/python/gs_interactive/client/driver.py @@ -28,7 +28,7 @@ from neo4j import GraphDatabase from neo4j import Session as Neo4jSession -from interactive.client.session import DefaultSession, Session +from gs_interactive.client.session import DefaultSession, Session class Driver: diff --git a/flex/interactive/sdk/python/interactive/client/generated/__init__.py b/flex/interactive/sdk/python/gs_interactive/client/generated/__init__.py similarity index 100% rename from flex/interactive/sdk/python/interactive/client/generated/__init__.py rename to flex/interactive/sdk/python/gs_interactive/client/generated/__init__.py diff --git a/flex/interactive/sdk/python/interactive/client/result.py b/flex/interactive/sdk/python/gs_interactive/client/result.py similarity index 92% rename from flex/interactive/sdk/python/interactive/client/result.py rename to flex/interactive/sdk/python/gs_interactive/client/result.py index 2759db52ae07..4aa57cfc6066 100644 --- a/flex/interactive/sdk/python/interactive/client/result.py +++ b/flex/interactive/sdk/python/gs_interactive/client/result.py @@ -20,9 +20,9 @@ from pydantic import Field -from interactive.api_response import ApiResponse -from interactive.client.status import Status -from interactive.exceptions import ApiException +from gs_interactive.api_response import ApiResponse +from gs_interactive.client.status import Status +from gs_interactive.exceptions import ApiException # Define a generic type placeholder T = TypeVar("T") diff --git a/flex/interactive/sdk/python/interactive/client/session.py b/flex/interactive/sdk/python/gs_interactive/client/session.py similarity index 88% rename from flex/interactive/sdk/python/interactive/client/session.py rename to flex/interactive/sdk/python/gs_interactive/client/session.py index fe1bd2382235..d2b332615b94 100644 --- a/flex/interactive/sdk/python/interactive/client/session.py +++ b/flex/interactive/sdk/python/gs_interactive/client/session.py @@ -21,55 +21,55 @@ from pydantic import Field, StrictStr -from interactive.client.status import Status -from interactive.api.admin_service_graph_management_api import ( +from gs_interactive.client.status import Status +from gs_interactive.api.admin_service_graph_management_api import ( AdminServiceGraphManagementApi, ) -from interactive.api.admin_service_job_management_api import ( +from gs_interactive.api.admin_service_job_management_api import ( AdminServiceJobManagementApi, ) -from interactive.api.admin_service_procedure_management_api import ( +from gs_interactive.api.admin_service_procedure_management_api import ( AdminServiceProcedureManagementApi, ) -from interactive.api.admin_service_service_management_api import ( +from gs_interactive.api.admin_service_service_management_api import ( AdminServiceServiceManagementApi, ) -from interactive.api.graph_service_edge_management_api import ( +from gs_interactive.api.graph_service_edge_management_api import ( GraphServiceEdgeManagementApi, ) -from interactive.api.graph_service_vertex_management_api import ( +from gs_interactive.api.graph_service_vertex_management_api import ( GraphServiceVertexManagementApi, ) -from interactive.api.query_service_api import QueryServiceApi -from interactive.api_client import ApiClient -from interactive.client.result import Result -from interactive.configuration import Configuration -from interactive.models.create_graph_request import CreateGraphRequest -from interactive.models.create_graph_response import CreateGraphResponse -from interactive.models.create_procedure_request import ( +from gs_interactive.api.query_service_api import QueryServiceApi +from gs_interactive.api_client import ApiClient +from gs_interactive.client.result import Result +from gs_interactive.configuration import Configuration +from gs_interactive.models.create_graph_request import CreateGraphRequest +from gs_interactive.models.create_graph_response import CreateGraphResponse +from gs_interactive.models.create_procedure_request import ( CreateProcedureRequest, ) -from interactive.models.create_procedure_response import ( +from gs_interactive.models.create_procedure_response import ( CreateProcedureResponse, ) -from interactive.models.edge_request import EdgeRequest -from interactive.models.get_graph_response import GetGraphResponse -from interactive.models.get_graph_schema_response import ( +from gs_interactive.models.edge_request import EdgeRequest +from gs_interactive.models.get_graph_response import GetGraphResponse +from gs_interactive.models.get_graph_schema_response import ( GetGraphSchemaResponse, ) -from interactive.models.get_graph_statistics_response import GetGraphStatisticsResponse -from interactive.models.get_procedure_response import GetProcedureResponse -from interactive.models.job_response import JobResponse -from interactive.models.job_status import JobStatus -from interactive.models.schema_mapping import SchemaMapping -from interactive.models.service_status import ServiceStatus -from interactive.models.start_service_request import StartServiceRequest -from interactive.models.update_procedure_request import ( +from gs_interactive.models.get_graph_statistics_response import GetGraphStatisticsResponse +from gs_interactive.models.get_procedure_response import GetProcedureResponse +from gs_interactive.models.job_response import JobResponse +from gs_interactive.models.job_status import JobStatus +from gs_interactive.models.schema_mapping import SchemaMapping +from gs_interactive.models.service_status import ServiceStatus +from gs_interactive.models.start_service_request import StartServiceRequest +from gs_interactive.models.update_procedure_request import ( UpdateProcedureRequest, ) -from interactive.models.query_request import QueryRequest -from interactive.models.vertex_request import VertexRequest -from interactive.client.generated.results_pb2 import CollectiveResults +from gs_interactive.models.query_request import QueryRequest +from gs_interactive.models.vertex_request import VertexRequest +from gs_interactive.client.generated.results_pb2 import CollectiveResults class EdgeInterface(metaclass=ABCMeta): @@ -547,11 +547,11 @@ def call_procedure( self, graph_id: StrictStr, params: QueryRequest ) -> Result[CollectiveResults]: try: - # Interactive currently support four type of inputformat, see flex/engines/graph_db/graph_db_session.h + # gs_interactive currently support four type of inputformat, see flex/engines/graph_db/graph_db_session.h # Here we add byte of value 1 to denote the input format is in json format response = self._query_api.proc_call_with_http_info( graph_id = graph_id, - x_interactive_request_format = self.JSON_FORMAT, + x_gs_interactive_request_format = self.JSON_FORMAT, body=params.to_json() ) result = CollectiveResults() @@ -567,10 +567,10 @@ def call_procedure_current( self, params: QueryRequest ) -> Result[CollectiveResults]: try: - # Interactive currently support four type of inputformat, see flex/engines/graph_db/graph_db_session.h + # gs_interactive currently support four type of inputformat, see flex/engines/graph_db/graph_db_session.h # Here we add byte of value 1 to denote the input format is in json format response = self._query_api.proc_call_current_with_http_info( - x_interactive_request_format = self.JSON_FORMAT, + x_gs_interactive_request_format = self.JSON_FORMAT, body = params.to_json() ) result = CollectiveResults() @@ -584,11 +584,11 @@ def call_procedure_current( def call_procedure_raw(self, graph_id: StrictStr, params: str) -> Result[str]: try: - # Interactive currently support four type of inputformat, see flex/engines/graph_db/graph_db_session.h + # gs_interactive currently support four type of inputformat, see flex/engines/graph_db/graph_db_session.h # Here we add byte of value 1 to denote the input format is in encoder/decoder format response = self._query_api.proc_call_with_http_info( graph_id = graph_id, - x_interactive_request_format = self.ENCODER_FORMAT, + x_gs_interactive_request_format = self.ENCODER_FORMAT, body = params ) return Result.from_response(response) @@ -597,10 +597,10 @@ def call_procedure_raw(self, graph_id: StrictStr, params: str) -> Result[str]: def call_procedure_current_raw(self, params: str) -> Result[str]: try: - # Interactive currently support four type of inputformat, see flex/engines/graph_db/graph_db_session.h + # gs_interactive currently support four type of inputformat, see flex/engines/graph_db/graph_db_session.h # Here we add byte of value 1 to denote the input format is in encoder/decoder format response = self._query_api.proc_call_current_with_http_info( - x_interactive_request_format = self.ENCODER_FORMAT, + x_gs_interactive_request_format = self.ENCODER_FORMAT, body = params ) return Result.from_response(response) diff --git a/flex/interactive/sdk/python/interactive/client/status.py b/flex/interactive/sdk/python/gs_interactive/client/status.py similarity index 97% rename from flex/interactive/sdk/python/interactive/client/status.py rename to flex/interactive/sdk/python/gs_interactive/client/status.py index 1837cea09f55..e7796b1d026f 100644 --- a/flex/interactive/sdk/python/interactive/client/status.py +++ b/flex/interactive/sdk/python/gs_interactive/client/status.py @@ -19,8 +19,8 @@ from enum import Enum -from interactive.api_response import ApiResponse -from interactive.exceptions import ( +from gs_interactive.api_response import ApiResponse +from gs_interactive.exceptions import ( ApiException, BadRequestException, ForbiddenException, diff --git a/flex/interactive/sdk/python/interactive/client/__init__.py b/flex/interactive/sdk/python/interactive/client/__init__.py deleted file mode 100644 index dcb1103ef10c..000000000000 --- a/flex/interactive/sdk/python/interactive/client/__init__.py +++ /dev/null @@ -1,6 +0,0 @@ -# flake8: noqa - -from interactive.client.driver import Driver -from interactive.client.result import Result -from interactive.client.session import DefaultSession, Session -from interactive.client.status import Status diff --git a/flex/interactive/sdk/python/setup.py b/flex/interactive/sdk/python/setup.py index da26d6eee96c..3e49ca8ae76f 100644 --- a/flex/interactive/sdk/python/setup.py +++ b/flex/interactive/sdk/python/setup.py @@ -21,7 +21,7 @@ # # prerequisite: setuptools # http://pypi.python.org/pypi/setuptools -NAME = "interactive" +NAME = "gs_interactive" VERSION = "0.3" PYTHON_REQUIRES = ">=3.7" REQUIRES = [ @@ -53,7 +53,7 @@ def finalize_options(self): def run(self): proto_path = "../../../../interactive_engine/executor/ir/proto/" proto_files = glob.glob(os.path.join(proto_path, '*.proto')) - output_dir = "./interactive/client/generated/" + output_dir = "./gs_interactive/client/generated/" os.makedirs(output_dir, exist_ok=True) for proto_file in proto_files: cmd = [ @@ -87,6 +87,6 @@ def run(self): long_description="""\ This is the definition of GraphScope Interactive API, including - AdminService API - Vertex/Edge API - QueryService AdminService API (with tag AdminService) defines the API for GraphManagement, ProcedureManagement and Service Management. Vertex/Edge API (with tag GraphService) defines the API for Vertex/Edge management, including creation/updating/delete/retrive. QueryService API (with tag QueryService) defines the API for procedure_call, Ahodc query. """, # noqa: E501 - package_data={"interactive": ["py.typed"]}, + package_data={"gs_interactive": ["py.typed"]}, cmdclass={"build_proto": BuildProto}, ) diff --git a/flex/interactive/sdk/python/test/test_driver.py b/flex/interactive/sdk/python/test/test_driver.py index 4add640b6dce..44884e971761 100644 --- a/flex/interactive/sdk/python/test/test_driver.py +++ b/flex/interactive/sdk/python/test/test_driver.py @@ -23,48 +23,48 @@ import pytest -from interactive.client.driver import Driver -from interactive.models.base_edge_type_vertex_type_pair_relations_inner import ( +from gs_interactive.client.driver import Driver +from gs_interactive.models.base_edge_type_vertex_type_pair_relations_inner import ( BaseEdgeTypeVertexTypePairRelationsInner, ) -from interactive.models.create_edge_type import CreateEdgeType -from interactive.models.create_graph_request import CreateGraphRequest -from interactive.models.create_graph_schema_request import ( +from gs_interactive.models.create_edge_type import CreateEdgeType +from gs_interactive.models.create_graph_request import CreateGraphRequest +from gs_interactive.models.create_graph_schema_request import ( CreateGraphSchemaRequest, ) -from interactive.models.create_procedure_request import ( +from gs_interactive.models.create_procedure_request import ( CreateProcedureRequest, ) -from interactive.models.create_property_meta import CreatePropertyMeta -from interactive.models.create_vertex_type import CreateVertexType -from interactive.models.edge_mapping import EdgeMapping -from interactive.models.edge_mapping_type_triplet import ( +from gs_interactive.models.create_property_meta import CreatePropertyMeta +from gs_interactive.models.create_vertex_type import CreateVertexType +from gs_interactive.models.edge_mapping import EdgeMapping +from gs_interactive.models.edge_mapping_type_triplet import ( EdgeMappingTypeTriplet, ) -from interactive.models.gs_data_type import GSDataType -from interactive.models.typed_value import TypedValue -from interactive.models.job_status import JobStatus -from interactive.models.long_text import LongText -from interactive.models.primitive_type import PrimitiveType -from interactive.models.schema_mapping import SchemaMapping -from interactive.models.schema_mapping_loading_config import ( +from gs_interactive.models.gs_data_type import GSDataType +from gs_interactive.models.typed_value import TypedValue +from gs_interactive.models.job_status import JobStatus +from gs_interactive.models.long_text import LongText +from gs_interactive.models.primitive_type import PrimitiveType +from gs_interactive.models.schema_mapping import SchemaMapping +from gs_interactive.models.schema_mapping_loading_config import ( SchemaMappingLoadingConfig, ) -from interactive.models.schema_mapping_loading_config_format import ( +from gs_interactive.models.schema_mapping_loading_config_format import ( SchemaMappingLoadingConfigFormat, ) -from interactive.models.start_service_request import StartServiceRequest -from interactive.models.string_type import StringType -from interactive.models.string_type_string import StringTypeString -from interactive.models.vertex_mapping import VertexMapping -from interactive.models.query_request import QueryRequest +from gs_interactive.models.start_service_request import StartServiceRequest +from gs_interactive.models.string_type import StringType +from gs_interactive.models.string_type_string import StringTypeString +from gs_interactive.models.vertex_mapping import VertexMapping +from gs_interactive.models.query_request import QueryRequest class TestDriver(unittest.TestCase): """Test usage of driver""" def setUp(self): - # get endpoint from environment variable INTERACTIVE_ENDPOINT - self._endpoint = os.getenv("INTERACTIVE_ENDPOINT") + # get endpoint from environment variable gs_interactive_ENDPOINT + self._endpoint = os.getenv("gs_interactive_ENDPOINT") if self._endpoint is None: self._endpoint = "http://localhost:7777" print("endpoint: ", self._endpoint)