ULR = Universal Local Runner

Largely meaning it's a Portable Local Runner, using Bean Portability, as
that allows it to be used for any SDK.

The python one replaced a Java attempt at one which wasn't complete enough,
and wasn't as good as the existing (and current) Java Direct Runner.

Prism (a Go ULR ;) ) is largely a response to Go direct runner being not
great to begin with, while also being easier to distribute to other SDKs,
by virtue of being a single static binary (Go's specialty).

The python runner likely won't go away any time soon, but by making all the
SDKs have the same single runner by default, we provide a more consistent
experience across SDKs and their documentation about capabilities, which
has been very inconsistent across local experiences and testing.


On Tue, Jun 17, 2025, 6:55 PM Joey Tran <joey.t...@schrodinger.com> wrote:

>
> On Tue, Jun 17, 2025 at 7:52 PM Robert Bradshaw <rober...@waymo.com>
> wrote:
>
>> On Tue, Jun 17, 2025 at 3:57 PM Robert Burke <rob...@frantil.com> wrote:
>> >
>> > +1
>> >
>> > You should be able to use the Prism runner to implement this locally.
>> >
>> > Prism passes the full suite of java MultimapState tests, and will
>> ensure the implementation works on runners like Google Cloud Dataflow.
>> >
>> > I do not recommend spending time implementing multimap state in the
>> python direct runner if it's not already supported.
>>
>> Of course it's already supported in the local Python ULR :)
>>
>>
>> https://github.com/apache/beam/blob/master/sdks/python/apache_beam/runners/portability/fn_api_runner/worker_handlers.py#L974
>>
>> This will, of course, be a much welcome addition to the Python SDK,
>> and +1 to making sure it works on Prism as well.
>>
>
> What's ULR stand for?
>
> Does this mean that when Prism runner becomes fully supported, the python
> worker infrastructure like the worker handlers and won't have any further
> use :'( ? Or are they used for more than just the python DirectRunner
>
>
>
>
>>
>> > On Tue, Jun 17, 2025, 10:58 AM Shunping Huang via dev <
>> dev@beam.apache.org> wrote:
>> >>
>> >> +1
>> >> I think it will be great to have that in Python SDK.
>> >>
>> >> On Sun, Jun 15, 2025 at 5:22 PM Rakesh Kumar <rakeshcu...@gmail.com>
>> wrote:
>> >>>
>> >>> Hey Everyone,
>> >>>
>> >>> While updating the stateful processing document [1] I noticed that
>> Java SDK has MultimapState [2] but it is missing from Python SDK. This was
>> introduced as part of this PR: https://github.com/apache/beam/pull/23491
>> >>> If no one has an objection, then I would like to implement this as
>> part of the Python SDK.
>> >>>
>> >>> Thank you,
>> >>> Rakesh
>> >>>
>> >>>
>> >>> 1. https://github.com/apache/beam/pull/35209
>> >>> 2.
>> https://docs.google.com/document/d/1zm16QCxWEWNy4qW1KKoA3DmQBOLrTSPimXiqQkTxokc/edit?tab=t.0#heading=h.f4ova073h88e
>> >>>
>>
>

Reply via email to