Skip to content

Data Models Reference

tickertape.models

Pydantic data models for TickerTape client.

MFMeta

Bases: BaseModel

Detailed metadata for a mutual fund from securitySummary.meta.

Source code in src/tickertape/models.py
class MFMeta(BaseModel):
    """Detailed metadata for a mutual fund from securitySummary.meta."""

    model_config = ConfigDict(extra="ignore")

    name: Optional[str] = None
    isin: Optional[str] = None
    amc: Optional[str] = None
    plan: Optional[str] = None
    option: Optional[str] = None
    type: Optional[str] = None
    sector: Optional[str] = None
    subsector: Optional[str] = None
    benchmark_index: Optional[str] = Field(default=None, alias="benchmarkIndex")
    fund_type: Optional[str] = Field(default=None, alias="fundType")
    full_name: Optional[str] = Field(default=None, alias="fullName")
    risk_classification: Optional[str] = Field(default=None, alias="riskClassification")
    cams_code: Optional[str] = Field(default=None, alias="camsCode")
    rta_scheme_code: Optional[str] = Field(default=None, alias="rtaSchemeCode")
    expense_ratio: Optional[float] = Field(default=None, alias="expenseRatio")
    aum: Optional[float] = None

MFScorecardItem

Bases: BaseModel

Scorecard evaluation for a mutual fund metric (e.g., Performance, Risk, Cost).

Source code in src/tickertape/models.py
class MFScorecardItem(BaseModel):
    """Scorecard evaluation for a mutual fund metric (e.g., Performance, Risk, Cost)."""

    model_config = ConfigDict(extra="ignore")

    name: str
    tag: Optional[str] = None
    colour: Optional[str] = None
    description: Optional[str] = None

MFSecurityInfo

Bases: BaseModel

Security level information for a mutual fund.

Source code in src/tickertape/models.py
class MFSecurityInfo(BaseModel):
    """Security level information for a mutual fund."""

    model_config = ConfigDict(extra="ignore")

    mf_id: str = Field(alias="mfId")
    name: Optional[str] = None
    type: Optional[str] = None
    slug: Optional[str] = None
    amc: Optional[str] = None
    amc_code: Optional[str] = Field(default=None, alias="amcCode")
    nav_close: Optional[float] = Field(default=None, alias="navClose")
    nav_ch_1d: Optional[float] = Field(default=None, alias="navCh1d")
    option: Optional[str] = None
    sector: Optional[str] = None
    subsector: Optional[str] = None

MutualFundDetail

Bases: BaseModel

Unified mutual fund details extracted from TickerTape page.

Source code in src/tickertape/models.py
class MutualFundDetail(BaseModel):
    """Unified mutual fund details extracted from TickerTape page."""

    model_config = ConfigDict(extra="ignore")

    mf_id: str
    name: str
    isin: Optional[str] = None
    slug: Optional[str] = None
    nav: Optional[float] = None
    security_info: Optional[MFSecurityInfo] = None
    meta: Optional[MFMeta] = None
    scorecard: list[MFScorecardItem] = []
    raw_props: Optional[dict[str, Any]] = None

SitemapCacheData

Bases: BaseModel

Represents persisted cache data for a sitemap category.

Source code in src/tickertape/models.py
class SitemapCacheData(BaseModel):
    """Represents persisted cache data for a sitemap category."""

    model_config = ConfigDict(extra="ignore")

    category: str
    fetched_at: str
    count: int
    items: list[SitemapURL]

SitemapReference

Bases: BaseModel

Represents a reference inside a sitemap index XML.

Source code in src/tickertape/models.py
class SitemapReference(BaseModel):
    """Represents a <sitemap> reference inside a sitemap index XML."""

    model_config = ConfigDict(extra="ignore")

    url: str
    last_modified: Optional[str] = None

SitemapURL

Bases: BaseModel

Represents a single entry parsed from a sitemap XML.

Source code in src/tickertape/models.py
class SitemapURL(BaseModel):
    """Represents a single <url> entry parsed from a sitemap XML."""

    model_config = ConfigDict(extra="ignore")

    record_id: str
    url: str
    last_modified: Optional[str] = None
    change_frequency: Optional[str] = None
    priority: Optional[float] = None