https://flyte.org logo
Join Slack
Powered by
# flytekit
  • c

    cuddly-jelly-27016

    06/01/2025, 12:12 AM
    #4854 [Core feature] Accept template strings for SQLAlchemyTask container_image property Issue created by EternalDeiwos ### Motivation: Why do you think this is important? Currently attempting to use templates inside the
    container_image
    property produces an error:
    Copy code
    couldn't parse image reference "{{.images.default.fqn}}:{{.images.default.tag}}": invalid reference format
    This particular error message is returned from Kubernetes when attempting to run the container for the task. My config is as follows: SQLAlchemyTask( "example.hello_mssql.sql_task", query_template=""" SELECT @@version version """, container_image="{{.images.default.fqn}}:{{.images.default.tag}}", output_schema_type=DataSchema, task_config=SQLAlchemyConfig( ... ), secret_requests=[*secrets.values()], ) ### Goal: What should the final outcome look like, ideally? The above config should work; as per the current `get_registerable_container_image` logic ### Describe alternatives you've considered Right now this must be hard-coded ### Propose: Link/Inline OR Additional context This needs to be wrapped in
    get_registerable_container_image
    (see slack messages). ### Are you sure this issue hasn't been raised already? • Yes ### Have you read the Code of Conduct? • Yes flyteorg/flyte
    • 1
    • 1
  • c

    cuddly-jelly-27016

    06/03/2025, 6:11 PM
    Release - v1.16.1b0 New release published by pingsutw ## What's Changed • ci: Update version extraction in CI workflow by @pingsutw in #3261 Full Changelog: v1.16.0...v1.16.1b0 flyteorg/flytekit
  • c

    cuddly-jelly-27016

    06/05/2025, 7:05 PM
    Deployment to github-pages by flyte-bot flyteorg/flyte
  • c

    cuddly-jelly-27016

    06/05/2025, 9:39 PM
    Deployment to github-pages by flyte-bot flyteorg/flyte
  • c

    cuddly-jelly-27016

    06/05/2025, 10:18 PM
    Deployment to github-pages by flyte-bot flyteorg/flyte
  • c

    cuddly-jelly-27016

    06/10/2025, 4:13 PM
    Release - v1.16.1 New release published by pingsutw ## What's Changed • ci: Update version extraction in CI workflow by @pingsutw in #3261 • Add ability to specify default resource requests/limits for tasks via
    pyflyte run
    and
    pyflyte register
    by @redartera in #3229 • add FlyteRemote.deactivate_launchplan by @cosmicBboy in #3264 • Fix airflow tests by @pingsutw in #3262 • [BUG] KeyError: 'sparkConf' occurs when running a Databricks task without spark_conf by @machichima in #3263 • Bump jinja2 from 3.1.4 to 3.1.6 in /plugins/flytekit-airflow by @dependabot in #3258 Full Changelog: v1.16.0...v1.16.1 flyteorg/flytekit
  • c

    cuddly-jelly-27016

    06/11/2025, 12:09 AM
    #4673 [Core feature] Eager should support executing tasks/workflows by reference without having access to the original function Issue created by pryce-turner ### Motivation: Why do you think this is important? This feature would streamline the workflow development process by enabling local execution of a workflow while tasks are in fact being run in a flyte cluster with access to GPUs, agents, plugins etc. ### Goal: What should the final outcome look like, ideally? This feature should enable something like the following:
    Copy code
    from flytekit.experimental import eager
    from flytekit.types.directory import FlyteDirectory
    from flytekit.remote.remote import Config, FlyteRemote
    
    remote = FlyteRemote(
      config=Config.auto(config_file="config.yaml"),
      default_project="project_name",
      default_domain="development",
      )
    
    remote_workflow = remote.fetch_launch_plan(
      project="project_name", name="workflow_name", version="version_number"
      )
    
    @eager(remote=remote)
    async def toy_example(directories: FlyteDirectory) -> bool:
      result = await remote_workflow(directories=[directories])
      return 0
    More concisely, a new class e.g.
    import_launchplan
    could be used inside of the eager workflow and inherit it's remote definition to fetch things:
    result = await import_launchplan('lp_name')(directories=[directories])
    And be executable with:
    pyflyte --config config.yaml run --project project_name toy_example.py toy_example --directories ./
    which currently return:
    Remotely fetched entities cannot be run locally. Please mock the workflows.remote_workflow.execute.
    ### Describe alternatives you've considered It's possible to use
    pyflyte run --remote
    followed by
    pyflyte fetch
    to get the assets back locally, but that's a more manual process. It would also be possible to define everything in a remote context within a python script, including the fetch, but that's developing further away from production. ### Propose: Link/Inline OR Additional context Could be related to: #4570 ### Are you sure this issue hasn't been raised already? • Yes ### Have you read the Code of Conduct? • Yes flyteorg/flyte
    • 1
    • 1
  • a

    alert-oil-1341

    06/11/2025, 9:45 PM
    We've got some instances of using Optional[date] parameters in workflows, but can't call them from the CLI without errors. I put together a PR but would love some feedback on this.
    f
    • 2
    • 1
  • c

    cuddly-jelly-27016

    06/13/2025, 12:10 AM
    #2108 [BUG][Flytekit] `FlyteWorkflowExecution` `inputs` and `outputs` property return `None` Issue created by mdjong1 ### Describe the bug When using
    FlyteRemote
    with the
    fetch_workflow_execution
    function we can correctly retrieve most of the information related to a workflow execution (i.e. version, closure information). However, when we try to access the inputs and output from here the result is a
    None
    , despite knowing/seeing that the execution has inputs & outputs in the Flyte Console. ### Expected behavior I would expect that when I call
    .inputs
    or
    .outputs
    on a
    FlyteWorkflowExecution
    it would
    Returns the inputs to the execution in the standard python format as dictated by the type engine.
    (taken from docstring) as opposed to returning a
    None
    when inputs and outputs are actually set for the specific workflow execution. For cases when no inputs or outputs are set perhaps an empty dict would make more sense here as well. ### Additional context to reproduce remote = FlyteRemote(flyte_admin_url=_FLYTE_HOST, insecure=False) execution = remote.fetch_workflow_execution(project=_PROJECT_NAME, domain=_PROJECT_DOMAIN, name=_EXECUTION_NAME) print(execution.inputs) # prints None ### Screenshots ### Are you sure this issue hasn't been raised already? • Yes ### Have you read the Code of Conduct? • Yes flyteorg/flyte
    • 1
    • 3
  • c

    cuddly-jelly-27016

    06/13/2025, 12:10 AM
    #3265 [BUG] [flytekit] FlyteRemote fetch execution with gate node Issue created by wild-endeavor ### Describe the bug from flytekit.remote.remote import FlyteRemote from flytekit.configuration import Config r = FlyteRemote( Config.auto(config_file="/Users/ytong/.flyte/dev.yaml"), default_project="flytesnacks", default_domain="development", ) execution_id = "asfv42v66gsxm5hljfg8" ex = r.fetch_execution(name=execution_id) Sync'ing nodes returns this error
    Copy code
    In [5]: r.sync_execution(ex, sync_nodes=True)
    ---------------------------------------------------------------------------
    AttributeError                            Traceback (most recent call last)
    <ipython-input-5-cc8f74e15715> in <cell line: 1>()
    ----> 1 r.sync_execution(ex, sync_nodes=True)
    
    ~/go/src/github.com/flyteorg/flytekit/flytekit/remote/remote.py in sync_execution(self, execution, entity_definition, sync_nodes)
       1478             node_execs = {}
       1479             for n in underlying_node_executions:
    -> 1480                 node_execs[n.id.node_id] = self.sync_node_execution(n, node_mapping)  # noqa
       1481             execution._node_executions = node_execs
       1482         return self._assign_inputs_and_outputs(execution, execution_data, node_interface)
    
    ~/go/src/github.com/flyteorg/flytekit/flytekit/remote/remote.py in sync_node_execution(self, execution, node_mapping)
       1620                 for t in iterate_task_executions(self.client, execution.id)
       1621             ]
    -> 1622             execution._interface = execution._node.flyte_entity.interface
       1623
       1624         self._assign_inputs_and_outputs(
    
    AttributeError: 'FlyteGateNode' object has no attribute 'interface'
    ### Expected behavior should not error. ### Additional context to reproduce No response ### Screenshots No response ### Are you sure this issue hasn't been raised already? • Yes ### Have you read the Code of Conduct? • Yes flyteorg/flyte
    • 1
    • 1
  • c

    cuddly-jelly-27016

    06/13/2025, 12:10 AM
    #3628 [BUG] Flytekit: 'FlyteBranchNode' object has no attribute 'interface' Issue created by tomasz-sodzawiczny ### Describe the bug
    FlyteRemote.sync_execution()
    (and other methods that rely on it, e.g.
    FlyteRemote.wait()
    and
    FlyteRemote.execute()
    with wait=True) occasionally fails with
    Copy code
    AttributeError: 'FlyteBranchNode' object has no attribute 'interface'
    The offending line is remote.py#L1644 (I pasted full stack trace in the "Sreenshots" below). The error only happens while the task is running (and is some specific state). Seems to happen for us mostly when the tasks inside of the conditional take some time to schedule (e.g. tasks with resource requirements that trigger cluster scale-up). This pretty much renders
    wait()
    unusable for us, we had do our own wait wrapper that has a try..except around the
    sync_execution
    to handle this case. ### Expected behavior It shuold not raise? ;) ### Additional context to reproduce No response ### Screenshots Stack trace:
    Copy code
    AttributeError                            Traceback (most recent call last)
    Cell In[9], line 3
    ----> 3 flyte.sync_execution(ex, sync_nodes=True)
    
    File [~/Library/Caches/pypoetry/virtualenvs/platform-QGRyQAM2-py3.10/lib/python3.10/site-packages/flytekit/remote/remote.py:1503](<https://file>+.<http://vscode-resource.vscode-cdn.net/Users/tomasz/projects/workflows/demos/~/Library/Caches/pypoetry/virtualenvs/platform-QGRyQAM2-py3.10/lib/python3.10/site-packages/flytekit/remote/remote.py:1503|vscode-resource.vscode-cdn.net/Users/tomasz/projects/workflows/demos/~/Library/Caches/pypoetry/virtualenvs/platform-QGRyQAM2-py3.10/lib/python3.10/site-packages/flytekit/remote/remote.py:1503>), in FlyteRemote.sync_execution(self, execution, entity_definition, sync_nodes)
       1501     node_execs = {}
       1502     for n in underlying_node_executions:
    -> 1503         node_execs[n.id.node_id] = self.sync_node_execution(n, node_mapping)  # noqa
       1504     execution._node_executions = node_execs
       1505 return self._assign_inputs_and_outputs(execution, execution_data, node_interface)
    
    File [~/Library/Caches/pypoetry/virtualenvs/platform-QGRyQAM2-py3.10/lib/python3.10/site-packages/flytekit/remote/remote.py:1645](<https://file>+.<http://vscode-resource.vscode-cdn.net/Users/tomasz/projects/workflows/demos/~/Library/Caches/pypoetry/virtualenvs/platform-QGRyQAM2-py3.10/lib/python3.10/site-packages/flytekit/remote/remote.py:1645|vscode-resource.vscode-cdn.net/Users/tomasz/projects/workflows/demos/~/Library/Caches/pypoetry/virtualenvs/platform-QGRyQAM2-py3.10/lib/python3.10/site-packages/flytekit/remote/remote.py:1645>), in FlyteRemote.sync_node_execution(self, execution, node_mapping)
       1639 # This is the plain ol' task execution case
       1640 else:
       1641     execution._task_executions = [
       1642         self.sync_task_execution(FlyteTaskExecution.promote_from_model(t))
       1643         for t in iterate_task_executions(self.client, execution.id)
       1644     ]
    -> 1645     execution._interface = execution._node.flyte_entity.interface
       1647 self._assign_inputs_and_outputs(
       1648     execution,
       1649     node_execution_get_data_response,
       1650     execution.interface,
       1651 )
       1653 return execution
    
    AttributeError: 'FlyteBranchNode' object has no attribute 'interface'
    ### Are you sure this issue hasn't been raised already? • Yes ### Have you read the Code of Conduct? • Yes flyteorg/flyte
    • 1
    • 1
  • c

    cuddly-jelly-27016

    06/14/2025, 12:09 AM
    #6311 [BUG] pyflyte run remote-task doesn't support boolean False parameters Issue created by cventus ### Describe the bug When a Task (or, Workflow, or Launch Plan) has a boolean input that's set to false you get an error from
    pyflyte run remote-task
    (and
    remote-workflow
    and
    remote-launchplan
    ): $ pyflyte run remote-task example.example_task --no-flag TypeTransformerFailedError: Python value cannot be None, expected <class 'bool'>/Flyte Serialized object (LiteralType): simple: 4 I'm using flytekit 1.15.0 ### Expected behavior It should be possible to set boolean parameters to False using
    pyflyte run remote-task
    . It should work the same as
    pyflyte run --remote
    . ### Additional context to reproduce example.py from flytekit import task @task() def example_task(flag: bool) -> bool: return flag Works pyflyte run --remote example.py example_task --flag pyflyte run --remote example.py example_task --no-flag pyflyte run remote-task example.example_task --flag Fails pyflyte run remote-task example.example_task --no-flag ### Screenshots No response ### Are you sure this issue hasn't been raised already? • Yes ### Have you read the Code of Conduct? • Yes flyteorg/flyte
    • 1
    • 3
  • c

    cuddly-jelly-27016

    06/19/2025, 12:10 AM
    #770 [Core Feature]Automatic deduction of Cache Version for certain task types Issue created by kumare3 Motivation: Why do you think this is important? Flytekit today relies on the Cache Version to be specified always. This can be error prone. But, in some cases deducing the Cache Version is completely possible. For example in the case of SQL Queries or Instance tasks, or sagemaker built-in algorithm tasks etc. Flytekit should allow some task types to automatically deduce the cache version Goal: What should the final outcome look like, ideally? Users should not need to specify cache version of certain task types. It should be automatically de-ducted. But, cacheable should be optional. Describe alternatives you've considered Implement the cache version on the user side. This is complicated and more error prone flyteorg/flyte
    • 1
    • 1
  • c

    cuddly-jelly-27016

    06/23/2025, 12:10 AM
    #5280 Use ImageSpec as default task image Issue created by pingsutw ### Motivation: Why do you think this is important? The below task will fail when running on a remote cluster if people use non-fast register. (
    pyflyte register --non-fast
    or
    pyflyte package
    +
    flytectl register
    ) That's because flytekit won't download the task code in non-fast mode, and expect the user code to be inside the image. @task() def t1(): print("hello world") ### Goal: What should the final outcome look like, ideally? Change the default image (`cr.flyte.org/flyteorg/flytekit:py3.8-latest`) to
    ImageSpec(base_image=<http://cr.flyte.org/flyteorg/flytekit:py3.8-latest|cr.flyte.org/flyteorg/flytekit:py3.8-latest>)
    , so flytekit will build the image at compile time, and copy the user code into the image. https://github.com/flyteorg/flytekit/blob/1bb50675b4a64bb6318813c9a9ddda77ebbcbb47/flytekit/configuration/default_images.py#L16-L27 ### Describe alternatives you've considered Raise an exception at compile time when
    container_name
    is None in non-fast mode ### Propose: Link/Inline OR Additional context No response ### Are you sure this issue hasn't been raised already? • Yes ### Have you read the Code of Conduct? • Yes flyteorg/flyte
    • 1
    • 3
  • c

    cuddly-jelly-27016

    06/23/2025, 8:40 PM
    Release - v1.14.9 New release published by pingsutw ## What's Changed • [cherry-pick] KeyError: 'sparkConf' occurs when running a Databricks task without spark_conf by @pingsutw in #3282 Full Changelog: v1.14.8...v1.14.9 flyteorg/flytekit
  • c

    cuddly-jelly-27016

    06/30/2025, 12:11 AM
    #4354 [BUG] Keyring errors when intialising flyte remote client Issue created by Tom-Newton ### Describe the bug Get a keyring error when initialising a simple flyte remote client. It seems to only happen on some systems and the exact error varies slightly. I've seen
    InitError: Failed to create the collection: Prompt dismissed..
    KeyringLocked: Failed to unlock the collection!
    ### Expected behavior I'm not trying to use any authentication so I would expect it to ignore any exceptions about the system keyring. Alternatively we could add
    AuthType.NONE
    so that all keyvault related code can be avoided. ### Additional context to reproduce On my system I can reproduce with:
    Copy code
    from flytekit.configuration import Config
    from flytekit.remote import FlyteRemote
    
    config = Config.for_sandbox()
    remote = FlyteRemote(config=config)
    remote.client
    This is SSHing from one linux system to another linux system. Both are used with a Desktop setup so they probably have the GNOME keyring installed. I tried using all the different Auth types but they all failed for one reason or another (this is largely expected because we do not have any authentication configured on our flyte deployment). Full stack trace: stack_trace.txt ### Screenshots No response ### Are you sure this issue hasn't been raised already? • Yes ### Have you read the Code of Conduct? • Yes flyteorg/flyte
    • 1
    • 1
  • c

    cuddly-jelly-27016

    06/30/2025, 12:11 AM
    #4542 [Core feature] FlyteFile UX Improvements Issue created by EngHabu ### Motivation: Why do you think this is important? FlyteFile & FlyteDirectory are the primary ways to access unstructured datasets usually stored remotely (s3, gs, az... etc.). The UX for interacting with these files is quite cumbersome IMHO. I wanted to start a collection of proposals and use-cases to improve the UX. If you have others to add, please comment below... ### Goal: What should the final outcome look like, ideally? 1. Be able to operate on FlyteFiles on the metadata level (e.g. inspect file metadata and group files based on creation data or a specific tag on the files) 2. Create
    FlyteFile
    from a remote url. This is supported but counter intuitive (
    FlyteFile(path="s3://....", remote=False)
    ) 3.
    FlyteDirectory.crawl()
    should yield `FlyteFile`s and they should have metadata 4.
    FlyteDirectory.crawl(details=True)
    returns a list of tuples
    (file_base, {file_path: dict})
    a dict of one item is useless in my opinion. It should return
    (file_base, (file_path, dict))
    instead... but we should return FlyteFiles anyway and have materialized metadata on FlyteFiles.. maybe something like
    (file_base, (file_path, FlyteFile))
    5.
    FlyteFile.download()
    downloads files in random locations. I think these should be under the working directory by default (maybe in randomly generated folder names)... and I think it should allow you to download to a specific location... right now I've to
    open(my target)
    and write to it ### Describe alternatives you've considered Reimplement these at the task level. ### Propose: Link/Inline OR Additional context No response ### Are you sure this issue hasn't been raised already? • Yes ### Have you read the Code of Conduct? • Yes flyteorg/flyte
    • 1
    • 1
  • c

    cuddly-jelly-27016

    06/30/2025, 8:48 PM
    Release - v1.16.2b0 New release published by pingsutw ## What's Changed • support FlyteRemote.execute with no inputs by @cosmicBboy in #3266 • [breaking change] neptune scale plugin by @samhita-alla in #3260 • Ignore ray reinit errors in local execution by @Ziemin in #3277 • enable notebook task/workflow registration by @cosmicBboy in #3275 • Fix issue where pod template override pod spec was missing by @Sovietaced in #3270 • Feat: Allow setting k8s labels and annotations in task decorator by @fg91 in #3243 • make ngc image secret optional by @samhita-alla in #3280 • Reduce logging level for dataclass type structure by @wild-endeavor in #3283 • Support recursive
    ImageSpec
    build by
    DefaultBuilder
    by @amitani in #3284 • Fix launch plan CLI registration by @pingsutw in #3285 ## New Contributors • @Ziemin made their first contribution in #3277 Full Changelog: v1.16.1...v1.16.2b0 flyteorg/flytekit
  • c

    cuddly-jelly-27016

    07/05/2025, 11:28 PM
    #5801 [Core feature] Introduce a `.flyteinclude` Issue created by thomasjpfan ### Motivation: Why do you think this is important? There are many ways to configure flytekit to ignore files during fast registration:
    .gitignore
    ,
    .dockerignore
    ,
    .flyteignore
    . I propose adding a
    .flyteinclude
    that allows users to explicitly state which files they want to include. ### Goal: What should the final outcome look like, ideally? Add
    .flyteinclude
    that lists out files or globs of files to include. ### Describe alternatives you've considered Do not add
    .flyteinclude
    . ### Propose: Link/Inline OR Additional context No response ### Are you sure this issue hasn't been raised already? • Yes ### Have you read the Code of Conduct? • Yes flyteorg/flyte
    • 1
    • 1
  • c

    cuddly-jelly-27016

    07/07/2025, 8:31 PM
    Release - v1.16.2b1 New release published by pingsutw ## What's Changed • Version hash should include the image from launchPlan.workflow.nodes by @pingsutw in #3290 • Specify pandas version for Python 3.9 for deck plugin by @pingsutw in #3289 • Fix click option parameter declaration to remove short flag conflict by @pingsutw in #3286 • sort input bound by @pingsutw in #3292 Full Changelog: v1.16.2b0...v1.16.2b1 flyteorg/flytekit
  • e

    early-napkin-90297

    07/11/2025, 9:40 PM
    For [reasons], I couldn't use the default ImageSpec builder in my workflows due to the implicit
    micromamba
    dependency. flytekit-uv is a
    flytekit
    plugin implementing a pure
    uv
    builder for ImageSpec. I'm wondering if it would be more broadly useful, and whether there might be interest for adding it to the official plugins, perhaps with a more complete set of features.
    f
    • 2
    • 13
  • c

    cuddly-jelly-27016

    07/15/2025, 4:07 AM
    #5825 Reference task to fetch latest version by default Issue created by nuhaj ### Describe the feature/command for FlyteCTL To be able to reference a task you need to explicitly add the version
    Copy code
    @reference_task(
        project="myproj",
        domain="development",
        name="workflow.test",
        version="123456789",
    )
    def reftask(test: str) ->str:
        ...
    the version keyword is required. To be able to get the latest version you need to fetch it using FlyteRemote. This adds complexity if you are using authentication or CICD. It would simplify reference tasks to be able to leave the version keyword our in which case the latest version is used. if the user wants to explicitly specify the version they can. ### Provide a possible output or UX example
    Copy code
    @reference_task(
        project="myproj",
        domain="development",
        name="workflow.test",
    )
    def reftask(test: str) ->str:
        ...
    ### Are you sure this issue hasn't been raised already? • Yes ### Have you read the Code of Conduct? • Yes flyteorg/flyte
    • 1
    • 1
  • c

    cuddly-jelly-27016

    07/16/2025, 5:54 PM
    Release - v1.16.2 New release published by kumare3 ## What's Changed • support FlyteRemote.execute with no inputs by @cosmicBboy in #3266 • [breaking change] neptune scale plugin by @samhita-alla in #3260 • Ignore ray reinit errors in local execution by @Ziemin in #3277 • enable notebook task/workflow registration by @cosmicBboy in #3275 • Fix issue where pod template override pod spec was missing by @Sovietaced in #3270 • Feat: Allow setting k8s labels and annotations in task decorator by @fg91 in #3243 • make ngc image secret optional by @samhita-alla in #3280 • Reduce logging level for dataclass type structure by @wild-endeavor in #3283 • Support recursive
    ImageSpec
    build by
    DefaultBuilder
    by @amitani in #3284 • Fix launch plan CLI registration by @pingsutw in #3285 • Version hash should include the image from launchPlan.workflow.nodes by @pingsutw in #3290 • Specify pandas version for Python 3.9 for deck plugin by @pingsutw in #3289 • Fix click option parameter declaration to remove short flag conflict by @pingsutw in #3286 • sort input bound by @pingsutw in #3292 • add L40S, H100, H200 to pre-defined accelerators by @cosmicBboy in #3293 • fix name of nvidia H100/H200 accelerators by @cosmicBboy in #3295 • add ephemeral storage param to nim by @samhita-alla in #3291 • [BUG] Local testing using optional dicts with optional values does not work by @machichima in #3294 • image builder: give flytekit user ownership of /root after venv is cr… by @cosmicBboy in #3298 ## New Contributors • @Ziemin made their first contribution in #3277 Full Changelog: v1.16.1...v1.16.2 flyteorg/flytekit
  • c

    cuddly-jelly-27016

    07/17/2025, 6:55 PM
    Release - v1.16.3 New release published by kumare3 ## What's Changed • docker build: make sure venvs are owned by flytekit by @cosmicBboy in #3299 (Recommended to use 1.16.3 instead of 1.16.2) Full Changelog: v1.16.2...v1.16.3 flyteorg/flytekit
  • c

    cuddly-jelly-27016

    07/19/2025, 12:10 AM
    #5737 [Core feature] Generic alias support Issue created by wild-endeavor ### Motivation: Why do you think this is important? flytekit currently does not have generic alias support. That is, while this works @task def t1(nodelist: List[int] | None = None): print(nodelist) this does not @task def t2(nodelist: list[int] | None = None): print(nodelist) If you try to run this, you get the error
    isinstance() argument 2 cannot be a parameterized generic
    that's mentioned in docs for standard types. ### Propose: Link/Inline OR Additional context The usage of isinstance is currently coming from the
    assert_type
    call in the type engine. Kinda worked around that in here https://github.com/flyteorg/flytekit/pull/2743/files and got the trivial case above working but additional tests and more complex cases need to be considered. ### Are you sure this issue hasn't been raised already? • Yes ### Have you read the Code of Conduct? • Yes flyteorg/flyte
    • 1
    • 1
  • c

    cuddly-jelly-27016

    07/29/2025, 11:05 AM
    Deployment to github-pages by flyte-bot flyteorg/flyte
  • c

    cuddly-jelly-27016

    07/30/2025, 9:59 PM
    Deployment to github-pages by flyte-bot flyteorg/flyte
  • c

    cuddly-jelly-27016

    08/01/2025, 12:12 AM
    #4787 [flyte-bug] Can't retrieve the nodes of a dynamic workflow in an execution by FlyteRemote Issue created by kuni23 ### Describe the bug Hi all! I am trying to reach the nodes of a dynamic workflow in an execution by FlyteRemote, but it is not working. Here are the steps I've taken: Fetch the execution using FlyteRemote:
    exec = remote.fetch_execution(project, domain, execution_name)
    Retrieve the ID of the dynamic node execution:
    dynamic_node_exec_id = remote.client.list_node_executions(exec.id)[0][3].id
    Obtain the ID of the dynamic task execution:
    dynamic_task_id = remote.client.list_task_executions_paginated(dynamic_node_exec_id)[0][0].id
    Attempt to list node executions for the task, but I get an empty list:
    spawned_nodes = remote.client.list_node_executions_for_task_paginated(dynamic_task_id)
    ### Expected behavior Since I have got the task execution of a dynamic workflow, applying the list_node_executions_for_task_paginated should return its node executions in a list according to the documentation of FlyteRemote. ### Additional context to reproduce No response ### Screenshots [image](https://private-user-images.githubusercontent.com/84456950/300404057-14ac482b-aef7-407e-9ecb-a306982e4b54.png?jwt=eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3NTQ2OTg0ODAsIm5iZiI6MTc1NDY5ODE4MCwicGF0aCI6Ii84NDQ1Njk1MC8zMDA0MDQwNTctMTRhYzQ4MmItYWVmNy00MDdlLTllY2ItYTMwNjk4MmU0YjU0LnBuZz9YLUFtei1BbGdvcml0aG09QVdTNC1ITUFDLVNIQTI1NiZYLUFtei1DcmVkZW50aWFsPUFLSUFWQ09EWUxTQTUzUFFLNFpBJTJGMjAyNTA4MDklMkZ1cy1lYXN0LTElMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1EYXRlPTIwMjUwODA5VDAwMDk0MFomWC1BbXotRXhwaXJlcz0zMDAmWC1BbXotU2lnbmF0dXJlPTk2YTVkNGQzNzYzMzlmMjc2YzNkODRkZjRhNzYyYzIwMWY3ODZjZmI3MzVjZDBhYzA3YzhjOGUyMjA2NjBkYjImWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0In0.BqgRPDxeRSiILUvR6gT6iY2QEAeli-oK8Z_NFwcyFME) ### Are you sure this issue hasn't been raised already? • Yes ### Have you read the Code of Conduct? • Yes flyteorg/flyte
    • 1
    • 2
  • c

    cuddly-jelly-27016

    08/05/2025, 12:11 AM
    #5344 [Core feature] Rust Flytekit Remote Client Issue created by pingsutw ### Motivation: Why do you think this is important? The flytekit remote client relies on gRPC for communication with the control plane (FlyteAdmin). However, our experience has revealed numerous issues within Python gRPC, leading to test failures. Additionally, users frequently encounter challenges when working with specific versions of gRPC. In order to eliminate the gRPC Python dependency from flytekit, our goal is to develop a Rust crate to serve as a replacement for the flytekit remote client. To achieve this, we plan to utilize Pyo3 to generate a Python binding, allowing flytekit to seamlessly integrate and utilize the new implementation. ### Goal: What should the final outcome look like, ideally? flyteorg/flytekit#2377 is a POC of a rust remote client that allows you to get/create tasks without Python grpc Add a flag (enable_rust) to the FlyteRemote class. When this flag is true, FlyteRemote will use the rust implementation. remote_rs = FlyteRemote(Config.auto(), default_project=PROJECT, default_domain=DOMAIN, enable_rust=True) flyte_task = remote_rs.register_task( entity=my_test_task, serialization_settings=SerializationSettings( image_config=ImageConfig.auto(img_name="flyte-cr.io/image-name:tag") ), version=VERSION_ID, ) flyte_task = remote_rs.fetch_task(name=TASK_NAME, version=VERSION_ID) Follow up Issues • Add a test for the rust remote client • Add a GA workflow to run rust remote client without installing Python grpc • Add a GA workflow to make sure the output of the Rust remote and Python remote are the same • Pass credentials from python to rust • OAuth flow in the rust implementation ### Describe alternatives you've considered Use existing flytekit remote client ### Propose: Link/Inline OR Additional context • flyteorg/flytekit#2034 • flyteorg/flytekit#913 • grpc/grpc#36265 ### Are you sure this issue hasn't been raised already? • Yes ### Have you read the Code of Conduct? • Yes flyteorg/flyte
    • 1
    • 2
  • c

    cuddly-jelly-27016

    08/09/2025, 1:42 AM
    #3509 [Core feature] Improved error message with maptasks: using it within a task should error out Issue created by cosmicBboy ### Motivation: Why do you think this is important? Flytekit should raise a runtime error when map tasks are written in any of the following contexts: • When a user tries to write a
    map_task
    within a
    task
    function body @task def t1(): map_task(...)(...) • When a user tries to define a
    map_task
    at the module-level scope @map_task @task def t1(): ... or @task def t1(): ... my_map_task = map_task()(t1) ### Goal: What should the final outcome look like, ideally? The error should make it clear that `map_task`s can only be defined in workflow function bodies. ### Describe alternatives you've considered NA ### Propose: Link/Inline OR Additional context No response ### Are you sure this issue hasn't been raised already? • Yes ### Have you read the Code of Conduct? • Yes flyteorg/flyte
    • 1
    • 1