deepforge icon indicating copy to clipboard operation
deepforge copied to clipboard

JS/Python API for scripting

Open brollb opened this issue 5 years ago • 3 comments

We have discussed an API to promote scripting with DeepForge. This issue is meant to track design discussion, etc, around this API.

So far, I have been thinking using gRPC as this would allow the API to be largely generated from a protobuf file. However, one shortcoming would be that gRPC is not available in the browser without a gateway proxy (grpc-web).

Tasks that would be useful to be able to script:

  • Importing/uploading artifacts
  • Executing pipelines
  • Downloading artifacts
  • Creating pipelines?
  • Creating operations?
  • Creating utilities?

brollb avatar Apr 22 '20 20:04 brollb

Yeah this looks like a great feature to have. But does grpc-web proxy has to reside in client machine or its something that needs to handled from the server side?

umesh-timalsina avatar Apr 24 '20 01:04 umesh-timalsina

They use envoy (similar to nginx) which runs on the server side: https://www.envoyproxy.io/

brollb avatar Apr 28 '20 14:04 brollb

Another useful feature would be mounting projects on the filesystem so they can be edited as text. On linux, this could be achieved by creating a custom FUSE adapter though this wouldn't address all the challenges. For example, in order to add a reference to an operation, the operation interface editor is currently required. This could be changed by adding support for type annotations to differentiate btwn different types of references or attributes.

brollb avatar Nov 10 '20 21:11 brollb