Modules

Create and upload a Module

Modules are Dyff’s mechanism for allowing users to upload their own analysis code. A Module is just a directory tree containing code files. You create a Module in two steps, basically the same way as a Dataset. First create a Dyff Module containing a Python code package. Dyff assigns a unique ID to the module and returns a full Module object. Second, upload the actual package, providing the Module object so that Dyff knows where to store the data.

Assuming you’ve implemented your method in a file called examples/my_package.py in the directory /home/me/dyff/my-module, you would create and upload the package like this:

from dyff.client import Client

client = Client(api_key=API_KEY)

module = client.modules.create_package(
    "/home/me/dyff/my-module", account=ACCOUNT, name="my-module"
)
client.modules.upload_package(module, "/home/me/dyff/my-module")

If you created the module resource but couldn’t complete the upload, you can fetch the module record and re-try the upload: module = client.modules.get(<module.id>)