PandaSystem
from panda3d.core import PandaSystem
- class PandaSystem
Bases:
DTOOL_SUPER_BASE
This class is used as a namespace to group several global properties of Panda. Application developers can use this class to query the runtime version or capabilities of the current Panda environment.
Inheritance diagram
- __init__(*args, **kwargs)
- addSystem()
C++ Interface: add_system(const PandaSystem self, str system)
- /**
Intended for use by each subsystem to register itself at startup.
*/
- add_system()
C++ Interface: add_system(const PandaSystem self, str system)
- /**
Intended for use by each subsystem to register itself at startup.
*/
- build_date = 'Sep 5 2025 07:59:44'
- compiler = 'GCC 10.2.1 20210130 (Red Hat 10.2.1-11)'
- distributor = 'cmu'
- getBuildDate()
C++ Interface: get_build_date()
- /**
Returns a string representing the date and time at which this version of
Panda (or at least dtool) was compiled, if available.
@deprecated
*/
- getClassType()
C++ Interface: get_class_type()
- getCompiler()
C++ Interface: get_compiler()
- /**
Returns a string representing the compiler that was used to generate this
version of Panda, if it is available, or “unknown” if it is not.
*/
- getDistributor()
C++ Interface: get_distributor()
- /**
Returns the string defined by the distributor of this version of Panda, or
“homebuilt” if this version was built directly from the sources by the end-
user. This is a completely arbitrary string.
*/
- getGitCommit()
C++ Interface: get_git_commit()
- /**
Returns a string representing the git commit hash that this source tree is
based on, or the empty string if it has not been specified at build time.
*/
- getMajorVersion()
C++ Interface: get_major_version()
- /**
Returns the major version number of the current version of Panda. This is
the first number of the dotted triple returned by get_version_string(). It
changes very rarely.
*/
- getMemoryAlignment()
C++ Interface: get_memory_alignment()
- /**
Returns the memory alignment that Panda’s allocators are using.
*/
- getMinorVersion()
C++ Interface: get_minor_version()
- /**
Returns the minor version number of the current version of Panda. This is
the second number of the dotted triple returned by get_version_string().
It changes with each release that introduces new features.
*/
- getNumSystems()
C++ Interface: get_num_systems(PandaSystem self)
- /**
Returns the number of Panda subsystems that have registered themselves.
This can be used with get_system() to iterate through the entire list of
available Panda subsystems.
*/
- getPlatform()
C++ Interface: get_platform()
- /**
Returns a string representing the runtime platform that we are currently
running on. This will be something like “win32” or “osx_i386” or
“linux_amd64”.
*/
- getSequenceVersion()
C++ Interface: get_sequence_version()
- /**
Returns the sequence version number of the current version of Panda. This
is the third number of the dotted triple returned by get_version_string().
It changes with bugfix updates and very minor feature updates.
*/
- getSystem()
C++ Interface: get_system(PandaSystem self, int n)
- /**
Returns the nth Panda subsystem that has registered itself. This list will
be sorted in alphabetical order.
*/
- getSystemTag()
C++ Interface: get_system_tag(PandaSystem self, str system, str tag)
- /**
Returns the value associated with the indicated tag for the given system.
This provides a standard way to query each subsystem’s advertised
capabilities. The set of tags and values are per-system and
implementation-defined.
The return value is the empty string if the indicated system is undefined
or if does not define the indicated tag.
*/
- getSystems()
- getVersionString()
C++ Interface: get_version_string()
- /**
Returns the current version of Panda, expressed as a string, e.g. “1.0.0”.
The string will end in the letter “c” if this build does not represent an
official version.
*/
- get_build_date()
C++ Interface: get_build_date()
- /**
Returns a string representing the date and time at which this version of
Panda (or at least dtool) was compiled, if available.
@deprecated
*/
- get_class_type()
C++ Interface: get_class_type()
- get_compiler()
C++ Interface: get_compiler()
- /**
Returns a string representing the compiler that was used to generate this
version of Panda, if it is available, or “unknown” if it is not.
*/
- get_distributor()
C++ Interface: get_distributor()
- /**
Returns the string defined by the distributor of this version of Panda, or
“homebuilt” if this version was built directly from the sources by the end-
user. This is a completely arbitrary string.
*/
- get_git_commit()
C++ Interface: get_git_commit()
- /**
Returns a string representing the git commit hash that this source tree is
based on, or the empty string if it has not been specified at build time.
*/
- get_major_version()
C++ Interface: get_major_version()
- /**
Returns the major version number of the current version of Panda. This is
the first number of the dotted triple returned by get_version_string(). It
changes very rarely.
*/
- get_memory_alignment()
C++ Interface: get_memory_alignment()
- /**
Returns the memory alignment that Panda’s allocators are using.
*/
- get_minor_version()
C++ Interface: get_minor_version()
- /**
Returns the minor version number of the current version of Panda. This is
the second number of the dotted triple returned by get_version_string().
It changes with each release that introduces new features.
*/
- get_num_systems()
C++ Interface: get_num_systems(PandaSystem self)
- /**
Returns the number of Panda subsystems that have registered themselves.
This can be used with get_system() to iterate through the entire list of
available Panda subsystems.
*/
- get_platform()
C++ Interface: get_platform()
- /**
Returns a string representing the runtime platform that we are currently
running on. This will be something like “win32” or “osx_i386” or
“linux_amd64”.
*/
- get_sequence_version()
C++ Interface: get_sequence_version()
- /**
Returns the sequence version number of the current version of Panda. This
is the third number of the dotted triple returned by get_version_string().
It changes with bugfix updates and very minor feature updates.
*/
- get_system()
C++ Interface: get_system(PandaSystem self, int n)
- /**
Returns the nth Panda subsystem that has registered itself. This list will
be sorted in alphabetical order.
*/
- get_system_tag()
C++ Interface: get_system_tag(PandaSystem self, str system, str tag)
- /**
Returns the value associated with the indicated tag for the given system.
This provides a standard way to query each subsystem’s advertised
capabilities. The set of tags and values are per-system and
implementation-defined.
The return value is the empty string if the indicated system is undefined
or if does not define the indicated tag.
*/
- get_systems()
- get_version_string()
C++ Interface: get_version_string()
- /**
Returns the current version of Panda, expressed as a string, e.g. “1.0.0”.
The string will end in the letter “c” if this build does not represent an
official version.
*/
- git_commit = 'b32d5c672441c280f7e799483d223e252cf9f797'
- hasSystem()
C++ Interface: has_system(PandaSystem self, str system)
- /**
Returns true if the current version of Panda claims to have the indicated
subsystem installed, false otherwise. The set of available subsystems is
implementation defined.
*/
- has_system()
C++ Interface: has_system(PandaSystem self, str system)
- /**
Returns true if the current version of Panda claims to have the indicated
subsystem installed, false otherwise. The set of available subsystems is
implementation defined.
*/
- heapTrim()
C++ Interface: heap_trim(const PandaSystem self, int pad)
- /**
Attempts to release memory back to the system, if possible. The pad
argument is the minimum amount of unused memory to keep in the heap
(against future allocations). Any memory above that may be released to the
system, reducing the memory size of this process. There is no guarantee
that any memory may be released.
Returns true if any memory was actually released, false otherwise.
*/
- heap_trim()
C++ Interface: heap_trim(const PandaSystem self, int pad)
- /**
Attempts to release memory back to the system, if possible. The pad
argument is the minimum amount of unused memory to keep in the heap
(against future allocations). Any memory above that may be released to the
system, reducing the memory size of this process. There is no guarantee
that any memory may be released.
Returns true if any memory was actually released, false otherwise.
*/
- isOfficialVersion()
C++ Interface: is_official_version()
- /**
Returns true if current version of Panda claims to be an “official”
version, that is, one that was compiled by an official distributor of Panda
using a specific version of the panda source tree. If this is true, there
will not be a “c” at the end of the version string returned by
get_version_string().
Note that we must take the distributor’s word for it here.
*/
- is_official_version()
C++ Interface: is_official_version()
- /**
Returns true if current version of Panda claims to be an “official”
version, that is, one that was compiled by an official distributor of Panda
using a specific version of the panda source tree. If this is true, there
will not be a “c” at the end of the version string returned by
get_version_string().
Note that we must take the distributor’s word for it here.
*/
- major_version = 1
- memory_alignment = 16
- minor_version = 11
- official_version = True
- platform = 'linux_amd64'
- sequence_version = 0
- setSystemTag()
C++ Interface: set_system_tag(const PandaSystem self, str system, str tag, str value)
- /**
Intended for use by each subsystem to register its set of capabilities at
startup.
*/
- set_system_tag()
C++ Interface: set_system_tag(const PandaSystem self, str system, str tag, str value)
- /**
Intended for use by each subsystem to register its set of capabilities at
startup.
*/
- systems
- version_string = '1.11.0'