Netflix Genie Python Client

raw JSON →
3.6.19 verified Fri May 01 auth: no python

Official Python client for Netflix Genie, a federated job orchestration engine. Version 3.6.19 provides async and sync interfaces to submit jobs, query status, and manage executions. Low release cadence; minor patches. Supports Python 3.8+.

pip install nflx-genie-client
error ModuleNotFoundError: No module named 'genie_client'
cause Package not installed or wrong import path.
fix
Run pip install nflx-genie-client and import as from genie_client import GenieClient.
error UnboundLocalError: local variable 'response' referenced before assignment
cause Bug in genie_client when using 'raw' response with certain error codes (fixed in 3.6.17+).
fix
Upgrade to nflx-genie-client>=3.6.17 or catch the exception differently.
breaking In v3, the import path changed from 'genie2.client' to 'genie_client'. Old imports will raise ModuleNotFoundError.
fix Use 'from genie_client import GenieClient'
gotcha Passing unsupported parameters to submit_job (e.g., 'tags' instead of 'command_tag') fails silently or drops options. Always check the API signature.
fix Use keyword arguments exactly as documented: command, cluster, command_tag, etc.
deprecated The sync client's 'run_job' method is deprecated in v3.6. Use 'submit_job' and poll manually.
fix Replace client.run_job(...) with client.submit_job(...) and then client.get_job(job_id) to check status.

Create a GenieClient, submit a simple job, and print its ID.

import os
from genie_client import GenieClient

client = GenieClient(url=os.environ.get('GENIE_URL', 'http://localhost:8080'))
job = client.submit_job(
    command='echo hello',
    cluster='myCluster',
    command_tag='myCommand:1.0'
)
print(job.id)