Files
Pine 7f25c8f6bb refactor(backend): 启动环境初始化与资源项目化(零跨项目依赖)
- main.py:uv run main.py 一键启动——读取 backend/.env、TORCH_HOME/NLTK_DATA 指向项目内缓存、certifi SSL + NO_PROXY 网络直连、默认开启 s2s,启动横幅
- vendor/:补丁后 s2s 云化栈移入项目(backend/vendor/s2s-cloud),pyproject sources 改相对路径
- .gitignore:忽略 .torch-cache / nltk_data 缓存
- AGENTS.md:进程管理铁律(AI 不启动/重启服务,由用户操作)
2026-08-18 01:37:57 +08:00

1.3 KiB

Repository Instructions

  • Never include codex in branch names or pull request titles.
  • Keep release pull requests focused on version metadata and release documentation.
  • Do not commit local build artifacts such as dist/, build/, or generated wheel/sdist files.

Publishing to PyPI

PyPI publishing is handled by GitHub Actions in .github/workflows/publish.yml. The workflow runs on pushed tags that match v*, builds the package with uv build, checks the artifacts with twine check --strict, and publishes through the configured pypi environment.

To prepare a release:

  1. Confirm the intended version is not already published on PyPI.
  2. Bump version in pyproject.toml.
  3. Bump __version__ in src/speech_to_speech/__init__.py.
  4. Open and merge a pull request with only the release preparation changes.

To publish after the release PR is merged:

  1. Update main locally: git checkout main && git pull origin main.
  2. Create an annotated tag for the version: git tag -a vX.Y.Z -m "Release vX.Y.Z".
  3. Push the tag: git push origin vX.Y.Z.
  4. Watch the Publish GitHub Actions workflow complete successfully.
  5. Verify the new version appears at https://pypi.org/project/speech-to-speech/.

Only upload manually if the GitHub Actions workflow is unavailable and the maintainers have explicitly chosen that fallback.