feat: add convenience re-exports to conductor.client for common symbols#396
Draft
nthmost-orkes wants to merge 1 commit intomainfrom
Draft
feat: add convenience re-exports to conductor.client for common symbols#396nthmost-orkes wants to merge 1 commit intomainfrom
nthmost-orkes wants to merge 1 commit intomainfrom
Conversation
Allows shallow imports like: from conductor.client import Configuration, TaskHandler, OrkesClients instead of the deeply nested full paths previously required. Resolves conductor-oss/getting-started#44
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Adds convenience re-exports to
src/conductor/client/__init__.pyso users can use shallow imports instead of deeply nested full paths.Before:
After:
Why this matters
Shallow, discoverable imports are the established convention in the Python ecosystem — libraries like FastAPI, Pydantic, and Celery all expose their core symbols at the top package level. Developers reasonably expect
from conductor.client import Configurationto work and are surprised when it doesn't.This is also increasingly important for LLM-assisted development. When an LLM generates code using the Conductor SDK, it will naturally reach for the shortest, most obvious import path. Deep paths like
conductor.client.configuration.configuration.Configurationare hard to infer correctly and create noisy, error-prone quickstart examples. Exposing common symbols atconductor.clientmakes LLM-generated code work correctly on the first try.Symbols re-exported
ConfigurationTaskHandler,TaskRunnerOrkesClientsConductorWorkflow,WorkflowExecutorworker_task,WorkerInterfaceTask,TaskResult,TaskResultStatusStartWorkflowRequestCloses conductor-oss/getting-started#44