build(python): vendor rpycdec

This commit is contained in:
2026-09-06 15:06:03 -04:00
parent 64773e0948
commit c85993c196
61 changed files with 6644 additions and 464 deletions

42
third_party/python/README.md vendored Normal file
View File

@@ -0,0 +1,42 @@
# Vendored Python packages
This package exposes vendored Python dependencies through stable public Bazel targets.
Bazel runs Python targets with the local `python3` runtime.
Project code depends on aliases in `//third_party/python`.
It does not depend on versioned package directories directly.
Use this layout for a vendored package:
```text
third_party/python/
BUILD.bazel
<name>-<version>/
BUILD.bazel
LICENSE
pyproject.toml
src/
```
Use the upstream package name for public aliases.
For command-line tools, add a `_bin` suffix to the binary target.
Preserve upstream license files and package metadata.
Keep local Bazel files separate from upstream source when possible.
Add optional dependencies as separate public targets.
Do not bundle optional dependencies into the primary package target.
## `rpycdec`
Ariadne uses `rpycdec` for archive extraction and debug decompilation.
Ariadne uses the game-bundled Ren'Py runtime for AST export.
The vendored source comes from `cnfatal/rpycdec` at commit `489e9c6b8a48ed7904d7039d7787c36a03c75fe3`.
The intended public targets are:
```text
//third_party/python:rpycdec
//third_party/python:rpycdec_bin
```