-
Notifications
You must be signed in to change notification settings - Fork 3
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Add more "well-known" Sources #44
Comments
|
Sure, |
Yeah, |
Elevator Pitch
Expose more
DataFrameSource
subclasses that know how to work with different files/local features.Motivation
Inspecting the current environment and local files is good for delivering novel data, at scale, in a way that is relevant to the user's current environment and tools. The
WidgetSource
added in #35 demonstrates some useful patterns, and could be extended in useful ways, such as toggling features to include in the graph.Design Ideas
Potential Sources
PythonSource([imported_module, "module_name"])
importlib.metadata
to discover the relationships between packages and have interesting features like versioned dependencies, namedentry_points
and other useful featuresCondaSource(["package-name"])
SphinxInventorySource(["path/to/objects.inv])
LabPluginsSource(["plugin:id"])
DoitSource("path/to/dodo.py", ["task", "path/to/target.file"])
doit
tasksdoit
task loader pattern is... complexCommon API
These would all have some common patterns, which would be useful to extract into a common
BaseSource
, which would become the superclass ofDataFrameSource
(where most would be no-op`) and these new sources:BaseSource.value: TypedTuple(Any())
value
Path
/string/JSONBaseSource.node_features: Enum
andCustomSource.link_features: Enum
type
field in thenode
andlink
dataBaseSource.find_graph_data()
async
entry point, if data will be expensive to discover/parseBaseSource.get_default_behaviors(self) -> Tuple[Behavior]
BaseSource.add_default_behaviors = True
Out of scope
The text was updated successfully, but these errors were encountered: