### What problem does this PR solve? Create python SDK to return the version of RAGFlow. ### Type of change - [x] New Feature (non-breaking change which adds functionality) --------- Co-authored-by: cecilia-uu <konghui1996@163.com>tags/v0.8.0
| @@ -29,4 +29,10 @@ Cargo.lock | |||
| docker/ragflow-logs/ | |||
| /flask_session | |||
| /logs | |||
| rag/res/deepdoc | |||
| rag/res/deepdoc | |||
| # Exclude sdk generated files | |||
| SDK/python/ragflow.egg-info/ | |||
| SDK/python/build/ | |||
| SDK/python/dist/ | |||
| SDK/python/ragflow_sdk.egg-info/ | |||
| @@ -0,0 +1 @@ | |||
| # infinity | |||
| @@ -0,0 +1,3 @@ | |||
| import ragflow | |||
| print(ragflow.__version__) | |||
| @@ -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 | |||
| @@ -0,0 +1,3 @@ | |||
| import importlib.metadata | |||
| __version__ = importlib.metadata.version("ragflow") | |||
| @@ -0,0 +1,28 @@ | |||
| # | |||
| # 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 | |||
| import dotenv | |||
| import typing | |||
| from api.utils.file_utils import get_project_base_directory | |||
| def get_versions() -> typing.Mapping[str, typing.Any]: | |||
| dotenv.load_dotenv(dotenv.find_dotenv()) | |||
| return dotenv.dotenv_values() | |||
| def get_rag_version() -> typing.Optional[str]: | |||
| return get_versions().get("RAGFLOW_VERSION", "dev") | |||
| @@ -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']) | |||
| @@ -0,0 +1,8 @@ | |||
| from test_sdkbase import TestSdk | |||
| import ragflow | |||
| import pytest | |||
| class TestCase(TestSdk): | |||
| def test_version(self): | |||
| print(ragflow.__version__) | |||
| @@ -0,0 +1,3 @@ | |||
| class TestSdk(): | |||
| def test_version(self): | |||
| print("test_sdk") | |||