diff --git a/.github/workflows/release_python.yml b/.github/workflows/release_python.yml
index 323838d5..7e579469 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 f251aab3..f35fce13 100644
--- a/.gitignore
+++ b/.gitignore
@@ -20,7 +20,6 @@ Cargo.lock
.vscode/
# Python
-bindings/python/GENERATED_README.md
__pycache__/
*.py[cod]
*$py.class
@@ -51,4 +50,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 0a011ba6..00000000
--- 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 00000000..ee9796a4
--- /dev/null
+++ b/bindings/python/PYPI_README.md
@@ -0,0 +1,28 @@
+
+
+# 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 .
+
+## Get in Touch
+
+Join the Fluss community at .
diff --git a/bindings/python/generate_readme.py b/bindings/python/generate_readme.py
deleted file mode 100644
index 206f9e2a..00000000
--- 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 = """\
-
-"""
-
-# 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 f5b0b68d..9f94faa4 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 = "dev@fluss.apache.org"}]
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 c2a61168..c4e1a763 100644
--- a/justfile
+++ b/justfile
@@ -26,7 +26,3 @@ release [version]:
# Usage: just bump-version 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