This is an automated email from the ASF dual-hosted git repository.
yuxia pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/fluss-rust.git
The following commit(s) were added to refs/heads/main by this push:
new 7666af0 doc: optimize pyfluss description in pypi (#439)
7666af0 is described below
commit 7666af0c48a1d9f974e97d4eb4046b0fe18bba86
Author: yuxia Luo <[email protected]>
AuthorDate: Fri Mar 20 15:54:56 2026 +0800
doc: optimize pyfluss description in pypi (#439)
---
.github/workflows/release_python.yml | 6 --
.gitignore | 3 +-
bindings/python/GENERATED_README.md | 1 -
bindings/python/PYPI_README.md | 28 ++++++++++
bindings/python/generate_readme.py | 104 -----------------------------------
bindings/python/pyproject.toml | 6 +-
justfile | 4 --
7 files changed, 32 insertions(+), 120 deletions(-)
diff --git a/.github/workflows/release_python.yml
b/.github/workflows/release_python.yml
index 323838d..7e57946 100644
--- a/.github/workflows/release_python.yml
+++ b/.github/workflows/release_python.yml
@@ -49,9 +49,6 @@ jobs:
steps:
- uses: actions/checkout@v4
- - name: Generate Python README
- run: python bindings/python/generate_readme.py
-
- name: Install protoc
run: sudo apt-get update && sudo apt-get install -y protobuf-compiler
@@ -81,9 +78,6 @@ jobs:
steps:
- uses: actions/checkout@v4
- - name: Generate Python README
- run: python3 bindings/python/generate_readme.py
-
- name: Install protoc (Linux)
if: runner.os == 'Linux'
run: sudo apt-get update && sudo apt-get install -y protobuf-compiler
diff --git a/.gitignore b/.gitignore
index 5d11a1c..c821382 100644
--- a/.gitignore
+++ b/.gitignore
@@ -20,7 +20,6 @@ Cargo.lock
.vscode/
# Python
-bindings/python/GENERATED_README.md
__pycache__/
*.py[cod]
*$py.class
@@ -53,4 +52,4 @@ website/package-lock.json
website/versioned_docs
website/versioned_sidebars
website/versions.json
-website/pnpm-lock.yaml
\ No newline at end of file
+website/pnpm-lock.yaml
diff --git a/bindings/python/GENERATED_README.md
b/bindings/python/GENERATED_README.md
deleted file mode 100644
index 0a011ba..0000000
--- a/bindings/python/GENERATED_README.md
+++ /dev/null
@@ -1 +0,0 @@
-This readme can be automatically generated by generate_readme.py.
\ No newline at end of file
diff --git a/bindings/python/PYPI_README.md b/bindings/python/PYPI_README.md
new file mode 100644
index 0000000..ee9796a
--- /dev/null
+++ b/bindings/python/PYPI_README.md
@@ -0,0 +1,28 @@
+<!--
+ 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 Client
+
+PyFluss is a Python library for programmatic access to Apache Fluss
(Incubating).
+It provides Python APIs to work with Fluss table metadata and read or write
table data.
+
+The documentation is available at <https://clients.fluss.apache.org/>.
+
+## Get in Touch
+
+Join the Fluss community at <https://fluss.apache.org/community/welcome/>.
diff --git a/bindings/python/generate_readme.py
b/bindings/python/generate_readme.py
deleted file mode 100644
index 206f9e2..0000000
--- a/bindings/python/generate_readme.py
+++ /dev/null
@@ -1,104 +0,0 @@
-#!/usr/bin/env python3
-# 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.
-
-"""Generate bindings/python/GENERATED_README.md from the website docs.
-
-Usage:
- python generate_readme.py # writes GENERATED_README.md
- python generate_readme.py --check # exits non-zero if GENERATED_README.md
is stale
-"""
-
-from __future__ import annotations
-
-import re
-import sys
-from pathlib import Path
-
-SCRIPT_DIR = Path(__file__).resolve().parent
-DOCS_DIR = SCRIPT_DIR / "../../website/docs/user-guide/python"
-
-LICENSE_HEADER = """\
-<!--
- 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.
--->
-"""
-
-# Files in the order they should appear in the README.
-SECTIONS: list[str] = [
- "installation.md",
- "example/index.md",
- "example/configuration.md",
- "example/admin-operations.md",
- "example/log-tables.md",
- "example/primary-key-tables.md",
- "example/partitioned-tables.md",
- "error-handling.md",
- "data-types.md",
- "api-reference.md",
-]
-
-FRONTMATTER_RE = re.compile(r"^---\n.*?^---\n", re.MULTILINE | re.DOTALL)
-
-
-def strip_frontmatter(text: str) -> str:
- return FRONTMATTER_RE.sub("", text, count=1)
-
-
-def build_readme() -> str:
- parts = [LICENSE_HEADER, "# Fluss Python Client\n"]
-
- for section in SECTIONS:
- path = DOCS_DIR / section
- if not path.exists():
- print(f"warning: {path} not found, skipping", file=sys.stderr)
- continue
- content = strip_frontmatter(path.read_text()).strip()
- parts.append(content)
-
- return "\n\n".join(parts) + "\n"
-
-
-def main() -> None:
- readme = build_readme()
- dest = SCRIPT_DIR / "GENERATED_README.md"
-
- if "--check" in sys.argv:
- if not dest.exists() or dest.read_text() != readme:
- print("GENERATED_README.md is out of date. Run: python
generate_readme.py")
- sys.exit(1)
- print("GENERATED_README.md is up to date.")
- return
-
- dest.write_text(readme)
- print(f"Wrote {dest}")
-
-
-if __name__ == "__main__":
- main()
diff --git a/bindings/python/pyproject.toml b/bindings/python/pyproject.toml
index 63af88e..1664597 100644
--- a/bindings/python/pyproject.toml
+++ b/bindings/python/pyproject.toml
@@ -21,10 +21,10 @@ build-backend = "maturin"
[project]
name = "pyfluss"
-description = "Apache Fluss (incubating) Python Binding"
+description = "Apache Fluss (incubating) Python client"
authors = [{name = "Apache Fluss", email = "[email protected]"}]
license = {text = "Apache-2.0"}
-readme = "GENERATED_README.md"
+readme = "PYPI_README.md"
requires-python = ">=3.9"
classifiers = [
"License :: OSI Approved :: Apache Software License",
@@ -42,7 +42,7 @@ dependencies = [
]
[project.urls]
-Homepage = "https://fluss.apache.org/"
+Homepage = "https://clients.fluss.apache.org/"
Repository = "https://github.com/apache/fluss-rust"
[project.optional-dependencies]
diff --git a/justfile b/justfile
index c2a6116..c4e1a76 100644
--- a/justfile
+++ b/justfile
@@ -26,7 +26,3 @@ release [version]:
# Usage: just bump-version <current> <next> e.g. just bump-version 0.1.0
0.1.1
bump-version from to:
./scripts/bump-version.sh {{from}} {{to}}
-
-# Regenerate bindings/python/GENERATED_README.md from website docs.
-generate-python-readme:
- python bindings/python/generate_readme.py