# Vendored Python packages This package exposes vendored Python dependencies through stable public Bazel targets. Bazel uses `PYTHON_TOOLCHAIN_ROOT` to find the monorepo `python3` runtime. Project code depends on targets in `//third_party/python`. It does not depend on files inside vendored source directories directly. Use this layout for a vendored package: ```text third_party/python/ BUILD.bazel / LICENSE pyproject.toml src/ ``` Use the upstream package name for library targets. For command-line tools, add a `_bin` suffix to the binary target. Preserve upstream license files and package metadata. Keep repository Bazel files outside 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 public targets are: ```text //third_party/python:rpycdec //third_party/python:rpycdec_bin ```