-
Notifications
You must be signed in to change notification settings - Fork 1
Description
Is your feature request related to a problem? Please describe.
Currently, exorcist relies on networkx to manipulate the task graph. This works well, but locks users into using networkx for any exorcist usecase. This means, that we would not be able to use new tools such as rustworkx or other custom graph frameworks. Adoption of these other libraries is already starting to take place in other OMSF projects such as openff-pablo.
Describe the solution you'd like
Ideally, I would like to see an implementation akin to Python's PathLike class but for graphs. I propose the use of a GraphLike class to enshrine the minimum number of required operations to be done by exorcist. This would enable users to bring their own graph library to the table.
Describe alternatives you've considered
I briefly looked at Python's graphlib for this case, but I think it is too minimal for what we are trying to achieve.
Additional context
I am open to any and all discussion about this, I think this project could be a good testing ground for this idea.