Copilot commented on code in PR #7:
URL: https://github.com/apache/fluss-rust/pull/7#discussion_r2331819498


##########
bindings/python/pyproject.toml:
##########
@@ -0,0 +1,98 @@
+# Licensed to the Apache Software Foundation (ASF) under one
+# or more contributor license agreements.  See the NOTICE file
+# distributed with this work for additional information
+# regarding copyright ownership.  The ASF licenses this file
+# to you 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.
+
+[build-system]
+requires = ["maturin>=1.0,<2.0"]
+build-backend = "maturin"
+
+[project]
+name = "fluss_python"
+description = "Python bindings for Fluss"
+authors = [{name = "Fluss Team"}]
+license = {text = "Apache-2.0"}
+readme = "README.md"
+requires-python = ">=3.9"
+classifiers = [
+  "Programming Language :: Rust",
+  "Programming Language :: Python :: Implementation :: CPython",
+]
+
+dynamic = ["version"]
+
+dependencies = [
+    "pandas>=2.3.1",
+    "pyarrow>=10.0.0",
+]
+
+[project.urls]
+Repository = "https://github.com/apache/fluss-rust";
+
+[project.optional-dependencies]
+dev = [
+    "mypy>=1.17.1",
+    "pytest>=8.3.5",
+    "pytest-asyncio>=0.25.3",
+    "ruff>=0.9.10",
+    "maturin>=1.8.2",
+]
+docs = [
+    "pdoc>=15.0.4",
+]
+extra = [
+    "tqdm>=4.67.1",
+    "duckdb>=0.9.0",
+    "pylance>=0.33.0",

Review Comment:
   Pylance is a VS Code extension and should not be listed as a Python package 
dependency. It cannot be installed via pip/uv. Consider removing this 
dependency or replacing it with a similar static analysis tool like pyright if 
needed.
   ```suggestion
   
   ```



##########
bindings/python/README.md:
##########
@@ -0,0 +1,147 @@
+<!--
+  ~ Licensed to the Apache Software Foundation (ASF) under one
+  ~ or more contributor license agreements.  See the NOTICE file
+  ~ distributed with this work for additional information
+  ~ regarding copyright ownership.  The ASF licenses this file
+  ~ to you 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.
+-->
+
+# Fluss Python Bindings
+
+Python bindings for Fluss using PyO3 and Maturin.
+
+## System Requirements
+
+- Python 3.9+
+- Rust 1.70+
+- uv package manager
+- MacOS
+
+> **⚠️ Before you start:**  
+> Please make sure you can successfully build and run the [Fluss Rust 
client](../../crates/fluss/README.md) on your machine.  
+> The Python bindings require a working Fluss Rust backend and compatible 
environment.
+
+## Development Environment Setup
+
+### 1. Install Dependencies-dev

Review Comment:
   [nitpick] The heading should be 'Install Development Dependencies' instead 
of 'Install Dependencies-dev' for better readability.
   ```suggestion
   ### 1. Install Development Dependencies
   ```



##########
bindings/python/README.md:
##########
@@ -0,0 +1,147 @@
+<!--
+  ~ Licensed to the Apache Software Foundation (ASF) under one
+  ~ or more contributor license agreements.  See the NOTICE file
+  ~ distributed with this work for additional information
+  ~ regarding copyright ownership.  The ASF licenses this file
+  ~ to you 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.
+-->
+
+# Fluss Python Bindings
+
+Python bindings for Fluss using PyO3 and Maturin.
+
+## System Requirements
+
+- Python 3.9+
+- Rust 1.70+
+- uv package manager
+- MacOS
+
+> **⚠️ Before you start:**  
+> Please make sure you can successfully build and run the [Fluss Rust 
client](../../crates/fluss/README.md) on your machine.  
+> The Python bindings require a working Fluss Rust backend and compatible 
environment.
+
+## Development Environment Setup
+
+### 1. Install Dependencies-dev
+
+```bash
+cd bindings/python
+uv sync --all-extras
+```
+
+### 2. Build Development Version
+
+```bash
+source .venv/bin/activate
+uv run maturin develop
+```
+
+### 3. Build Release Version
+
+```bash
+uv run maturin build --release
+```
+
+### 4. Code Formatting and Linting
+
+```bash
+uv run ruff format python/
+uv run ruff check python/
+```
+
+### 5. Type Checking
+
+```bash
+uv run mypy python/
+```
+
+### 6. Run Examples
+
+```bash
+uv run python example/example.py
+```
+
+### 7. Build API docs:
+
+```bash
+uv run pdoc fluss_python
+```
+
+## Project Structure
+```
+bindings/python/
+├── Cargo.toml              # Rust dependency configuration
+├── pyproject.toml          # Python project configuration
+├── README.md              # This file
+├── src/                   # Rust source code
+│   ├── lib.rs            # Main entry module
+│   ├── config.rs         # Configuration related
+│   ├── connection.rs     # Connection management
+│   ├── admin.rs          # Admin operations
+│   ├── table.rs          # Table operations
+│   ├── types.rs          # Data types
+│   └── error.rs          # Error handling
+├── python/               # Python package source
+│   └── fluss_python/
+│       ├── __init__.py   # Python package entry
+        ├── __init__.pyi  # Stub file

Review Comment:
   The indentation is inconsistent. This line should align with the other file 
entries in the directory structure.
   ```suggestion
   │       ├── __init__.pyi  # Stub file
   ```



-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]

Reply via email to