1# Copyright 2023 The Bazel Authors. All rights reserved. 2# 3# Licensed under the Apache License, Version 2.0 (the "License"); 4# you may not use this file except in compliance with the License. 5# You may obtain a copy of the License at 6# 7# http://www.apache.org/licenses/LICENSE-2.0 8# 9# Unless required by applicable law or agreed to in writing, software 10# distributed under the License is distributed on an "AS IS" BASIS, 11# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12# See the License for the specific language governing permissions and 13# limitations under the License. 14"""PYTHON RULE IMPLEMENTATION ONLY: Do not use outside of the rule implementations and their tests. 15 16NOTE: This file is only loaded by @rules_python_internal//:py_internal.bzl. This 17is because the `py_internal` global symbol is only present in Bazel 7+, so 18a repo rule has to conditionally load this depending on the Bazel version. 19 20Re-exports the restricted-use py_internal helper under another name. This is 21necessary because `py_internal = py_internal` results in an error (trying 22to bind a local symbol to itself before its defined). 23 24This is to allow the rule implementation in the //python directory to access 25the internal helpers only rules_python is allowed to use. 26 27These may change at any time and are closely coupled to the rule implementation. 28""" 29 30py_internal_renamed = py_internal 31