Reserved Names

Ren'Py reserves filenames that are do not begin with a letter or number, and filenames that begin with "00". Very specifically, filenames that start with "00" and "_" are used by Ren'Py internally.

Ren'Py reserves all names beginning with a single underscore (_). Do not use names beginning with an underscore, as that may cause your game to break in future versions of Ren'Py.

In addition, Python has rules for what names are valid. Valid names are composed of the following characters:

  • uppercase and lowercase letters (A-Z and a-z),

  • the underscore (_),

  • digits (0 through 9), which cannot appear as the first character, and

  • non-ASCII characters. Valid names may only contain “letter-like” and “digit-like” characters; see Non-ASCII characters in names for details.

The following is a list of names that are used by Python. Re-using these names can lead to obscure problems.

  • ArithmeticError

  • AssertionError

  • AttributeError

  • BaseException

  • BaseExceptionGroup

  • BlockingIOError

  • BrokenPipeError

  • BufferError

  • BytesWarning

  • ChildProcessError

  • ConnectionAbortedError

  • ConnectionError

  • ConnectionRefusedError

  • ConnectionResetError

  • DeprecationWarning

  • EOFError

  • Ellipsis

  • EncodingWarning

  • EnvironmentError

  • Exception

  • ExceptionGroup

  • False

  • FileExistsError

  • FileNotFoundError

  • FloatingPointError

  • FutureWarning

  • GeneratorExit

  • IOError

  • ImportError

  • ImportWarning

  • IndentationError

  • IndexError

  • InterruptedError

  • IsADirectoryError

  • KeyError

  • KeyboardInterrupt

  • LookupError

  • MemoryError

  • ModuleNotFoundError

  • NameError

  • None

  • NoneType

  • NotADirectoryError

  • NotImplemented

  • NotImplementedError

  • OSError

  • OverflowError

  • PPP

  • PendingDeprecationWarning

  • PermissionError

  • ProcessLookupError

  • RecursionError

  • ReferenceError

  • ResourceWarning

  • RuntimeError

  • RuntimeWarning

  • StopAsyncIteration

  • StopIteration

  • SyntaxError

  • SyntaxWarning

  • SystemError

  • SystemExit

  • TabError

  • TimeoutError

  • True

  • TypeError

  • UnboundLocalError

  • UnicodeDecodeError

  • UnicodeEncodeError

  • UnicodeError

  • UnicodeTranslateError

  • UnicodeWarning

  • UserWarning

  • ValueError

  • Warning

  • ZeroDivisionError

  • abs

  • aiter

  • all

  • anext

  • any

  • ascii

  • bin

  • bool

  • breakpoint

  • bytearray

  • bytes

  • callable

  • chr

  • classmethod

  • compile

  • complex

  • copyright

  • credits

  • delattr

  • dict

  • dir

  • divmod

  • enumerate

  • eval

  • exec

  • exit

  • filter

  • float

  • format

  • frozenset

  • getattr

  • globals

  • hasattr

  • hash

  • help

  • hex

  • id

  • input

  • int

  • isinstance

  • issubclass

  • iter

  • len

  • license

  • list

  • locals

  • map

  • max

  • memoryview

  • min

  • next

  • object

  • oct

  • open

  • ord

  • pow

  • print

  • property

  • quit

  • range

  • repr

  • reversed

  • round

  • set

  • setattr

  • slice

  • sorted

  • staticmethod

  • str

  • sum

  • super

  • tuple

  • type

  • vars

  • zip

The following are reserved names imported from the Python typing module into all Ren'Py stores.

  • Any

  • Callable

  • Literal

  • Self

  • cast

  • final

  • overload

  • override

The following is a list of names that are used by Ren'Py. While in some cases it makes sense to redefine these names, one should be aware that doing so can cause obscure problems.