Home / Function/ test_runnable_gen_transform() — langchain Function Reference

test_runnable_gen_transform() — langchain Function Reference

Architecture documentation for the test_runnable_gen_transform() function in test_runnable.py from the langchain codebase.

Entity Profile

Dependency Diagram

graph TD
  8ad1d30d_b2ba_e465_62bd_884e9ad671db["test_runnable_gen_transform()"]
  26df6ad8_0189_51d0_c3c1_6c3248893ff5["test_runnable.py"]
  8ad1d30d_b2ba_e465_62bd_884e9ad671db -->|defined in| 26df6ad8_0189_51d0_c3c1_6c3248893ff5
  style 8ad1d30d_b2ba_e465_62bd_884e9ad671db fill:#6366f1,stroke:#818cf8,color:#fff

Relationship Graph

Source Code

libs/core/tests/unit_tests/runnables/test_runnable.py lines 5304–5344

async def test_runnable_gen_transform() -> None:
    """Test that a generator can be used as a runnable."""

    def gen_indexes(length_iter: Iterator[int]) -> Iterator[int]:
        yield from range(next(length_iter))

    async def agen_indexes(length_iter: AsyncIterator[int]) -> AsyncIterator[int]:
        async for length in length_iter:
            for i in range(length):
                yield i

    def plus_one(ints: Iterator[int]) -> Iterator[int]:
        for i in ints:
            yield i + 1

    async def aplus_one(ints: AsyncIterator[int]) -> AsyncIterator[int]:
        async for i in ints:
            yield i + 1

    chain: Runnable = RunnableGenerator(gen_indexes, agen_indexes) | plus_one
    achain: Runnable = RunnableGenerator(gen_indexes, agen_indexes) | aplus_one

    assert chain.get_input_jsonschema() == {
        "title": "gen_indexes_input",
        "type": "integer",
    }
    assert chain.get_output_jsonschema() == {
        "title": "plus_one_output",
        "type": "integer",
    }
    assert achain.get_input_jsonschema() == {
        "title": "gen_indexes_input",
        "type": "integer",
    }
    assert achain.get_output_jsonschema() == {
        "title": "aplus_one_output",
        "type": "integer",
    }

    assert list(chain.stream(3)) == [1, 2, 3]
    assert [p async for p in achain.astream(4)] == [1, 2, 3, 4]

Domain

Subdomains

Frequently Asked Questions

What does test_runnable_gen_transform() do?
test_runnable_gen_transform() is a function in the langchain codebase, defined in libs/core/tests/unit_tests/runnables/test_runnable.py.
Where is test_runnable_gen_transform() defined?
test_runnable_gen_transform() is defined in libs/core/tests/unit_tests/runnables/test_runnable.py at line 5304.

Analyze Your Own Codebase

Get architecture documentation, dependency graphs, and domain analysis for your codebase in minutes.

Try Supermodel Free