⚠️ API Version NoticeThis documentation applies to the legacy SDK version used for connecting to the Minds Demo environment at https://demo.mdb.ai.
For users of the current Minds Cloud environments, please refer to the main documentation for compatibility.
Legacy Version: v1.x (For Minds Demo environment)
Current Version: v2.x+ (Current Documentation)
To install the SDK, use pip:
pip install minds-sdk==1.3.3- Initialize the Client
To get started, you'll need to initialize the Client with your API key. If you're using a different server, you can also specify a custom base URL.
from minds.client import Client
# Default connection to Minds Cloud that uses 'https://mdb.ai' as the base URL
client = Client("YOUR_API_KEY")
# If you have self-hosted Minds Cloud instance, use your custom base URL
base_url = 'https://<custom_cloud>.mdb.ai/'
client = Client("YOUR_API_KEY", base_url)- Creating a Data Source
You can connect to various databases, such as PostgreSQL, by configuring your data source. Use the DatabaseConfig to define the connection details for your data source.
from minds.datasources import DatabaseConfig
postgres_config = DatabaseConfig(
name='my_datasource',
description='<DESCRIPTION-OF-YOUR-DATA>',
engine='postgres',
connection_data={
'user': 'demo_user',
'password': 'demo_password',
'host': 'samples.mindsdb.com',
'port': 5432,
'database': 'demo',
'schema': 'demo_data'
},
tables=['<TABLE-1>', '<TABLE-2>']
)- Creating a Mind
You can create a mind and associate it with a data source.
# Create a mind with a data source
mind = client.minds.create(name='mind_name', datasources=[postgres_config])
# Alternatively, create a data source separately and add it to a mind later
datasource = client.datasources.create(postgres_config)
mind2 = client.minds.create(name='mind_name', datasources=[datasource])You can also add a data source to an existing mind:
# Create a mind without a data source
mind3 = client.minds.create(name='mind_name')
# Add a data source to the mind
mind3.add_datasource(postgres_config) # Using the config
mind3.add_datasource(datasource) # Using the data source objectCreate mind with tables restriction for datasource:
from minds.datasources.datasources import DatabaseTables
datasource = DatabaseTables(
name='my_db',
tables=['table1', 'table1'],
)
mind4 = client.minds.create(name='mind_name', datasources=[datasource])You can create a mind or replace an existing one with the same name.
mind = client.minds.create(name='mind_name', replace=True, datasources=[postgres_config])To update a mind, specify the new name and data sources. The provided data sources will replace the existing ones.
mind.update(
name='mind_name',
datasources=[postgres_config]
)You can list all the minds you’ve created.
print(client.minds.list())You can fetch details of a mind by its name.
mind = client.minds.get('mind_name')To delete a mind, use the following command:
client.minds.drop('mind_name')To view all data sources:
print(client.datasources.list())You can fetch details of a specific data source by its name.
datasource = client.datasources.get('my_datasource')To delete a data source, use the following command:
client.datasources.drop('my_datasource')Note: The SDK currently does not support automatically removing a data source if it is no longer connected to any mind.