From c74d4d683eaaa2078191bde30530372ce7b98e01 Mon Sep 17 00:00:00 2001 From: cecilia-uu <117628326+cecilia-uu@users.noreply.github.com> Date: Mon, 3 Jun 2024 20:14:47 +0800 Subject: [PATCH] Update SDK->sdk, and add create_dataset (#1047) ### What problem does this PR solve? Add create_dataset method, test for it, and update SDK->sdk. ### Type of change - [x] New Feature (non-breaking change which adds functionality) Signed-off-by: cecilia-uu --- .gitignore | 8 ++++---- sdk/python/README.md | 1 + sdk/python/hello_ragflow.py | 3 +++ sdk/python/pyproject.toml | 24 ++++++++++++++++++++++++ sdk/python/ragflow/__init__.py | 3 +++ sdk/python/ragflow/ragflow.py | 27 +++++++++++++++++++++++++++ sdk/python/setup.py | 19 +++++++++++++++++++ sdk/python/test/test_basic.py | 12 ++++++++++++ sdk/python/test/test_sdkbase.py | 3 +++ 9 files changed, 96 insertions(+), 4 deletions(-) create mode 100644 sdk/python/README.md create mode 100644 sdk/python/hello_ragflow.py create mode 100644 sdk/python/pyproject.toml create mode 100644 sdk/python/ragflow/__init__.py create mode 100644 sdk/python/ragflow/ragflow.py create mode 100644 sdk/python/setup.py create mode 100644 sdk/python/test/test_basic.py create mode 100644 sdk/python/test/test_sdkbase.py diff --git a/.gitignore b/.gitignore index 6dec32b5ce..c6009b3ebb 100644 --- a/.gitignore +++ b/.gitignore @@ -32,7 +32,7 @@ docker/ragflow-logs/ rag/res/deepdoc # Exclude sdk generated files -SDK/python/ragflow.egg-info/ -SDK/python/build/ -SDK/python/dist/ -SDK/python/ragflow_sdk.egg-info/ \ No newline at end of file +sdk/python/ragflow.egg-info/ +sdk/python/build/ +sdk/python/dist/ +sdk/python/ragflow_sdk.egg-info/ \ No newline at end of file diff --git a/sdk/python/README.md b/sdk/python/README.md new file mode 100644 index 0000000000..9849363844 --- /dev/null +++ b/sdk/python/README.md @@ -0,0 +1 @@ +# infinity \ No newline at end of file diff --git a/sdk/python/hello_ragflow.py b/sdk/python/hello_ragflow.py new file mode 100644 index 0000000000..d652da85da --- /dev/null +++ b/sdk/python/hello_ragflow.py @@ -0,0 +1,3 @@ +import ragflow + +print(ragflow.__version__) \ No newline at end of file diff --git a/sdk/python/pyproject.toml b/sdk/python/pyproject.toml new file mode 100644 index 0000000000..54b44f4822 --- /dev/null +++ b/sdk/python/pyproject.toml @@ -0,0 +1,24 @@ +[project] +name = "ragflow" +version = "0.8.0.dev1" +authors = [ + { name = "The RAGFlow Development Team", email = "author@example.com" }, +] # TODO: email +dependencies = ["pytest~=8.2.0"] +description = "ragflow" +readme = "README.md" +requires-python = ">=3.10" +classifiers = [ + "Programming Language :: Python :: 3", + "License :: OSI Approved :: Apache License2", + "Operating System :: OS Independent", +] + +[build-system] +requires = ["setuptools>=61.0", "wheel"] +build-backend = "setuptools.build_meta" + +[project.urls] +"Homepage" = "https://github.com/pypa/sampleproject" +"Bug Tracker" = "https://github.com/pypa/sampleproject/issues" +# TODO \ No newline at end of file diff --git a/sdk/python/ragflow/__init__.py b/sdk/python/ragflow/__init__.py new file mode 100644 index 0000000000..35019df131 --- /dev/null +++ b/sdk/python/ragflow/__init__.py @@ -0,0 +1,3 @@ +import importlib.metadata + +__version__ = importlib.metadata.version("ragflow") \ No newline at end of file diff --git a/sdk/python/ragflow/ragflow.py b/sdk/python/ragflow/ragflow.py new file mode 100644 index 0000000000..a3aabc5f63 --- /dev/null +++ b/sdk/python/ragflow/ragflow.py @@ -0,0 +1,27 @@ +# +# Copyright 2024 The InfiniFlow Authors. All Rights Reserved. +# +# Licensed 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. +# +import os +from abc import ABC + + +class RAGFLow(ABC): + def __init__(self, user_key, base_url): + self.user_key = user_key + self.base_url = base_url + + def create_dataset(self, name): + return name + diff --git a/sdk/python/setup.py b/sdk/python/setup.py new file mode 100644 index 0000000000..1ce9854c43 --- /dev/null +++ b/sdk/python/setup.py @@ -0,0 +1,19 @@ +# Copyright(C) 2023 InfiniFlow, Inc. All rights reserved. +# +# Licensed 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 +# +# https://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. + +import setuptools + +if __name__ == "__main__": + setuptools.setup(packages=['ragflow']) + diff --git a/sdk/python/test/test_basic.py b/sdk/python/test/test_basic.py new file mode 100644 index 0000000000..f784279f03 --- /dev/null +++ b/sdk/python/test/test_basic.py @@ -0,0 +1,12 @@ +from test_sdkbase import TestSdk +import ragflow +from ragflow.ragflow import RAGFLow +import pytest + + +class TestCase(TestSdk): + def test_version(self): + print(ragflow.__version__) + + def test_create_dataset(self): + assert ragflow.ragflow.RAGFLow('123', 'url').create_dataset('abc') == 'abc' diff --git a/sdk/python/test/test_sdkbase.py b/sdk/python/test/test_sdkbase.py new file mode 100644 index 0000000000..584dbbc4f1 --- /dev/null +++ b/sdk/python/test/test_sdkbase.py @@ -0,0 +1,3 @@ +class TestSdk(): + def test_version(self): + print("test_sdk")