Skip to content

Icici

pipelines.extraction.llama.banks.icici

Summary

Icici bank-specific port implementations (llama objects path).


The llama objects are already normalized per-transaction (date / amount / balance / description / direction), so there is no bank-specific column logic. IciciLlamaObjectsReaderPort mirrors the icici OG bank CONFIG {"limit_first": True} (keeps only the primary account bucket), matching the 223-txn llama run stored in the DB. IciciLlamaExtractionPipeline pins the reader; the shared objects policy (stated balances trusted) is identical across banks.

Classes

IciciLlamaExtractionPipeline

Bases: ImplLlamaExtractionPipeline

Icici llama graph root — pins the Icici objects reader.

Attributes:

Name Type Description
objects_reader IciciLlamaObjectsReaderPort

Icici objects reader.

Functions
run
run(source) -> List[Any]

Run the llama objects extraction chain.

Parameters:

Name Type Description Default
source

Raw extraction source.

required

Returns:

Type Description
List[Any]

List[Any]: Raw expense records.

IciciLlamaObjectsReaderPort

Bases: ImplLlamaObjectsReaderPort

Icici llama objects reader — primary bucket only (OG icici CONFIG).

Attributes:

Name Type Description
limit_first bool

Whether to keep only the primary bucket.

Functions
filter_objects
1
2
3
filter_objects(
    objects: List[Any], *, limit_first: bool = False
) -> List[dict]

Filter objects to rows between balance-forward marker rows.

Parameters:

Name Type Description Default
objects List[Any]

Structured statement objects.

required
limit_first bool

Keep only the first bucket. Defaults to False.

False

Returns:

Type Description
List[dict]

List[dict]: Records between (and after) marker rows.

read
read(objects) -> List[dict]

Read structured objects, applying the row-level bucket filter.

Parameters:

Name Type Description Default
objects

List of structured statement objects.

required

Returns:

Type Description
List[dict]

List[dict]: Filtered records in order.