Skip to content

Commit

Permalink
refactor(interactive): Revision interactive from 0.0.3 to 0.3 (#3905)
Browse files Browse the repository at this point in the history
- Revision interactive to 0.3
- Rename `interactive-sdk` to `gs_interactive`.
  • Loading branch information
zhanglei1949 committed Jun 13, 2024
1 parent dbbacf2 commit aff323a
Show file tree
Hide file tree
Showing 39 changed files with 251 additions and 240 deletions.
18 changes: 15 additions & 3 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -121,7 +121,11 @@ flex/interactive/sdk/java/.openapi-generator/*
flex/interactive/sdk/java/src/main/AndroidManifest.xml
flex/interactive/sdk/java/.openapi-generate/
flex/interactive/sdk/java/settings.gradle
flex/interactive/sdk/java/src/main/java/com/alibaba/graphscope/interactive/openapi/
flex/interactive/sdk/java/src/main/java/com/alibaba/graphscope/interactive/models/
flex/interactive/sdk/java/src/main/java/com/alibaba/graphscope/interactive/api/
flex/interactive/sdk/java/src/main/java/com/alibaba/graphscope/interactive/auth/
flex/interactive/sdk/java/src/main/java/com/alibaba/graphscope/interactive/*.java


flex/interactive/sdk/python/.github/
flex/interactive/sdk/python/.gitignore
Expand All @@ -133,8 +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_sdk/openapi/
!flex/interactive/sdk/python/interactive_sdk/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/
124 changes: 62 additions & 62 deletions coordinator/gscoordinator/flex/core/interactive/hqps.py
Original file line number Diff line number Diff line change
Expand Up @@ -24,13 +24,13 @@
from typing import List
from typing import Union

import interactive_sdk.openapi
import gs_interactive
import requests
from interactive_sdk.openapi import CreateGraphRequest
from interactive_sdk.openapi import CreateProcedureRequest
from interactive_sdk.openapi import SchemaMapping
from interactive_sdk.openapi import StartServiceRequest
from interactive_sdk.openapi import UpdateProcedureRequest
from gs_interactive.models.create_graph_request import CreateGraphRequest
from gs_interactive.models.create_procedure_request import CreateProcedureRequest
from gs_interactive.models.schema_mapping import SchemaMapping
from gs_interactive.models.start_service_request import StartServiceRequest
from gs_interactive.models.update_procedure_request import UpdateProcedureRequest

from gscoordinator.flex.core.config import CLUSTER_TYPE
from gscoordinator.flex.core.config import HQPS_ADMIN_SERVICE_PORT
Expand Down Expand Up @@ -85,10 +85,10 @@ def _get_hqps_service_endpoints(self):
return f"http://127.0.0.1:{HQPS_ADMIN_SERVICE_PORT}"

def list_graphs(self) -> List[dict]:
with interactive_sdk.openapi.ApiClient(
interactive_sdk.openapi.Configuration(self._hqps_endpoint)
with gs_interactive.ApiClient(
gs_interactive.Configuration(self._hqps_endpoint)
) as api_client:
api_instance = interactive_sdk.openapi.AdminServiceGraphManagementApi(
api_instance = gs_interactive.AdminServiceGraphManagementApi(
api_client
)
graphs = [g.to_dict() for g in api_instance.list_graphs()]
Expand All @@ -102,23 +102,23 @@ def list_graphs(self) -> List[dict]:
g["data_update_time"] = encode_datetime(
datetime.datetime.fromtimestamp(g["data_update_time"] / 1000)
)
# `schema_update_time` is same to `creation_time` in Interactive
# `schema_update_time` is same to `creation_time` in gs_interactive
g["schema_update_time"] = g["creation_time"]
if "edge_types" not in g["schema"]:
g["schema"]["edge_types"] = []
if "vertex_types" not in g["schema"]:
g["schema"]["vertex_types"] = []
# we do not have edge's primary key in Interactive
# we do not have edge's primary key in gs_interactive
for edge in g["schema"]["edge_types"]:
if "primary_keys" not in edge:
edge["primary_keys"] = []
return graphs

def get_schema_by_id(self, graph_id: str) -> dict:
with interactive_sdk.openapi.ApiClient(
interactive_sdk.openapi.Configuration(self._hqps_endpoint)
with gs_interactive.ApiClient(
gs_interactive.Configuration(self._hqps_endpoint)
) as api_client:
api_instance = interactive_sdk.openapi.AdminServiceGraphManagementApi(
api_instance = gs_interactive.AdminServiceGraphManagementApi(
api_client
)
schema = api_instance.get_schema(graph_id).to_dict()
Expand All @@ -129,30 +129,30 @@ def get_schema_by_id(self, graph_id: str) -> dict:
return schema

def create_graph(self, graph: dict) -> dict:
with interactive_sdk.openapi.ApiClient(
interactive_sdk.openapi.Configuration(self._hqps_endpoint)
with gs_interactive.ApiClient(
gs_interactive.Configuration(self._hqps_endpoint)
) as api_client:
api_instance = interactive_sdk.openapi.AdminServiceGraphManagementApi(
api_instance = gs_interactive.AdminServiceGraphManagementApi(
api_client
)
response = api_instance.create_graph(CreateGraphRequest.from_dict(graph))
return response.to_dict()

def delete_graph_by_id(self, graph_id: str) -> str:
with interactive_sdk.openapi.ApiClient(
interactive_sdk.openapi.Configuration(self._hqps_endpoint)
with gs_interactive.ApiClient(
gs_interactive.Configuration(self._hqps_endpoint)
) as api_client:
api_instance = interactive_sdk.openapi.AdminServiceGraphManagementApi(
api_instance = gs_interactive.AdminServiceGraphManagementApi(
api_client
)
rlt = api_instance.delete_graph(graph_id)
return rlt

def get_graph_by_id(self, graph_id: str) -> dict:
with interactive_sdk.openapi.ApiClient(
interactive_sdk.openapi.Configuration(self._hqps_endpoint)
with gs_interactive.ApiClient(
gs_interactive.Configuration(self._hqps_endpoint)
) as api_client:
api_instance = interactive_sdk.openapi.AdminServiceGraphManagementApi(
api_instance = gs_interactive.AdminServiceGraphManagementApi(
api_client
)
g = api_instance.get_graph(graph_id).to_dict()
Expand Down Expand Up @@ -196,10 +196,10 @@ def delete_edge_type_by_name(
raise RuntimeError("Create vertex type is not supported yet!")

def create_stored_procedure(self, graph_id: str, stored_procedure: dict) -> dict:
with interactive_sdk.openapi.ApiClient(
interactive_sdk.openapi.Configuration(self._hqps_endpoint)
with gs_interactive.ApiClient(
gs_interactive.Configuration(self._hqps_endpoint)
) as api_client:
api_instance = interactive_sdk.openapi.AdminServiceProcedureManagementApi(
api_instance = gs_interactive.AdminServiceProcedureManagementApi(
api_client
)
response = api_instance.create_procedure(
Expand All @@ -210,11 +210,11 @@ def create_stored_procedure(self, graph_id: str, stored_procedure: dict) -> dict
return response

def list_stored_procedures(self, graph_id: str) -> List[dict]:
with interactive_sdk.openapi.ApiClient(
interactive_sdk.openapi.Configuration(self._hqps_endpoint)
with gs_interactive.ApiClient(
gs_interactive.Configuration(self._hqps_endpoint)
) as api_client:
stored_procedures = []
api_instance = interactive_sdk.openapi.AdminServiceProcedureManagementApi(
api_instance = gs_interactive.AdminServiceProcedureManagementApi(
api_client
)
stored_procedures = [
Expand All @@ -225,10 +225,10 @@ def list_stored_procedures(self, graph_id: str) -> List[dict]:
def update_stored_procedure_by_id(
self, graph_id: str, stored_procedure_id: str, stored_procedure: dict
) -> str:
with interactive_sdk.openapi.ApiClient(
interactive_sdk.openapi.Configuration(self._hqps_endpoint)
with gs_interactive.ApiClient(
gs_interactive.Configuration(self._hqps_endpoint)
) as api_client:
api_instance = interactive_sdk.openapi.AdminServiceProcedureManagementApi(
api_instance = gs_interactive.AdminServiceProcedureManagementApi(
api_client
)
return api_instance.update_procedure(
Expand All @@ -240,21 +240,21 @@ def update_stored_procedure_by_id(
def delete_stored_procedure_by_id(
self, graph_id: str, stored_procedure_id: str
) -> str:
with interactive_sdk.openapi.ApiClient(
interactive_sdk.openapi.Configuration(self._hqps_endpoint)
with gs_interactive.ApiClient(
gs_interactive.Configuration(self._hqps_endpoint)
) as api_client:
api_instance = interactive_sdk.openapi.AdminServiceProcedureManagementApi(
api_instance = gs_interactive.AdminServiceProcedureManagementApi(
api_client
)
return api_instance.delete_procedure(graph_id, stored_procedure_id)

def get_stored_procedure_by_id(
self, graph_id: str, stored_procedure_id: str
) -> dict:
with interactive_sdk.openapi.ApiClient(
interactive_sdk.openapi.Configuration(self._hqps_endpoint)
with gs_interactive.ApiClient(
gs_interactive.Configuration(self._hqps_endpoint)
) as api_client:
api_instance = interactive_sdk.openapi.AdminServiceProcedureManagementApi(
api_instance = gs_interactive.AdminServiceProcedureManagementApi(
api_client
)
return api_instance.get_procedure(graph_id, stored_procedure_id).to_dict()
Expand All @@ -263,10 +263,10 @@ def list_service_status(self) -> List[dict]:
# get service status from serving graph
serving_graph_id = None
rlts = []
with interactive_sdk.openapi.ApiClient(
interactive_sdk.openapi.Configuration(self._hqps_endpoint)
with gs_interactive.ApiClient(
gs_interactive.Configuration(self._hqps_endpoint)
) as api_client:
api_instance = interactive_sdk.openapi.AdminServiceServiceManagementApi(
api_instance = gs_interactive.AdminServiceServiceManagementApi(
api_client
)
response = api_instance.get_service_status()
Expand Down Expand Up @@ -304,37 +304,37 @@ def list_service_status(self) -> List[dict]:
return rlts

def stop_service(self) -> str:
with interactive_sdk.openapi.ApiClient(
interactive_sdk.openapi.Configuration(self._hqps_endpoint)
with gs_interactive.ApiClient(
gs_interactive.Configuration(self._hqps_endpoint)
) as api_client:
api_instance = interactive_sdk.openapi.AdminServiceServiceManagementApi(
api_instance = gs_interactive.AdminServiceServiceManagementApi(
api_client
)
return api_instance.stop_service()

def restart_service(self) -> str:
with interactive_sdk.openapi.ApiClient(
interactive_sdk.openapi.Configuration(self._hqps_endpoint)
with gs_interactive.ApiClient(
gs_interactive.Configuration(self._hqps_endpoint)
) as api_client:
api_instance = interactive_sdk.openapi.AdminServiceServiceManagementApi(
api_instance = gs_interactive.AdminServiceServiceManagementApi(
api_client
)
return api_instance.restart_service()

def start_service(self, graph_id: str) -> str:
with interactive_sdk.openapi.ApiClient(
interactive_sdk.openapi.Configuration(self._hqps_endpoint)
with gs_interactive.ApiClient(
gs_interactive.Configuration(self._hqps_endpoint)
) as api_client:
api_instance = interactive_sdk.openapi.AdminServiceServiceManagementApi(
api_instance = gs_interactive.AdminServiceServiceManagementApi(
api_client
)
return api_instance.start_service(StartServiceRequest(graph_id=graph_id))

def list_jobs(self) -> List[dict]:
with interactive_sdk.openapi.ApiClient(
interactive_sdk.openapi.Configuration(self._hqps_endpoint)
with gs_interactive.ApiClient(
gs_interactive.Configuration(self._hqps_endpoint)
) as api_client:
api_instance = interactive_sdk.openapi.AdminServiceJobManagementApi(
api_instance = gs_interactive.AdminServiceJobManagementApi(
api_client
)
rlt = []
Expand All @@ -351,10 +351,10 @@ def list_jobs(self) -> List[dict]:
return rlt

def get_job_by_id(self, job_id: str) -> dict:
with interactive_sdk.openapi.ApiClient(
interactive_sdk.openapi.Configuration(self._hqps_endpoint)
with gs_interactive.ApiClient(
gs_interactive.Configuration(self._hqps_endpoint)
) as api_client:
api_instance = interactive_sdk.openapi.AdminServiceJobManagementApi(
api_instance = gs_interactive.AdminServiceJobManagementApi(
api_client
)
job_status = api_instance.get_job_by_id(job_id).to_dict()
Expand All @@ -368,10 +368,10 @@ def get_job_by_id(self, job_id: str) -> dict:
return job_status

def delete_job_by_id(self, job_id: str) -> str:
with interactive_sdk.openapi.ApiClient(
interactive_sdk.openapi.Configuration(self._hqps_endpoint)
with gs_interactive.ApiClient(
gs_interactive.Configuration(self._hqps_endpoint)
) as api_client:
api_instance = interactive_sdk.openapi.AdminServiceJobManagementApi(
api_instance = gs_interactive.AdminServiceJobManagementApi(
api_client
)
return api_instance.delete_job_by_id(job_id)
Expand Down Expand Up @@ -402,10 +402,10 @@ def submit_dataloading_job(
self._job_config[graph_id] = config
self.dump_to_disk()
# submit
with interactive_sdk.openapi.ApiClient(
interactive_sdk.openapi.Configuration(self._hqps_endpoint)
with gs_interactive.ApiClient(
gs_interactive.Configuration(self._hqps_endpoint)
) as api_client:
api_instance = interactive_sdk.openapi.AdminServiceGraphManagementApi(
api_instance = gs_interactive.AdminServiceGraphManagementApi(
api_client
)
response = api_instance.create_dataloading_job(
Expand Down
2 changes: 1 addition & 1 deletion coordinator/requirements.txt
Original file line number Diff line number Diff line change
Expand Up @@ -20,4 +20,4 @@ typing-extensions >= 4.7.1
click >= 8.1.7
psutil
schedule
interactive-sdk == 0.0.3
gs_interactive == 0.3
2 changes: 1 addition & 1 deletion docs/flex/interactive/custom_graph_data.md
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,7 @@ To create a new graph, you will need the original data of the graph. We currentl
To begin, ensure you've adjusted the settings in the `{INTERACTIVE_HOME}/conf/interactive.yaml` file. By utilizing Docker's volume mount feature, you can map an external folder containing the CSV files of `movies` to the internal directory at `/home/graphscope/movies`. It's crucial that the internal data path starts with `/home/graphscope` and concludes with `movies`, reflecting the name of your graph. If you're looking to import custom data, you can do volume mapping in a similar way.

```yaml
version: v0.0.3
version: v0.3
volume:
# replace INTERACTIVE_HOME with actual path.
- {INTERACTIVE_HOME}/examples/movies:/home/graphscope/movies
Expand Down
4 changes: 2 additions & 2 deletions docs/flex/interactive/development/java/java_sdk.md
Original file line number Diff line number Diff line change
Expand Up @@ -35,7 +35,7 @@ Add this dependency to your project's POM:
<dependency>
<groupId>com.alibaba.graphscope</groupId>
<artifactId>interactive-sdk</artifactId>
<version>0.0.3</version>
<version>0.3</version>
<scope>compile</scope>
</dependency>
```
Expand All @@ -50,7 +50,7 @@ mvn clean package

Then manually install the following JARs:

* `target/interactive-sdk-0.0.3.jar`
* `target/interactive-sdk-0.3.jar`
* `target/lib/*.jar`

## Getting Started
Expand Down
2 changes: 1 addition & 1 deletion flex/interactive/bin/gs_interactive
Original file line number Diff line number Diff line change
Expand Up @@ -242,7 +242,7 @@ DOCKER_DB_GEN_BIN="${DOCKER_DB_GRAPHSCOPE_HOME}/bin/load_plan_and_gen.sh"
HOST_DB_TMP_DIR="/tmp/"

#################### DEFINE DEFAULT CONSTANTS ####################
DATABASE_VERSION="v0.0.3"
DATABASE_VERSION="v0.3"
DATABASE_DEFAULT_GRAPH_NAME="gs_interactive_default_graph"
DATABASE_CURRENT_GRAPH_NAME=${DATABASE_DEFAULT_GRAPH_NAME}
DATABASE_DEFAULT_GRAPH_DOCKER_PATH="/home/graphscope/${DATABASE_DEFAULT_GRAPH_NAME}"
Expand Down
2 changes: 1 addition & 1 deletion flex/interactive/conf/interactive.yaml
Original file line number Diff line number Diff line change
@@ -1,3 +1,3 @@
version: v0.0.3
version: v0.3
#volume:
# - {HOST_PATH}:${CONTAINER_PATH}
10 changes: 5 additions & 5 deletions flex/interactive/sdk/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,15 +6,15 @@ GraphScope Interactive use [OpenAPI](https://openapis.org) to define the http in

To use Interactive Python SDK
```bash
pip3 install interactive-sdk==0.0.3
pip3 install interactive==0.3
```

To use Interactive Java SDK
```xml
<dependency>
<groupId>com.alibaba.graphscope</groupId>
<artifactId>interactive-sdk</artifactId>
<version>0.0.3</version>
<artifactId>interactive</artifactId>
<version>0.3</version>
</dependency>
```

Expand All @@ -41,9 +41,9 @@ export OPENAPI_GENERATOR_VERSION=7.2.0
### Generate SDKs

```bash
# generate java sdk to java/interactive_sdk/
# generate java sdk to java/
bash generate_sdk.sh -g java
# generate python sdk to python/interactive_sdk/
# generate python sdk to python/interactive/
bash generate_sdk.sh -g python
```

Expand Down
Loading

0 comments on commit aff323a

Please sign in to comment.