Mind Lake SDK
  • Overview
  • Get started
    • Tutorial step-by-step
    • TypeScript Quick-Start
    • Python Quick-Start
  • Use Cases
    • 1-Single User with Structured Data
    • 2-Single User with UnStructured Data
    • 3-Multi Users with Permission Sharing
  • Glossary
  • TYPESCRIPT API REFERENCE
    • MindLake
    • MindLake.DataLake
    • MindLake.Cryptor
    • MindLake.Permission
    • Return Code
  • PYTHON API REFERENCE
    • MindLake
    • MindLake.DataLake
    • MindLake.Cryptor
    • MindLake.Permission
    • Return Code
Powered by GitBook
On this page
  • 1. query() Method
  • Parameters
  • Returns
  • Example
  • 2. createTable() Method
  • Parameters
  • Returns
  • Example
  • 3. MindLake.DataLake.Column
  • Fields
  • 4. listTablesByCocoon() Method
  • Parameters
  • Returns
  • Example
  • 5. createCocoon() Method
  • Parameters
  • Returns
  • Example
  • 6. listCocoon() Method
  • Returns
  • Example
  • 7. linkTableToCocoon() Method
  • Parameters
  • Returns
  • Example
  • 8. dropCocoon() Method
  • Parameters
  • Returns
  • Example
  • 9. dropTable() Method
  • Parameters
  • Returns
  • Example
  1. PYTHON API REFERENCE

MindLake.DataLake

PreviousMindLakeNextMindLake.Cryptor

Last updated 1 year ago

1. query() Method

Execute a SQL query or command.

When referencing a table in your SQL query statement, you can specify the table owner with their wallet address, like this: SELECT * FROM someWalletAddress.someTable. If you omit the wallet address in your query, it defaults to your own wallet address. For example, SELECT * FROM myTable is equivalent to SELECT * FROM myWalletAddress.myTable.

During testing, SQL queries will timeout after 5 minutes. Requests that take longer than that to process will not receive a response.

To specify an upper-case or mixed-case name of table or column, you need to double-quote the name; else it will be folded to lower case.

mindlake.datalake.query(executeSql: str) -> ResultType
# mindlake is an instance of MindLake

Parameters

  1. executeSql - str: the SQL statement used to query Mind Lake, such as SELECT, INSERT, UPDATE, and DELETE.

Returns

An object of . .

  • data - dict: The result of query execution.

    {
      'columnList': [],
      'data': [][]
    }
    • columnList - list<str>: the column names in the specific order in which they appear.

    • data - list<list<str>>: The query data result is presented as a 2D array, with rows and columns.

Example

result = mind.datalake.query("SELECT token FROM test_table_enc")
assert result, result.message
print(result.data['columnList'][0])
for row in result.data['data']:
    result = mind.cryptor.decrypt(row[0])
    assert result, result.message
    print(result.data)

2. createTable() Method

Create a table in the user's own account in Mind Lake.

mindlake.datalake.createTable(tableName: str, columns: list, primaryKey: list = None) -> ResultType
# mindlake is an instance of MindLake

Parameters

  1. tableName - str: the name of the table to be created.

  2. primaryKey (Optional) - list<str>: defines the table's primary key by specifying one or more columns. Each column in the primary key should be identified by its column name. If the primaryKey parameter is omitted, no primary key will be defined for the table.

Returns

Example

result = mindlake.datalake.createTable('test_table_enc',
        [
            mindlake.datalake.Column('id', mindlake.DataType.int4, False),
            mindlake.datalake.Column('token', mindlake.DataType.text, True)
        ])
assert result, result.message

3. MindLake.DataLake.Column

Column type is used to represent a single column in a table. Each Column instance encapsulates properties about the column, including its name, data type, and encryption status. By creating a Column object, you can define the properties of a table column and use it to construct a table schema.

class Column(dict):
    def __init__(self, columnName: str, dataType: DataType, encrypt: bool):
        self.columnName = columnName
        self.type = dataType
        self.encrypt = encrypt
    
    def toDict(self):
        return {
            'columnName': self.columnName,
            'type': self.type.value,
            'encrypt': self.encrypt
        }

Fields

  • columnName - str: The name of the column.

  • encrypt - bool: A flag that indicates whether the column should be encrypted or not.

4. listTablesByCocoon() Method

Retrieve a list of names for the tables that belong to the user invoking the method, or in the specified cocoon.

mindlake.datalake.listTablesByCocoon(cocoonName: str) -> ResultType
# mindlake is an instance of MindLake

Parameters

  1. cocoonName - str: specifies the name of the cocoon for which a list of tables should be returned.

Returns

  • data - list<str>: a list of names for the tables that belong to the user invoking the method, or in the specified cocoon.

Example

result = mindlake.datalake.listTablesByCocoon(cocoonName)
assert result, result.message
tableList = result.data

5. createCocoon() Method

Create a Cocoon in Mind Lake. Tables can be categorized into cocoons for classification purposes.

mindlake.datalake.createCocoon(cocoonName: str) -> ResultType
# mindlake is an instance of MindLake

Parameters

  1. cocoonName - str: the name of the cocoon to be created.

Returns

Example

result = mindlake.datalake.createCocoon(cocoonName)
assert result, result.message

6. listCocoon() Method

Retrieve a list of names for the cocoons that belong to the user invoking the method.

mindlake.datalake.listCocoon() -> ResultType
# mindlake is an instance of MindLake

Returns

  • data - list<str>: a list of names for the cocoons that belong to the user invoking the method.

Example

result = mindlake.datalake.listCocoon()
assert result, result.message
cocoonList = result.data

7. linkTableToCocoon() Method

Assign the specified cocoon tag to the table.

mindlake.datalake.linkTableToCocoon(tableName: str, cocoonName: str) -> ResultType
# mindlake is an instance of MindLake

Parameters

  1. tableName - str: the name of the table to be tagged with.

  2. cocoonName - str: specifies the name of the cocoon for which the table should be tagged with.

Returns

Example

result = mindlake.datalake.linkTableToCocoon(tableName, cocoonName)
assert result, result.message

8. dropCocoon() Method

Delete a Cocoon in Mind Lake.

mindlake.datalake.dropCocoon(cocoonName: str) -> ResultType
# mindlake is an instance of MindLake

Parameters

  1. cocoonName - str: the name of the cocoon to be dropped.

Returns

Example

result = mindlake.datalake.dropCocoon(cocoonName)
assert result, result.message

9. dropTable() Method

Drop a table in the user's own account in Mind Lake.

mindlake.datalake.dropTable(tableName: str, columns: list, primaryKey: list = None) -> ResultType

Parameters

  1. tableName - str: the name of the table to be dropped.

Returns

Example

result = mindlake.datalake.dropTable(cocoonName)
assert result, result.message

columns - list<>: defines the columns in the table. Each column should be defined as a object.

An object of . .

dataType - : The data type of the column, which should be define as

An object of . .

An object of . .

An object of . .

An object of . .

An object of . .

An object of . .

Column
MindLake.DataLake.Column
For more information
For more information
MindLake.DataType
MindLake.DataType
For more information
For more information
For more information
For more information
For more information
For more information