Determining the Versions of Plugins

When building a distributable version of a program, it’s standard, I daresay, to include various plugins via the “plugins” keyword to setuptools. (e.g. “p3openal_audio”, or “pandagl”.)

Is there a way to see what versions of those plugins are available, or to set which versions are to be used in the build…?

It may just be that I’m tired this morning, but I’m not seeing where they’re drawn from, and it’s not clear to me whether their version can be set in the “requirements.txt” file or the “setup.py” script…

They are in the web storage (probably here https://archive.panda3d.org), setuptools downloads them, relying on the Panda3D and Python versions. However, you cannot select other versions because they are linked by the compiler that was used to build Panda3D.

Aah, I see! Thank you for that!

So at the least, I should be getting the version specific to my current version of Panda, which is good enough, I feel.

That’s not so, the plug-ins aren’t downloaded, they are included in the .whl of panda3d itself.

Sorry to say that there is no such centralised list. Honestly, the list accepts any .so file or .dll in the Panda wheel (with “lib” prefixed). My attempt to produce a complete list (availability depends on build configuration):

Renderer plug-ins:
pandagl
pandagles
pandagles2
pandadx9
p3tinydisplay
p3headlessgl
p3webgldisplay

Model loader plug-ins:
p3assimp
pandaegg
p3ptloader
pandaspeedtree

Audio playback plug-ins:
p3openal_audio
p3fmod_audio

Audio/video codec plug-ins:
p3ffmpeg

1 Like

Ah! That’s actually even better, from my standpoint: knowing the version of the wheel thus gives an implicit (even if not defined) version for the plugins!

Thank you for the answer! :slight_smile:

But where is the wheel? It doesn’t change the essence, in fact they are in the archive, but they are uploaded anyway.