Skip to content

Axis

pipelines.extraction.csv.banks.axis

Summary

Axis bank-specific port implementations (csv table path).


Faithful port of domain/extraction/banks/axis/csv.py:

  • uses the shared TableParserMixin (icici-style header/alias logic),
  • overrides column_aliases with the Axis DR/CR inversion — credits (salary, refunds, interest) arrive under DR with the balance rising and spends under CR with it falling (verified by balance-chain replay).

AxisCsvExtractionPipeline pins the reader; ordering/balance policy stays in the shared tabular txn_dicts stage.

Classes

AxisCsvExtractionPipeline

Bases: ImplCsvExtractionPipeline

Axis csv graph root — pins the Axis reader.

Attributes:

Name Type Description
table_reader AxisCsvTableReaderPort

Axis csv reader stage.

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

Run the direct-table extraction chain.

Parameters:

Name Type Description Default
source

Raw extraction source.

required

Returns:

Type Description
List[Any]

List[Any]: Raw expense records.

AxisCsvTableReaderPort

Bases: ImplCsvTableReaderPort

Axis csv reader — DR/CR inverted column aliases.

Attributes:

Name Type Description
column_aliases Dict[str, List[str]]

Axis DR/CR-inverted aliases.

required_columns tuple

Required columns for header matching.

Functions
read
read(content) -> List[dict]

Read typed records from csv content.

Parameters:

Name Type Description Default
content

Materialized content (Content, bytes, or dict).

required

Returns:

Type Description
List[dict]

List[dict]: Typed table records.