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

Inheritance diagram of PandaSystem

__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.

*/

getGlobalPtr()

C++ Interface: get_global_ptr()

/**
  • Returns the global PandaSystem object.

*/

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_global_ptr()

C++ Interface: get_global_ptr()

/**
  • Returns the global PandaSystem object.

*/

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
output()

C++ Interface: output(PandaSystem self, ostream out)

/**

*/

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'
write()

C++ Interface: write(PandaSystem self, ostream out)

/**

*/