set python 3.13 #5
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| name: Deploy to Hugging Face Space | |
| on: | |
| push: | |
| branches: ["master"] | |
| workflow_dispatch: # 允许手动触发 | |
| jobs: | |
| deploy: | |
| runs-on: ubuntu-latest | |
| steps: | |
| - name: Checkout code | |
| uses: actions/checkout@v4 | |
| with: | |
| fetch-depth: 0 | |
| - name: Set up Python | |
| uses: actions/setup-python@v5 | |
| with: | |
| python-version: '3.13' | |
| - name: Install uv | |
| run: | | |
| curl -LsSf https://astral.sh/uv/install.sh | sh | |
| echo "$HOME/.cargo/bin" >> $GITHUB_PATH | |
| - name: Export requirements.txt | |
| run: | | |
| uv export --no-hashes --no-dev -o requirements.txt | |
| # 移除本地包引用(-e .)和 Python 3.13 特定的包 | |
| grep -v "^-e \." requirements.txt | grep -v "audioop-lts" > requirements_hf.txt || true | |
| mv requirements_hf.txt requirements.txt | |
| - name: Prepare deployment files | |
| run: | | |
| # 创建临时部署目录 | |
| mkdir -p /tmp/hf-deploy | |
| # 复制必要文件到部署目录 | |
| cp examples/app.py /tmp/hf-deploy/app.py | |
| cp requirements.txt /tmp/hf-deploy/ | |
| cp -r src/chapterbar /tmp/hf-deploy/ | |
| cp LICENSE /tmp/hf-deploy/ || echo "LICENSE not found, skipping" | |
| # 修改 app.py 以使用正确的导入路径 | |
| # 确保 src 目录在 Python 路径中 | |
| sed -i '1i import sys\nsys.path.insert(0, "/app/src")' /tmp/hf-deploy/app.py | |
| # 创建带有 HF Space 配置的 README.md | |
| cat > /tmp/hf-deploy/README.md << 'EOF' | |
| --- | |
| title: Auto Chapter Bar | |
| emoji: 🎬 | |
| colorFrom: blue | |
| colorTo: purple | |
| sdk: gradio | |
| python_version: "3.13" | |
| sdk_version: "5.9.1" | |
| app_file: app.py | |
| pinned: false | |
| license: apache-2.0 | |
| --- | |
| # 🎬 Auto Chapter Bar | |
| Auto Chapter Bar(简称 `acb`)是一个开源的 Python 工具,可以快速将 SRT 字幕文件转换为带有 Alpha 透明通道的视频章节进度条。 | |
| ## ✨ 核心特性 | |
| - **🎨 透明通道支持**:输出 RGBA 格式,可完美叠加在任意视频上 | |
| - **🤖 AI 智能分段**:基于 Moonshot LLM 理解语义边界,自动识别章节 | |
| - **🔒 隐私优先**:完全本地处理,视频文件不上传云端 | |
| - **⚡ 高性能**:多进程并行处理,速度提升 2-4 倍 | |
| - **🎛️ 三种模式**:AI 智能模式、自动分段模式、手动配置模式 | |
| ## 🚀 使用方法 | |
| 1. 上传 SRT 字幕文件 | |
| 2. 输入视频总时长(秒) | |
| 3. 选择生成模式(AI 或 Auto) | |
| 4. 点击生成按钮 | |
| 5. 下载生成的章节进度条视频 | |
| ## 📦 在视频编辑软件中使用 | |
| 生成的视频带有透明通道(Alpha Channel),可以直接叠加在原视频上: | |
| - **Adobe Premiere Pro**:导入后放在最上层视频轨道 | |
| - **剪映(CapCut)**:添加为画中画轨道 | |
| - **DaVinci Resolve**:放在视频轨道最上层 | |
| ## 🔗 项目链接 | |
| - **GitHub**: https://github.com/bbruceyuan/auto-chapter-bar | |
| - **文档**: 查看 GitHub 仓库获取完整文档 | |
| - **许可证**: Apache License 2.0 | |
| --- | |
| ⭐ 如果觉得这个项目有帮助,请在 GitHub 给个 Star! | |
| EOF | |
| # 创建 .gitignore for HF Space | |
| cat > /tmp/hf-deploy/.gitignore << 'EOF' | |
| __pycache__/ | |
| *.py[cod] | |
| .venv/ | |
| *.mov | |
| *.mp4 | |
| outputs/ | |
| inputs/ | |
| EOF | |
| - name: Push to Hugging Face Space | |
| env: | |
| HF_TOKEN: ${{ secrets.HF_TOKEN }} | |
| HF_USERNAME: bbruceyuan | |
| HF_SPACE_NAME: auto-chapter-bar | |
| run: | | |
| cd /tmp/hf-deploy | |
| # 配置 git | |
| git config --global user.email "github-actions[bot]@users.noreply.github.com" | |
| git config --global user.name "github-actions[bot]" | |
| # 初始化 git 仓库 | |
| git init | |
| git checkout -b main | |
| # 添加所有文件 | |
| git add . | |
| git commit -m "Deploy from GitHub Actions - $(date +'%Y-%m-%d %H:%M:%S')" | |
| # 推送到 Hugging Face | |
| git remote add hf https://${HF_USERNAME}:${HF_TOKEN}@huggingface.co/spaces/${HF_USERNAME}/${HF_SPACE_NAME} | |
| git push -f hf main |