Skip to content

Commit 89c9f36

Browse files
committed
feat: integrate pyobsql project as pyobsql-oceanbase-plugin
- Add pyobsql Python SDK for OceanBase SQL - Support JSON Table, SQLAlchemy dialect extensions, and advanced data types - Update main README files to include new plugin - Remove duplicate LangGraph plugin entries in README_CN.md
1 parent a196996 commit 89c9f36

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

42 files changed

+4530
-6
lines changed

README.md

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,7 @@ OceanBase is a high-performance database compatible with both MySQL and Oracle p
1818
| [OceanBase SQLAlchemy Plugin](./oceanbase-sqlalchemy-plugin/README.md) | Python ORM | SQLAlchemy dialect for OceanBase Oracle mode, compatible with SQLAlchemy 1.3+ and 2.0+ |
1919
| [OceanBase Dify Plugin](./dify-plugin-oceanbase/README.md) | AI Applications | Enables secure SQL query execution on OceanBase databases through Dify applications |
2020
| [LangGraph Checkpoint OceanBase Plugin](./langgraph-checkpoint-oceanbase-plugin/README.md) | LangGraph CheckpointSaver | Implementation of LangGraph CheckpointSaver that uses OceanBase MySQL mode |
21+
| [PyObsql OceanBase Plugin](./pyobsql-oceanbase-plugin/README.md) | Python SDK | A Python SDK for OceanBase SQL with JSON Table support and SQLAlchemy dialect extensions |
2122

2223
---
2324

@@ -88,6 +89,14 @@ OceanBase is a high-performance database compatible with both MySQL and Oracle p
8889

8990
---
9091

92+
### ✅ PyObsql OceanBase Plugin
93+
94+
- **Function**: A Python SDK for OceanBase SQL, providing extended SQLAlchemy dialect support, JSON Table operations, and advanced data types (VECTOR, SPARSE_VECTOR, ARRAY, POINT).
95+
- **Use Case**: Python applications that need to interact with OceanBase databases using SQLAlchemy with OceanBase-specific features.
96+
- **Documentation**: [PyObsql OceanBase Plugin](./pyobsql-oceanbase-plugin/README.md)
97+
98+
---
99+
91100
## 📚 Full Documentation Links
92101

93102
| Plugin Name | Documentation Link |
@@ -100,6 +109,7 @@ OceanBase is a high-performance database compatible with both MySQL and Oracle p
100109
| OceanBase SQLAlchemy Plugin | [OceanBase SQLAlchemy Plugin](./oceanbase-sqlalchemy-plugin/README.md) |
101110
| OceanBase Dify Plugin | [OceanBase Dify Plugin](./dify-plugin-oceanbase/README.md) |
102111
| LangGraph Checkpoint OceanBase Plugin | [LangGraph Checkpoint OceanBase Plugin](./langgraph-checkpoint-oceanbase-plugin/README.md) |
112+
| PyObsql OceanBase Plugin | [PyObsql OceanBase Plugin](./pyobsql-oceanbase-plugin/README.md) |
103113

104114
---
105115

README_CN.md

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@ OceanBase 是一款兼容 MySQL 和 Oracle 协议的高性能数据库。本仓
2020
| [OceanBase SQLAlchemy 插件](./oceanbase-sqlalchemy-plugin/README.md) | Python ORM | SQLAlchemy 方言,支持 OceanBase Oracle 模式,兼容 SQLAlchemy 1.3+ 和 2.0+ |
2121
| [LangGraph Checkpoint OceanBase 插件](./langgraph-checkpoint-oceanbase-plugin/README.md) | 保存 LangGraph 的 checkpoint | 使用 OceanBase MySQL 模式实现了 LangGraph CheckpointSaver |
2222
| [OceanBase Dify 插件](./dify-plugin-oceanbase/README_CN.md) | AI 应用 | 通过 Dify 应用程序在 OceanBase 数据库上安全执行 SQL 查询 |
23-
| [LangGraph Checkpoint OceanBase 插件](./langgraph-checkpoint-oceanbase-plugin/README_CN.md) | 保存 LangGraph 的 checkpoint | 使用 OceanBase MySQL 模式实现了 LangGraph CheckpointSaver |
23+
| [PyObsql OceanBase 插件](./pyobsql-oceanbase-plugin/README.md) | Python SDK | 支持 JSON Table、SQLAlchemy 方言扩展和高级数据类型的 OceanBase Python SDK |
2424

2525
---
2626

@@ -91,11 +91,11 @@ OceanBase 是一款兼容 MySQL 和 Oracle 协议的高性能数据库。本仓
9191

9292
---
9393

94-
### LangGraph Checkpoint OceanBase 插件
94+
### PyObsql OceanBase 插件
9595

96-
- **功能**使用 OceanBase MySQL 模式实现了 LangGraph CheckpointSaver
97-
- **适用场景**使用 OceanBase 作为 LangGraph 的 Checkpointer
98-
- **详细文档**[LangGraph Checkpoint OceanBase 插件](./langgraph-checkpoint-oceanbase-plugin/README_CN.md)
96+
- **功能**:OceanBase SQL 的 Python SDK,提供扩展的 SQLAlchemy 方言支持、JSON Table 操作和高级数据类型(VECTOR、SPARSE_VECTOR、ARRAY、POINT)
97+
- **适用场景**需要使用 SQLAlchemy 与 OceanBase 数据库交互并利用 OceanBase 特定功能的 Python 应用程序
98+
- **详细文档**[PyObsql OceanBase 插件](./pyobsql-oceanbase-plugin/README.md)
9999

100100
---
101101

@@ -111,7 +111,7 @@ OceanBase 是一款兼容 MySQL 和 Oracle 协议的高性能数据库。本仓
111111
| OceanBase SQLAlchemy 插件 | [OceanBase SQLAlchemy 插件](./oceanbase-sqlalchemy-plugin/README.md) |
112112
| LangGraph Checkpoint OceanBase 插件 | [LangGraph Checkpoint OceanBase 插件](./langgraph-checkpoint-oceanbase-plugin/README.md) |
113113
| OceanBase Dify 插件 | [OceanBase Dify 插件](./dify-plugin-oceanbase/README_CN.md) |
114-
| LangGraph Checkpoint OceanBase 插件 | [LangGraph Checkpoint OceanBase 插件](./langgraph-checkpoint-oceanbase-plugin/README_CN.md) |
114+
| PyObsql OceanBase 插件 | [PyObsql OceanBase 插件](./pyobsql-oceanbase-plugin/README.md) |
115115

116116
---
117117

Lines changed: 56 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,56 @@
1+
name: CI
2+
3+
on:
4+
push:
5+
branches: [ main, master, develop ]
6+
pull_request:
7+
branches: [ main, master, develop ]
8+
9+
jobs:
10+
test:
11+
runs-on: ${{ matrix.os }}
12+
strategy:
13+
matrix:
14+
os: [ubuntu-latest, macos-latest]
15+
python-version: ["3.9", "3.10", "3.11", "3.12"]
16+
17+
steps:
18+
- uses: actions/checkout@v4
19+
20+
- name: Set up Python ${{ matrix.python-version }}
21+
uses: actions/setup-python@v5
22+
with:
23+
python-version: ${{ matrix.python-version }}
24+
25+
- name: Install dependencies
26+
run: |
27+
python -m pip install --upgrade pip
28+
pip install -e ".[dev]"
29+
30+
- name: Run tests
31+
run: |
32+
pytest tests/ -v
33+
34+
- name: Run linting
35+
run: |
36+
pylint pyobsql/ --disable=all --enable=unused-import,unused-variable,undefined-variable
37+
38+
lint:
39+
runs-on: ubuntu-latest
40+
steps:
41+
- uses: actions/checkout@v4
42+
43+
- name: Set up Python
44+
uses: actions/setup-python@v5
45+
with:
46+
python-version: "3.11"
47+
48+
- name: Install dependencies
49+
run: |
50+
python -m pip install --upgrade pip
51+
pip install -e ".[dev]"
52+
53+
- name: Run pylint
54+
run: |
55+
pylint pyobsql/ --disable=all --enable=unused-import,unused-variable,undefined-variable || true
56+
Lines changed: 45 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,45 @@
1+
# Python
2+
__pycache__/
3+
*.py[cod]
4+
*$py.class
5+
*.so
6+
.Python
7+
build/
8+
develop-eggs/
9+
dist/
10+
downloads/
11+
eggs/
12+
.eggs/
13+
lib/
14+
lib64/
15+
parts/
16+
sdist/
17+
var/
18+
wheels/
19+
*.egg-info/
20+
.installed.cfg
21+
*.egg
22+
23+
# Virtual environments
24+
venv/
25+
ENV/
26+
env/
27+
28+
# IDE
29+
.vscode/
30+
.idea/
31+
*.swp
32+
*.swo
33+
*~
34+
35+
# Testing
36+
.pytest_cache/
37+
.coverage
38+
htmlcov/
39+
40+
# Documentation
41+
docs/_build/
42+
43+
44+
45+

pyobsql-oceanbase-plugin/LICENSE

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
Apache License
2+
Version 2.0, January 2004
3+
http://www.apache.org/licenses/
4+
5+
Copyright 2024 OceanBase
6+
7+
Licensed under the Apache License, Version 2.0 (the "License");
8+
you may not use this file except in compliance with the License.
9+
You may obtain a copy of the License at
10+
11+
http://www.apache.org/licenses/LICENSE-2.0
12+
13+
Unless required by applicable law or agreed to in writing, software
14+
distributed under the License is distributed on an "AS IS" BASIS,
15+
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
16+
See the License for the specific language governing permissions and
17+
limitations under the License.
18+
19+
20+
21+

0 commit comments

Comments
 (0)