code: def test_kiva_datashape(self):
      # A slightly more complicated datashape which should parse
      ds = parse(
          """5 * var * {
                id: int64,
                name: string,
                description: {
                  languages: var * string[2],
                  texts: json,
                },
                status: string,
                funded_amount: float64,
                basket_amount: json,
                paid_amount: json,
                image: {
                  id: int64,
                  template_id: int64,
                },
                video: json,
                activity: string,
                sector: string,
                use: string,
                delinquent: bool,
                location: {
                  country_code: string[2],
                  country: string,
                  town: json,
                  geo: {
                    level: string,
                    pairs: string,
                    type: string,
                  },
                },
                partner_id: int64,
                posted_date: json,
                planned_expiration_date: json,
                loan_amount: float64,
                currency_exchange_loss_amount: json,
                borrowers: var * {
                  first_name: string,
                  last_name: string,
                  gender: string[1],
                  pictured: bool,
                },
                terms: {
                  disbursal_date: json,
                  disbursal_currency: string[3,'A'],
                  disbursal_amount: float64,
                  loan_amount: float64,
                  local_payments: var * {
                    due_date: json,
                    amount: float64,
                  },
                  scheduled_payments: var * {
                    due_date: json,
                    amount: float64,
                  },
                  loss_liability: {
                    nonpayment: string,
                    currency_exchange: string,
                    currency_exchange_coverage_rate: json,
                  },
                },
                payments: var * {
                  amount: float64,
                  local_amount: float64,
                  processed_date: json,
                  settlement_date: json,
                  rounded_local_amount: float64,
                  currency_exchange_loss_amount: float64,
                  payment_id: int64,
                  comment: json,
                },
                funded_date: json,
                paid_date: json,
                journal_totals: {
                  entries: int64,
                  bulkEntries: int64,
                },
              }
          """,
          self.sym,
      )
      self.assertEqual(type(ds[-1]), ct.Record)
      self.assertEqual(len(ds[-1].names), 25)
  
imports: from __future__ import absolute_import, division, print_function
  import unittest
  import pytest
  from datashader import datashape
  from datashader.datashape.util.testing import assert_dshape_equal
  from datashader.datashape.parser import parse
  from datashader.datashape import coretypes
  from datashader.datashape import DataShapeSyntaxError
label_desc: Use image node_id 4 for calling the TestDataShapeParseStruct obj's underlying member method code with example usage: obj.test_kiva_datashape() without return types