Aus Sicht der allgemeinen Zugriffsmöglichkeit auf das PythonPart sollte das natürlich im Büro (Std) liegen.
Obacht: Ein PythonPart besteht immer aus 2 Teilen:
*.pyp-Datei für die Parameter und die Palette (liegt idealerweise in \Library)
*.py-Datei für's eigentliche Script (zwingend in \PythonPartsScripts)
Beide Teile müssen zueinander passen!
Beim "Absetzen" eines PythonParts auf einem Teilbild wird der Parameter-Teil (*.pyp) im PythonPart (auf dem Teilbild) gespeichert!
Das Script hingegen nicht! Dadurch muss man immer aufpassen, daß man die in den abgesetzen PythonParts benutzten Scripte nicht zu stark verändert oder löscht! Die Scripte sind sozusagen Ressourcen, und die sollten "projektspezifisch" sein!
Beim SmartPart hingegen wird alles (Parameter, Script, Ressourcen) im SmartPart auf dem Teilbild gespeichert! Es ist nach Absetzen völlig autark!
Wenn man die eigenen PythonParts öfters ändert, muss man natürlich immer sicherstellen, das diese Dateien, insbesondere das Script
kompatibel zu schon im Projekt benutzten PythonParts bleibt! Einen Parameternamen geändert, oder einen Parameter
hinzugefügt, und schon passt alles nicht mehr zusammen, und das PythonPart lässt sich nicht mehr aktualisieren!
Leider gibt es auch keine Migrations-Funktion, wie bei den SmartParts!
Damit die im Projekt verwendeten PythonParts immer bearbeitbar bleiben, sollte man daher die mindestens die Scripte
und ggf. auch die *.pyp-Dateien im Projekt speichern. Nur dann ist sichergestellt, daß Änderungen an den "Büro-Scripten"
nicht die PythonParts zerstören. Auch eine Sicherung eines Projektes mach nur Sinn, wenn man auch die Ressouren (die Scripte) mit sichert!
Allplan macht es bei den Oberflächen-Ressourcen vor: Sobald eine .surf-Datei aus dem Std-Ordner im Projekt verwendet wird, wird diese surf-Datei auch in's Projekt kopiert! Beim späternen Einlesen der *.surf-Datei für das Animationsfenster hat der Prj\design-Ordner Vorrang vor dem Std\design-Ordner.
Genauso macht es übrigens das SmartPart auch mit Bild-Ressourcen aus der Std\Library.
Und genauso sollte man es mit den Scripten tun! Eine Kopie davon in's Projekt, und die PythonParts lassen sich immer aktualisieren,
auch nach einer Rücksicherungs des Projekts in einer andere Büro-Umgebung.