> ## Documentation Index
> Fetch the complete documentation index at: https://takeprofit.com/docs/llms.txt
> Use this file to discover all available pages before exploring further.

# Package indie.data

Package for using typed external and built-in data sources in indicators.

> [!NOTE]
>
> See [External data](https://takeprofit.com/docs/indie/External-data/External-data-overview.md) for CSV and live feeds, [TPO profiles](https://takeprofit.com/docs/indie/Profile-data/TPO-profiles.md) and [Volume Footprint profiles](https://takeprofit.com/docs/indie/Profile-data/Volume-Footprint-profiles.md) for built-in profile data.

***

## Types

### `TpoBlockInfo`

*type*

Metadata for one time block in a Time Price Opportunity profile.

**1. Fields**

[Navigate to field\_TpoBlockInfo\_block\_start\_offset\_seconds](#field_TpoBlockInfo_block_start_offset_seconds)

block\_start\_offset\_seconds

int

Block start offset, in seconds, from the profile trading day.

***

### `TpoPriceRow`

*type*

One price row of a Time Price Opportunity profile.

**1. Fields**

[Navigate to field\_TpoPriceRow\_price](#field_TpoPriceRow_price)

price

float

Lower price bound of the row.

[Navigate to field\_TpoPriceRow\_block\_indexes](#field_TpoPriceRow_block_indexes)

block\_indexes

list\[int]

Indexes of the TPO blocks that traded at this price row.

[Navigate to field\_TpoPriceRow\_volume\_sell](#field_TpoPriceRow_volume_sell)

volume\_sell

float

Sell volume at this price row.

[Navigate to field\_TpoPriceRow\_volume\_buy](#field_TpoPriceRow_volume_buy)

volume\_buy

float

Buy volume at this price row.

***

### `TpoProfile`

*type*

Time Price Opportunity profile returned by `request_series[TpoProfile]`.

**1. Fields**

[Navigate to field\_TpoProfile\_open\_trading\_day](#field_TpoProfile_open_trading_day)

open\_trading\_day\_unix\_seconds

int

Unix timestamp of the first trading day in the profile period.

[Navigate to field\_TpoProfile\_profile\_end](#field_TpoProfile_profile_end)

profile\_end\_unix\_seconds

int

Unix timestamp of the exclusive end of the profile.

[Navigate to field\_TpoProfile\_session\_type](#field_TpoProfile_session_type)

session\_type

indie.data.sources.session\_types

Session type of the first session included in the profile.

[Navigate to field\_TpoProfile\_row\_size](#field_TpoProfile_row_size)

row\_size

float

Price increment of one profile row.

[Navigate to field\_TpoProfile\_rows](#field_TpoProfile_rows)

rows

list\[indie.data.TpoPriceRow]

Price rows ordered from the lowest to the highest price.

[Navigate to field\_TpoProfile\_block\_infos](#field_TpoProfile_block_infos)

block\_infos

list\[indie.data.TpoBlockInfo]

Active time blocks referenced by the profile price rows.

[Navigate to field\_TpoProfile\_point\_of\_control](#field_TpoProfile_point_of_control)

point\_of\_control

float

Price of the Point of Control row.

[Navigate to field\_TpoProfile\_initial\_balance\_high](#field_TpoProfile_initial_balance_high)

initial\_balance\_high

float

Highest price reached during the initial balance.

[Navigate to field\_TpoProfile\_initial\_balance\_low](#field_TpoProfile_initial_balance_low)

initial\_balance\_low

float

Lowest price reached during the initial balance.

**2. Methods**

[Navigate to method\_TpoProfile\_to\_block\_profile](#method_TpoProfile_to_block_profile)

to\_block\_profile

(into) -> indie.drawings.BlockProfile

Builds a drawable `BlockProfile` from the profile: blocks become columns, rows become cells, the point of control and the initial balance become levels. Pass `into` to refill an existing `BlockProfile` instead of allocating a new one; the filled profile is returned either way.

**parameters info**

into

indie.Optional\[indie.drawings.BlockProfile]

default:
None

Existing `BlockProfile` object to refill instead of creating a new one. Only the values taken from the profile are replaced, so anything else the object carries, such as its palette, is kept.

> [!NOTE]
>
> The value area is not part of this type: `VAH`, `VAL` and the value-area ratio are not returned. It can be computed from `rows` — see [Value area](https://takeprofit.com/docs/indie/Profile-data/TPO-profiles.md#value-area).

> [!NOTE]
>
> See also: [`Tpo`](https://takeprofit.com/docs/indie/Library-reference/package-indie-data-sources#class_TpoSource)[`request_series()`](https://takeprofit.com/docs/indie/Library-reference/package-indie#func_request_series)

***

### `VolumeFootprintPriceRow`

*type*

One price row of a Volume Footprint profile.

**1. Fields**

[Navigate to field\_VolumeFootprintPriceRow\_price](#field_VolumeFootprintPriceRow_price)

price

float

Lower price bound of the row.

[Navigate to field\_VolumeFootprintPriceRow\_volume\_sell](#field_VolumeFootprintPriceRow_volume_sell)

volume\_sell

float

Sell volume at this price row.

[Navigate to field\_VolumeFootprintPriceRow\_volume\_buy](#field_VolumeFootprintPriceRow_volume_buy)

volume\_buy

float

Buy volume at this price row.

[Navigate to field\_VolumeFootprintPriceRow\_trades\_count\_sell](#field_VolumeFootprintPriceRow_trades_count_sell)

trades\_count\_sell

int

Number of sell trades at this price row.

[Navigate to field\_VolumeFootprintPriceRow\_trades\_count\_buy](#field_VolumeFootprintPriceRow_trades_count_buy)

trades\_count\_buy

int

Number of buy trades at this price row.

***

### `VolumeFootprintProfile`

*type*

Volume Footprint profile returned by `request_series[VolumeFootprintProfile]`.

**1. Fields**

[Navigate to field\_VolumeFootprintProfile\_profile\_start](#field_VolumeFootprintProfile_profile_start)

profile\_start\_unix\_seconds

int

Unix timestamp of the inclusive profile start. It also identifies the profile when a live update replaces its current value.

[Navigate to field\_VolumeFootprintProfile\_profile\_end](#field_VolumeFootprintProfile_profile_end)

profile\_end\_unix\_seconds

int

Unix timestamp of the exclusive profile end. Historical profiles become visible at this time; the current live profile can be updated before it ends.

[Navigate to field\_VolumeFootprintProfile\_session\_type](#field_VolumeFootprintProfile_session_type)

session\_type

indie.data.sources.session\_types

Session type of the first session included in the profile.

[Navigate to field\_VolumeFootprintProfile\_row\_size](#field_VolumeFootprintProfile_row_size)

row\_size

float

Price increment of one profile row.

[Navigate to field\_VolumeFootprintProfile\_rows](#field_VolumeFootprintProfile_rows)

rows

list\[indie.data.VolumeFootprintPriceRow]

Price rows ordered from the lowest to the highest price.

[Navigate to field\_VolumeFootprintProfile\_total\_volume\_sell](#field_VolumeFootprintProfile_total_volume_sell)

total\_volume\_sell

float

Total sell volume in the profile.

[Navigate to field\_VolumeFootprintProfile\_total\_volume\_buy](#field_VolumeFootprintProfile_total_volume_buy)

total\_volume\_buy

float

Total buy volume in the profile.

[Navigate to field\_VolumeFootprintProfile\_total\_trades\_count\_sell](#field_VolumeFootprintProfile_total_trades_count_sell)

total\_trades\_count\_sell

int

Total number of sell trades in the profile.

[Navigate to field\_VolumeFootprintProfile\_total\_trades\_count\_buy](#field_VolumeFootprintProfile_total_trades_count_buy)

total\_trades\_count\_buy

int

Total number of buy trades in the profile.

> [!NOTE]
>
> See also: [`VolumeFootprint`](https://takeprofit.com/docs/indie/Library-reference/package-indie-data-sources#class_VolumeFootprintSource)[`request_series()`](https://takeprofit.com/docs/indie/Library-reference/package-indie#func_request_series)

***


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.