You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Provide users with the ability to develop and deploy plug-ins, without resorting to physical files on disk.
The motivation for this feature came about during the development of tutorials and the need to effortlessly implement basic plug-ins in order to describe how Pyblish works at a higher-level, but without going through the hassle of saving files and appending paths for discovery.
Implementation
A basic interface could looks something like this.
importpyblish.apiclassSelectMyInstances(pyblish.api.Selector):
...
# Implementation of plug-in here# Register new plug-in, at run-time.pyblish.api.register_plugin(SelectMyInstances)
At this point the plug-in would be processed amongst other plug-ins discovered at filesystem-level.
Additional uses
Additionally, there might be an interest in only exposing plug-ins this way, and thus never make use of plug-ins as files. This could be beneficial when for example:
Access to file-system is limited
Portability is preferred over flexibility
Portability
What does it mean to be "portable"? Consider a scenario in which a series of plug-ins is shared with you by a colleague or friend. Currently, he could share a directory that you then..
Copy onto your file-system.
The path of which you register with Pyblish.
These steps could potentially be condensed into:
You running a self-contained script, that implicitly makes available included plug-ins.
The file-system remaining untouched.
Benefits
The immediate and intended benefit is simplicity in describing the process in which publishing happens. There is also the added benefit of being able to run tests without requiring access to the file-system, thus simplifying testing.
At the moment, a "fixture" is provided within the /tests directory of Pyblish, containing a number of probable scenarios in which a user might configure his environment. A number of plug-ins performing simple tasks that are then tested.
The problem with fixtures is it's required access from a run-time test onto a file-system with which a number of potential problems - unrelated to the test - may occur, such as read permission or missing/corrupted files.
The text was updated successfully, but these errors were encountered:
Goal
Provide users with the ability to develop and deploy plug-ins, without resorting to physical files on disk.
The motivation for this feature came about during the development of tutorials and the need to effortlessly implement basic plug-ins in order to describe how Pyblish works at a higher-level, but without going through the hassle of saving files and appending paths for discovery.
Implementation
A basic interface could looks something like this.
At this point the plug-in would be processed amongst other plug-ins discovered at filesystem-level.
Additional uses
Additionally, there might be an interest in only exposing plug-ins this way, and thus never make use of plug-ins as files. This could be beneficial when for example:
Portability
What does it mean to be "portable"? Consider a scenario in which a series of plug-ins is shared with you by a colleague or friend. Currently, he could share a directory that you then..
These steps could potentially be condensed into:
The file-system remaining untouched.
Benefits
The immediate and intended benefit is simplicity in describing the process in which publishing happens. There is also the added benefit of being able to run tests without requiring access to the file-system, thus simplifying testing.
At the moment, a "fixture" is provided within the /tests directory of Pyblish, containing a number of probable scenarios in which a user might configure his environment. A number of plug-ins performing simple tasks that are then tested.
The problem with fixtures is it's required access from a run-time test onto a file-system with which a number of potential problems - unrelated to the test - may occur, such as read permission or missing/corrupted files.
The text was updated successfully, but these errors were encountered: