Currently, the Indexify Python SDK lacks a robust versioning system for graphs and functions. This makes it challenging to manage changes over time, track the evolution of workflows, and ensure reproducibility of results. Implementing a versioning system will significantly improve the maintainability and reliability of Indexify workflows.
Current Limitations
In indexify/functions_sdk/graph.py, the Graph class doesn't have any version information:
Introduce Versioning for Graphs and Functions
Issue Description
Currently, the Indexify Python SDK lacks a robust versioning system for graphs and functions. This makes it challenging to manage changes over time, track the evolution of workflows, and ensure reproducibility of results. Implementing a versioning system will significantly improve the maintainability and reliability of Indexify workflows.
Current Limitations
indexify/functions_sdk/graph.py
, theGraph
class doesn't have any version information:indexify_function
decorator inindexify/functions_sdk/indexify_functions.py
doesn't include version information:indexify/remote_client.py
, there's no version handling:Benefits of Versioning
Proposed Solution
Graph
classindexify_function
decorator to include version informationregister_compute_graph
method to handle versioningLocalClient
andRemoteClient
classes to support versioning operationsTask
class inindexify/executor/api_objects.py
to include version information: