Metadata-Version: 2.4
Name: MindsDB
Version: 26.1.0
Summary: MindsDB's AI SQL Server enables developers to build AI tools that need access to real-time data to perform their tasks
Home-page: https://github.com/mindsdb/mindsdb
Download-URL: https://pypi.org/project/mindsdb/
Author: MindsDB Inc
Author-email: jorge@mindsdb.com
License: Elastic License 2.0
Classifier: Programming Language :: Python :: 3
Classifier: Operating System :: OS Independent
Requires-Python: >=3.10,<3.14
Description-Content-Type: text/markdown
License-File: LICENSE
Requires-Dist: packaging
Requires-Dist: flask==3.1.3
Requires-Dist: werkzeug==3.1.6
Requires-Dist: flask-restx<2.0.0,>=1.3.0
Requires-Dist: pandas==2.3.1
Requires-Dist: python-multipart==0.0.26
Requires-Dist: cryptography>=46.0.5
Requires-Dist: psycopg[binary]
Requires-Dist: psutil~=7.0
Requires-Dist: sqlalchemy<3.0.0,>=2.0.0
Requires-Dist: psycopg2-binary
Requires-Dist: alembic>=1.3.3
Requires-Dist: redis==6.4.0
Requires-Dist: walrus==0.9.3
Requires-Dist: flask-compress>=1.0.0
Requires-Dist: appdirs>=1.0.0
Requires-Dist: mindsdb-sql-parser~=0.13.8
Requires-Dist: pydantic==2.12.5
Requires-Dist: duckdb==1.3.0; sys_platform == "win32"
Requires-Dist: duckdb~=1.3.2; sys_platform != "win32"
Requires-Dist: requests==2.33.0
Requires-Dist: dateparser==1.2.0
Requires-Dist: dill==0.3.6
Requires-Dist: numpy~=2.0
Requires-Dist: pytz
Requires-Dist: botocore
Requires-Dist: boto3>=1.34.131
Requires-Dist: python-dateutil
Requires-Dist: lark
Requires-Dist: prometheus-client==0.20.0
Requires-Dist: sentry-sdk[flask]==2.14.0
Requires-Dist: pyaml==23.12.0
Requires-Dist: uvicorn<1.0.0,>=0.30.0
Requires-Dist: a2wsgi~=1.10.10
Requires-Dist: starlette>=0.49.1
Requires-Dist: sse-starlette==2.3.3
Requires-Dist: pydantic_core>=2.33.2
Requires-Dist: pyjwt==2.12.0
Requires-Dist: pymupdf==1.27.2
Requires-Dist: filetype
Requires-Dist: charset-normalizer
Requires-Dist: openpyxl
Requires-Dist: xlrd>=2.0.1
Requires-Dist: aipdf==0.0.7.2
Requires-Dist: pyarrow<=19.0.0
Requires-Dist: orjson==3.11.6
Requires-Dist: mind-castle==0.5.0
Requires-Dist: pydantic-ai==1.77.0
Requires-Dist: bs4
Requires-Dist: urllib3>=2.6.3
Requires-Dist: aiobotocore==3.4.0
Requires-Dist: google-genai==1.70.0
Provides-Extra: test
Requires-Dist: scipy==1.15.3; extra == "test"
Requires-Dist: docker>=5.0.3; extra == "test"
Requires-Dist: openai<3.0.0,>=2.9.0; extra == "test"
Requires-Dist: pytest<9.0.0,>=8.3.5; extra == "test"
Requires-Dist: pytest-subtests; extra == "test"
Requires-Dist: pytest-xdist; extra == "test"
Requires-Dist: pytest-cov; extra == "test"
Requires-Dist: pytest-json-report==1.5.0; extra == "test"
Requires-Dist: pytest-metadata==3.1.1; extra == "test"
Requires-Dist: python-dotenv==1.1.1; extra == "test"
Requires-Dist: responses; extra == "test"
Requires-Dist: coveralls; extra == "test"
Requires-Dist: locust; extra == "test"
Requires-Dist: ollama>=0.1.7; extra == "test"
Requires-Dist: anthropic>=0.21.3; extra == "test"
Requires-Dist: langchain-google-genai>=2.0.0; extra == "test"
Requires-Dist: mindsdb-sdk; extra == "test"
Requires-Dist: filelock==3.20.3; extra == "test"
Requires-Dist: mysql-connector-python==9.1.0; extra == "test"
Requires-Dist: walrus==0.9.3; extra == "test"
Requires-Dist: pymongo==4.8.0; extra == "test"
Requires-Dist: pytest-json-report==1.5.0; extra == "test"
Requires-Dist: appdirs>=1.0.0; extra == "test"
Requires-Dist: pgvector==0.3.6; extra == "test"
Provides-Extra: opentelemetry
Requires-Dist: opentelemetry-api==1.39.1; extra == "opentelemetry"
Requires-Dist: opentelemetry-sdk==1.39.1; extra == "opentelemetry"
Requires-Dist: opentelemetry-exporter-otlp==1.39.1; extra == "opentelemetry"
Requires-Dist: opentelemetry-instrumentation-requests==0.60b1; extra == "opentelemetry"
Requires-Dist: opentelemetry-instrumentation-flask==0.60b1; extra == "opentelemetry"
Requires-Dist: opentelemetry-distro==0.60b1; extra == "opentelemetry"
Provides-Extra: langfuse
Requires-Dist: langfuse==3.2.5; extra == "langfuse"
Provides-Extra: agents
Requires-Dist: openai<3.0.0,>=2.11.0; extra == "agents"
Requires-Dist: transformers==5.5.0; extra == "agents"
Requires-Dist: mindsdb-evaluator==0.0.21; extra == "agents"
Requires-Dist: mcp~=1.26.0; extra == "agents"
Requires-Dist: httpx==0.28.1; extra == "agents"
Requires-Dist: jwcrypto==1.5.6; extra == "agents"
Requires-Dist: typing-extensions<5,>=4.15.0; extra == "agents"
Provides-Extra: kb
Requires-Dist: lxml==5.3.0; extra == "kb"
Requires-Dist: faiss-cpu==1.13.2; extra == "kb"
Provides-Extra: dev
Requires-Dist: pre-commit>=2.16.0; extra == "dev"
Requires-Dist: watchfiles==0.19.0; extra == "dev"
Requires-Dist: setuptools==78.1.1; extra == "dev"
Requires-Dist: wheel; extra == "dev"
Requires-Dist: deptry==0.20.0; extra == "dev"
Requires-Dist: twine; extra == "dev"
Requires-Dist: importlib_metadata==7.2.1; extra == "dev"
Requires-Dist: ruff==0.11.11; extra == "dev"
Provides-Extra: all-extras
Requires-Dist: pytest-metadata==3.1.1; extra == "all-extras"
Requires-Dist: opentelemetry-instrumentation-flask==0.60b1; extra == "all-extras"
Requires-Dist: typing-extensions<5,>=4.15.0; extra == "all-extras"
Requires-Dist: langfuse==3.2.5; extra == "all-extras"
Requires-Dist: transformers==5.5.0; extra == "all-extras"
Requires-Dist: opentelemetry-sdk==1.39.1; extra == "all-extras"
Requires-Dist: ruff==0.11.11; extra == "all-extras"
Requires-Dist: lxml==5.3.0; extra == "all-extras"
Requires-Dist: opentelemetry-instrumentation-requests==0.60b1; extra == "all-extras"
Requires-Dist: responses; extra == "all-extras"
Requires-Dist: walrus==0.9.3; extra == "all-extras"
Requires-Dist: opentelemetry-distro==0.60b1; extra == "all-extras"
Requires-Dist: openai<3.0.0,>=2.9.0; extra == "all-extras"
Requires-Dist: locust; extra == "all-extras"
Requires-Dist: wheel; extra == "all-extras"
Requires-Dist: jwcrypto==1.5.6; extra == "all-extras"
Requires-Dist: twine; extra == "all-extras"
Requires-Dist: pytest-cov; extra == "all-extras"
Requires-Dist: pytest-xdist; extra == "all-extras"
Requires-Dist: openai<3.0.0,>=2.11.0; extra == "all-extras"
Requires-Dist: pymongo==4.8.0; extra == "all-extras"
Requires-Dist: deptry==0.20.0; extra == "all-extras"
Requires-Dist: mcp~=1.26.0; extra == "all-extras"
Requires-Dist: faiss-cpu==1.13.2; extra == "all-extras"
Requires-Dist: pytest-json-report==1.5.0; extra == "all-extras"
Requires-Dist: opentelemetry-api==1.39.1; extra == "all-extras"
Requires-Dist: ollama>=0.1.7; extra == "all-extras"
Requires-Dist: watchfiles==0.19.0; extra == "all-extras"
Requires-Dist: scipy==1.15.3; extra == "all-extras"
Requires-Dist: importlib_metadata==7.2.1; extra == "all-extras"
Requires-Dist: appdirs>=1.0.0; extra == "all-extras"
Requires-Dist: pre-commit>=2.16.0; extra == "all-extras"
Requires-Dist: pytest<9.0.0,>=8.3.5; extra == "all-extras"
Requires-Dist: setuptools==78.1.1; extra == "all-extras"
Requires-Dist: coveralls; extra == "all-extras"
Requires-Dist: langchain-google-genai>=2.0.0; extra == "all-extras"
Requires-Dist: pgvector==0.3.6; extra == "all-extras"
Requires-Dist: filelock==3.20.3; extra == "all-extras"
Requires-Dist: docker>=5.0.3; extra == "all-extras"
Requires-Dist: python-dotenv==1.1.1; extra == "all-extras"
Requires-Dist: mysql-connector-python==9.1.0; extra == "all-extras"
Requires-Dist: opentelemetry-exporter-otlp==1.39.1; extra == "all-extras"
Requires-Dist: anthropic>=0.21.3; extra == "all-extras"
Requires-Dist: pytest-subtests; extra == "all-extras"
Requires-Dist: httpx==0.28.1; extra == "all-extras"
Requires-Dist: mindsdb-sdk; extra == "all-extras"
Requires-Dist: mindsdb-evaluator==0.0.21; extra == "all-extras"
Provides-Extra: all
Requires-Dist: pytest-metadata==3.1.1; extra == "all"
Requires-Dist: opentelemetry-instrumentation-flask==0.60b1; extra == "all"
Requires-Dist: typing-extensions<5,>=4.15.0; extra == "all"
Requires-Dist: langfuse==3.2.5; extra == "all"
Requires-Dist: transformers==5.5.0; extra == "all"
Requires-Dist: opentelemetry-sdk==1.39.1; extra == "all"
Requires-Dist: ruff==0.11.11; extra == "all"
Requires-Dist: lxml==5.3.0; extra == "all"
Requires-Dist: opentelemetry-instrumentation-requests==0.60b1; extra == "all"
Requires-Dist: responses; extra == "all"
Requires-Dist: walrus==0.9.3; extra == "all"
Requires-Dist: opentelemetry-distro==0.60b1; extra == "all"
Requires-Dist: openai<3.0.0,>=2.9.0; extra == "all"
Requires-Dist: locust; extra == "all"
Requires-Dist: wheel; extra == "all"
Requires-Dist: jwcrypto==1.5.6; extra == "all"
Requires-Dist: twine; extra == "all"
Requires-Dist: pytest-cov; extra == "all"
Requires-Dist: pytest-xdist; extra == "all"
Requires-Dist: openai<3.0.0,>=2.11.0; extra == "all"
Requires-Dist: pymongo==4.8.0; extra == "all"
Requires-Dist: deptry==0.20.0; extra == "all"
Requires-Dist: mcp~=1.26.0; extra == "all"
Requires-Dist: faiss-cpu==1.13.2; extra == "all"
Requires-Dist: pytest-json-report==1.5.0; extra == "all"
Requires-Dist: opentelemetry-api==1.39.1; extra == "all"
Requires-Dist: ollama>=0.1.7; extra == "all"
Requires-Dist: watchfiles==0.19.0; extra == "all"
Requires-Dist: scipy==1.15.3; extra == "all"
Requires-Dist: importlib_metadata==7.2.1; extra == "all"
Requires-Dist: appdirs>=1.0.0; extra == "all"
Requires-Dist: pre-commit>=2.16.0; extra == "all"
Requires-Dist: pytest<9.0.0,>=8.3.5; extra == "all"
Requires-Dist: setuptools==78.1.1; extra == "all"
Requires-Dist: coveralls; extra == "all"
Requires-Dist: langchain-google-genai>=2.0.0; extra == "all"
Requires-Dist: pgvector==0.3.6; extra == "all"
Requires-Dist: filelock==3.20.3; extra == "all"
Requires-Dist: docker>=5.0.3; extra == "all"
Requires-Dist: python-dotenv==1.1.1; extra == "all"
Requires-Dist: mysql-connector-python==9.1.0; extra == "all"
Requires-Dist: opentelemetry-exporter-otlp==1.39.1; extra == "all"
Requires-Dist: anthropic>=0.21.3; extra == "all"
Requires-Dist: pytest-subtests; extra == "all"
Requires-Dist: httpx==0.28.1; extra == "all"
Requires-Dist: mindsdb-sdk; extra == "all"
Requires-Dist: mindsdb-evaluator==0.0.21; extra == "all"
Provides-Extra: pgvector
Requires-Dist: pgvector==0.3.6; extra == "pgvector"
Provides-Extra: huggingface
Requires-Dist: datasets==2.16.1; extra == "huggingface"
Requires-Dist: transformers==5.5.0; extra == "huggingface"
Requires-Dist: torch==2.8.0; extra == "huggingface"
Requires-Dist: huggingface-hub==1.9.1; extra == "huggingface"
Requires-Dist: evaluate==0.4.3; extra == "huggingface"
Requires-Dist: nltk==3.9.3; extra == "huggingface"
Provides-Extra: huggingface-cpu
Requires-Dist: datasets==2.16.1; extra == "huggingface-cpu"
Requires-Dist: transformers==5.5.0; extra == "huggingface-cpu"
Requires-Dist: huggingface-hub==1.9.1; extra == "huggingface-cpu"
Requires-Dist: torch==2.8.0+cpu; extra == "huggingface-cpu"
Requires-Dist: evaluate==0.4.3; extra == "huggingface-cpu"
Requires-Dist: nltk==3.9.3; extra == "huggingface-cpu"
Provides-Extra: chromadb
Requires-Dist: onnxruntime==1.20.1; extra == "chromadb"
Requires-Dist: chromadb~=0.6.3; extra == "chromadb"
Provides-Extra: email
Requires-Dist: chardet; extra == "email"
Provides-Extra: cohere
Requires-Dist: cohere==4.5.1; extra == "cohere"
Requires-Dist: aiohttp>=3.13.3; extra == "cohere"
Provides-Extra: timescaledb
Provides-Extra: mssql
Requires-Dist: pymssql>=2.1.4; extra == "mssql"
Provides-Extra: mssql-odbc
Requires-Dist: pymssql>=2.1.4; extra == "mssql-odbc"
Requires-Dist: pyodbc>=5.2.0; extra == "mssql-odbc"
Provides-Extra: llama-index
Requires-Dist: pydantic-settings>=2.1.0; extra == "llama-index"
Requires-Dist: llama-index-readers-web; extra == "llama-index"
Requires-Dist: llama-index==0.13.0; extra == "llama-index"
Requires-Dist: llama-index-embeddings-openai; extra == "llama-index"
Provides-Extra: duckdb
Provides-Extra: salesforce
Requires-Dist: salesforce_api==0.1.45; extra == "salesforce"
Provides-Extra: oracle
Requires-Dist: oracledb==3.3.0; extra == "oracle"
Provides-Extra: huggingface-api
Requires-Dist: hugging_py_face; extra == "huggingface-api"
Requires-Dist: filelock>=3.20.3; extra == "huggingface-api"
Requires-Dist: huggingface-hub; extra == "huggingface-api"
Provides-Extra: hubspot
Requires-Dist: hubspot-api-client==12.0.0; extra == "hubspot"
Provides-Extra: snowflake
Requires-Dist: snowflake-connector-python[pandas]==4.4.0; extra == "snowflake"
Requires-Dist: snowflake-sqlalchemy==1.9.0; extra == "snowflake"
Provides-Extra: ollama
Provides-Extra: bigquery
Requires-Dist: google-cloud-bigquery[pandas]; extra == "bigquery"
Requires-Dist: sqlalchemy-bigquery; extra == "bigquery"
Provides-Extra: openai
Requires-Dist: tiktoken; extra == "openai"
Provides-Extra: mlflow
Requires-Dist: protobuf>=6.33.5; extra == "mlflow"
Requires-Dist: mlflow; extra == "mlflow"
Requires-Dist: sqlparse>=0.5.4; extra == "mlflow"
Provides-Extra: netsuite
Requires-Dist: requests-oauthlib>=1.3.1; extra == "netsuite"
Provides-Extra: mariadb
Requires-Dist: mysql-connector-python==9.1.0; extra == "mariadb"
Provides-Extra: web
Requires-Dist: html2text; extra == "web"
Provides-Extra: anthropic
Requires-Dist: anthropic==0.18.1; extra == "anthropic"
Provides-Extra: postgres
Provides-Extra: duckdb-faiss
Requires-Dist: faiss-cpu==1.13.2; extra == "duckdb-faiss"
Provides-Extra: dummy-data
Provides-Extra: file
Provides-Extra: databricks
Requires-Dist: databricks-sql-connector==4.2.3; extra == "databricks"
Provides-Extra: redshift
Provides-Extra: bedrock
Requires-Dist: pydantic-settings>=2.1.0; extra == "bedrock"
Provides-Extra: groq
Requires-Dist: pydantic-settings>=2.1.0; extra == "groq"
Requires-Dist: tiktoken; extra == "groq"
Provides-Extra: mysql
Requires-Dist: mysql-connector-python==9.1.0; extra == "mysql"
Provides-Extra: shopify
Requires-Dist: ShopifyAPI; extra == "shopify"
Provides-Extra: all-handlers-extras
Requires-Dist: transformers==5.5.0; extra == "all-handlers-extras"
Requires-Dist: torch==2.8.0; extra == "all-handlers-extras"
Requires-Dist: pydantic-settings>=2.1.0; extra == "all-handlers-extras"
Requires-Dist: sqlalchemy-bigquery; extra == "all-handlers-extras"
Requires-Dist: anthropic==0.18.1; extra == "all-handlers-extras"
Requires-Dist: protobuf>=6.33.5; extra == "all-handlers-extras"
Requires-Dist: hubspot-api-client==12.0.0; extra == "all-handlers-extras"
Requires-Dist: snowflake-connector-python[pandas]==4.4.0; extra == "all-handlers-extras"
Requires-Dist: sqlparse>=0.5.4; extra == "all-handlers-extras"
Requires-Dist: tiktoken; extra == "all-handlers-extras"
Requires-Dist: cohere==4.5.1; extra == "all-handlers-extras"
Requires-Dist: pgvector==0.3.6; extra == "all-handlers-extras"
Requires-Dist: onnxruntime==1.20.1; extra == "all-handlers-extras"
Requires-Dist: hugging_py_face; extra == "all-handlers-extras"
Requires-Dist: requests-oauthlib>=1.3.1; extra == "all-handlers-extras"
Requires-Dist: huggingface-hub; extra == "all-handlers-extras"
Requires-Dist: mlflow; extra == "all-handlers-extras"
Requires-Dist: faiss-cpu==1.13.2; extra == "all-handlers-extras"
Requires-Dist: databricks-sql-connector==4.2.3; extra == "all-handlers-extras"
Requires-Dist: pymssql>=2.1.4; extra == "all-handlers-extras"
Requires-Dist: aiohttp>=3.13.3; extra == "all-handlers-extras"
Requires-Dist: torch==2.8.0+cpu; extra == "all-handlers-extras"
Requires-Dist: html2text; extra == "all-handlers-extras"
Requires-Dist: chromadb~=0.6.3; extra == "all-handlers-extras"
Requires-Dist: ShopifyAPI; extra == "all-handlers-extras"
Requires-Dist: evaluate==0.4.3; extra == "all-handlers-extras"
Requires-Dist: google-cloud-bigquery[pandas]; extra == "all-handlers-extras"
Requires-Dist: datasets==2.16.1; extra == "all-handlers-extras"
Requires-Dist: llama-index==0.13.0; extra == "all-handlers-extras"
Requires-Dist: chardet; extra == "all-handlers-extras"
Requires-Dist: huggingface-hub==1.9.1; extra == "all-handlers-extras"
Requires-Dist: pyodbc>=5.2.0; extra == "all-handlers-extras"
Requires-Dist: filelock>=3.20.3; extra == "all-handlers-extras"
Requires-Dist: snowflake-sqlalchemy==1.9.0; extra == "all-handlers-extras"
Requires-Dist: oracledb==3.3.0; extra == "all-handlers-extras"
Requires-Dist: mysql-connector-python==9.1.0; extra == "all-handlers-extras"
Requires-Dist: llama-index-readers-web; extra == "all-handlers-extras"
Requires-Dist: llama-index-embeddings-openai; extra == "all-handlers-extras"
Requires-Dist: salesforce_api==0.1.45; extra == "all-handlers-extras"
Requires-Dist: nltk==3.9.3; extra == "all-handlers-extras"
Dynamic: author
Dynamic: author-email
Dynamic: classifier
Dynamic: description
Dynamic: description-content-type
Dynamic: download-url
Dynamic: home-page
Dynamic: license
Dynamic: license-file
Dynamic: provides-extra
Dynamic: requires-dist
Dynamic: requires-python
Dynamic: summary

<a name="readme-top"></a>

<p align="center">
  <a href="https://github.com/mindsdb/mindsdb">
    <img src="/assets/mindsdb-header-github.png" alt="Query engine for AI analytics, powering agents to answer questions across all your live data" width="100%" />
  </a>
</p>

<div align="center">
  <a href="https://pypi.org/project/MindsDB/" target="_blank">
    <img src="https://badge.fury.io/py/MindsDB.svg" alt="MindsDB Release" />
  </a>
  <a href="https://www.python.org/downloads/" target="_blank">
    <img src="https://img.shields.io/badge/python-3.10.x%7C%203.11.x%7C%203.12.x%7C%203.13.x-brightgreen.svg" alt="Python supported" />
  </a>
  <a href="https://hub.docker.com/r/mindsdb/mindsdb" target="_blank">
  <img src="https://img.shields.io/docker/pulls/mindsdb/mindsdb.svg?logo=docker&label=Docker%20pulls&cacheSeconds=86400" alt="Docker pulls" />
  </a>

  <p align="center">
	<a href="https://github.com/mindsdb/anton">AI-coworker</a>
    ·
    <a href="https://mindsdb.com?utm_medium=community&utm_source=github&utm_campaign=mindsdb%20repo">Website</a>
    ·
    <a href="https://docs.mindsdb.com?utm_medium=community&utm_source=github&utm_campaign=mindsdb%20repo">Docs</a>
    ·
    <a href="https://mindsdb.com/contact?utm_medium=community&utm_source=github&utm_campaign=mindsdb%20repo">Contact us for a demo</a>
    ·
    <a href="https://mindsdb.com/joincommunity?utm_medium=community&utm_source=github&utm_campaign=mindsdb%20repo">Community Slack</a>
  </p>
</div>

---

MindsDB develops the following products:

* [ANTON](https://github.com/mindsdb/anton) - A personal AI agent that helps you get work done. Tell it what you need in plain language and it takes it from there - sending emails, calling APIs, connecting to data sources, building dashboards, and delivering results. No setup, no plugins, no fuss.

* [Query Engine](https://docs.mindsdb.com) - The product you are looking at, is a popular query engine for semantic-search.


## What you can build with MindsDB Products

| CONVERSATIONAL ANALYTICS AGENTS | SEMANTIC SEARCH AGENTS |
| --- | --- |
| Get precise, data-driven answers using natural language. <br /><br /> Unify and query data across sources (MySQL, Salesforce, Shopify, etc.), without ETL. <br /><br /> <a href="https://github.com/mindsdb/anton">Try Anton</a> | Ground LLM responses in your most relevant internal knowledge. <br /><br /> Search across unstructured sources like documents, support tickets, Google Drive, and more. <br /><br /> <a href="https://www.youtube.com/watch?v=HN4fHtS4mvo">Watch video</a> |

## How MindsDB - Query Engine works
<div align="center">
  <a href="https://www.youtube.com/watch?v=HN4fHtS4mvo" title="Watch demo">
    <img
      src="/assets/mindsdb_demo.gif"
      alt="MindsDB demo - answer questions in plain English from live enterprise data"
      title="Click to watch the full video"
      width="80%"
    />
  </a>
</div>

MindsDB - Query Engine follows a simple workflow: **Connect → Unify → Respond**. At the center is an SQL-compatible data language with additional constructs for searching unstructured data, managing workflows (jobs/triggers), and building agents.

<table style="width:100%; border-collapse:collapse; border:none;">
  <tr>
    <td style="width:25%; border:none; padding:8px 16px; vertical-align:middle;">
      <strong><a href="https://docs.mindsdb.com/integrations/data-overview?utm_medium=community&utm_source=github&utm_campaign=mindsdb%20repo">Connect</a></strong>
    </td>
    <td style="width:75%; border:none; padding:8px 16px; vertical-align:middle;">
      <strong>Universal data access:</strong> Give your agents federated access to 200+ live data sources (Postgres, MongoDB, Slack, files, and more).
    </td>
  </tr>
  <tr>
    <td style="width:25%; border:none; padding:8px 16px; vertical-align:middle;">
      <strong><a href="https://docs.mindsdb.com/mindsdb-unify?utm_medium=community&utm_source=github&utm_campaign=mindsdb%20repo">Unify</a></strong>
    </td>
    <td style="width:75%; border:none; padding:8px 16px; vertical-align:middle;">
      <strong>Dynamic context engine:</strong> Fuse structured tables with vectorized data (text, PDFs, HTML) inside a Knowledge Base.
    </td>
  </tr>
  <tr>
    <td style="width:25%; border:none; padding:8px 16px; vertical-align:middle;">
      <strong><a href="https://docs.mindsdb.com/mindsdb-respond?utm_medium=community&utm_source=github&utm_campaign=mindsdb%20repo">Respond</a></strong>
    </td>
    <td style="width:75%; border:none; padding:8px 16px; vertical-align:middle;">
      <strong>Autonomous reasoning:</strong> Deploy agents that blend and retrieve data points across your stack to produce grounded answers.
    </td>
  </tr>
</table>

## Setup

Users can install MindsDB via <a href="https://docs.mindsdb.com/setup/self-hosted/docker?utm_medium=community&utm_source=github&utm_campaign=mindsdb%20repo">Docker</a>, <a href="https://docs.mindsdb.com/setup/self-hosted/docker-desktop?utm_medium=community&utm_source=github&utm_campaign=mindsdb%20repo">Docker Extension</a>, or <a href="https://docs.mindsdb.com/contribute/install?utm_medium=community&utm_source=github&utm_campaign=mindsdb%20repo">PyPI</a>.

Here is how to pull and run MindsDB via Docker:
```bash
docker run --name mindsdb_container \
-e MINDSDB_APIS=http,mysql \
-p 47334:47334 -p 47335:47335 \
mindsdb/mindsdb:latest
```

## Usage

**Follow the <a href="https://docs.mindsdb.com/quickstart-tutorial?utm_medium=community&utm_source=github&utm_campaign=mindsdb%20repo">quickstart guide</a> to get started with MindsDB using our demo data.**

Retrieve and analyze data from over 200 <a href="https://docs.mindsdb.com/integrations/data-overview?utm_medium=community&utm_source=github&utm_campaign=mindsdb%20repo">data sources</a> in one SQL dialect. For AI agents, this means faster response time, better accuracy, and lower token consumption.
```sql
--use SQL to aggregate pipeline data from Salesforce 
SELECT SUM(ExpectedRevenue) AS open_pipeline
FROM salesforce.opportunities
WHERE close_date >= CURDATE()

--use the same dialect to retrieve even from a non-SQL database, like MondoDB
SELECT COUNT(*) AS negative_emails_last_30_days
FROM mongodb.support_tickets
WHERE sentiment = 'negative'
  AND created_at >= CURRENT_DATE - INTERVAL '30 days';
```

Create <a href="https://docs.mindsdb.com/mindsdb_sql/sql/create/view?utm_medium=community&utm_source=github&utm_campaign=mindsdb%20repo">views</a> and join data even from different types of data systems.
```sql
--join MongoDB and Salesforce data
CREATE VIEW risky_renewals AS (
SELECT *
FROM mongodb.support_tickets AS reviews
JOIN salesforce.opportunities AS deals
  ON reviews.customer_domain = deals.customer_domain
WHERE deals.type = "renewal"
  AND reviews.sentiment = "negative"
);
```

Join vectorized and structured data inside a <a href="https://docs.mindsdb.com/mindsdb_sql/knowledge_bases/overview?utm_medium=community&utm_source=github&utm_campaign=mindsdb%20repo">knowledge base</a>. Combine semantic search with precise metadata criteria in a single SQL query.
```sql
--create a knowledge base for customer issues 
CREATE KNOWLEDGE_BASE customers_issues
USING
  storage = my_vector.db,
  content_columns = ['ticket_description'];
  metadata_columns = ['customer_name', 'segment', 'revenue', 'is_pending_renewal'];

--find large customers who submitted ticket related to data security topics  
SELECT * FROM customers_issues
WHERE content = 'data security'
AND
  is_pending_renewal = 'true'.
  revenue > 1000000;
```

Use MindsDB pre-packaged <a href="https://docs.mindsdb.com/mindsdb_sql/agents/agent_syntax?utm_medium=community&utm_source=github&utm_campaign=mindsdb%20repo">data agents</a> and connect them with your own. See how to use MindsDB via <a href="https://docs.mindsdb.com/overview_sdks_apis?utm_medium=community&utm_source=github&utm_campaign=mindsdb%20repo">API or MCP</a>.
```sql
CREATE AGENT my_agent
USING
    model = {
        "provider": "openai",
        "model_name" : "gpt-xx",
        "api_key": "sk-..."
    },
    data = {
         "knowledge_bases": ["mindsdb.customer_issues"],
         "tables": ["salesforce.opportunities", "postgres.sales", "mongodb.support_tickets"]
    },
    prompt_template = 'my prompt template and agent guidance';
```
See MindsDB’s recommended usage of agents <a href="https://docs.mindsdb.com/mindsdb_sql/agents/agent?utm_medium=community&utm_source=github&utm_campaign=mindsdb%20repo">here</a> and how to automate workflows with <a href="https://docs.mindsdb.com/mindsdb_sql/sql/create/jobs?utm_medium=community&utm_source=github&utm_campaign=mindsdb%20repo">jobs</a>.

## 📃 Tutorials
- Enterprise Knowledge Search (<a href="https://mindsdb.com/blog/fast-track-knowledge-bases-how-to-build-semantic-ai-search-by-andriy-burkov?utm_medium=community&utm_source=github&utm_campaign=mindsdb%20repo">example</a>)
- Advanced Semantic Search  (<a href="https://mindsdb.com/blog/blend-hybrid-retrieval-with-structured-data-using-mindsdb-knowledge-bases?utm_medium=community&utm_source=github&utm_campaign=mindsdb%20repo">example</a>)
- Customer Support Automation (<a href="https://mindsdb.com/blog/building-janus-an-ai-powered-customer-support-helpdesk-system-powered-by-mindsdb?utm_medium=community&utm_source=github&utm_campaign=mindsdb%20repo">example1</a>, <a href="https://mindsdb.com/blog/building-agentic-workflow-auto-banking-customer-service-with-mindsdb?utm_medium=community&utm_source=github&utm_campaign=mindsdb%20repo">example2</a>)
- Intelligent Content Discovery (<a href="https://mindsdb.com/blog/mysql-mindsdb-unlocks-intelligent-content-discovery-for-web-cms-with-knowledge-bases-and-cursor?utm_medium=community&utm_source=github&utm_campaign=mindsdb%20repo">example</a>)
- Financial Analysis Agents (<a href="https://mindsdb.com/blog/streamline-financial-analysis-with-mindsdb-s-knowledge-bases-and-hybrid-search?utm_medium=community&utm_source=github&utm_campaign=mindsdb%20repo">example</a>)
- Real-time AI-powered analytics (<a href="https://mindsdb.com/blog/mariadb-mindsdb-turns-woocommerce-data-to-insights-with-real-time-ai-analytics-for-ecommerce-teams?utm_medium=community&utm_source=github&utm_campaign=mindsdb%20repo">example</a>)
- Conversational Data Assistants (<a href="https://mindsdb.com/blog/unlocking-operational-intelligence-in-energy-utilities-with-mindsdb-knowledge-bases-hybrid-search?utm_medium=community&utm_source=github&utm_campaign=mindsdb%20repo">example</a>)
- CRM Intelligence (<a href="https://mindsdb.com/blog/unlocking-salesforce-crm-intelligence-with-mindsdb-s-ai-powered-knowledge-bases?utm_medium=community&utm_source=github&utm_campaign=mindsdb%20repo">example</a>)
- Compliance & Customer Intelligence (<a href="https://mindsdb.com/blog/enterprise-software-vendors-drive-compliance-customer-insights-with-mindsdb-knowledge-bases-hybrid-search?utm_medium=community&utm_source=github&utm_campaign=mindsdb%20repo">example</a>)
- Conversation Intelligence (<a href="https://mindsdb.com/blog/introducing-mindsdb-s-integration-with-gong-ai-analytics-on-call-data?utm_medium=community&utm_source=github&utm_campaign=mindsdb%20repo">example</a>)
Subscribe to our (<a href="https://mindsdb.com/blog?utm_medium=community&utm_source=github&utm_campaign=mindsdb%20repo">blog</a>) for more

## 🫴 Help and support

Stuck on a query? Found a bug? We’re here to help.
<table style="width:100%; border-collapse:collapse;">
  <tr>
    <td style="width:30%; border:1px solid #d0d7de; padding:12px; vertical-align:top;">
      Ask a question
    </td>
    <td style="width:70%; border:1px solid #d0d7de; padding:12px; vertical-align:top;">
      Join our <a href="https://mindsdb.com/joincommunity">Slack Community</a>.
    </td>
  </tr>
  <tr>
    <td style="width:30%; border:1px solid #d0d7de; padding:12px; vertical-align:top;">
      Report a bug
    </td>
    <td style="width:70%; border:1px solid #d0d7de; padding:12px; vertical-align:top;">
      Open a <a href="https://github.com/mindsdb/mindsdb/issues">GitHub Issue</a>. Please include reproduction steps!
    </td>
  </tr>
  <tr>
    <td style="width:30%; border:1px solid #d0d7de; padding:12px; vertical-align:top;">
      Get commercial support
    </td>
    <td style="width:70%; border:1px solid #d0d7de; padding:12px; vertical-align:top;">
      Contact the <a href="https://mindsdb.com/contact?utm_medium=community&utm_source=github&utm_campaign=mindsdb%20repo">MindsDB Team</a> for enterprise SLAs and custom solutions.
    </td>
  </tr>
</table>

**Security Note:** If you find a security vulnerability, please do not open a public issue. Refer to our <a href="https://github.com/mindsdb/mindsdb/security">security policy</a> for reporting instructions.

## 🤝 Contribute to MindsDB

MindsDB is open source and contributions are welcome! You can submit code changes through pull requests or by opening issues to report bugs, suggest new features, or enhancements.

**Ways you can help:**
- Develop a <a href="https://docs.mindsdb.com/contribute/data-handlers">database integration</a>
- Develop an <a href="https://docs.mindsdb.com/contribute/app-handlers">app integration</a>
- Identify and fix bugs

**How to contribute**

- Read the <a href="https://docs.mindsdb.com/contribute/contribute?utm_medium=community&utm_source=github&utm_campaign=mindsdb%20repo">contribution guide</a> to get set up.
- Browse <a href="https://github.com/mindsdb/mindsdb/issues">open issues</a>.
- Join the #contributors channel in <a href="https://mindsdb.com/joincommunity">Slack</a>.
- Explore <a href="https://mindsdb.com/community?utm_medium=community&utm_source=github&utm_campaign=mindsdb%20repo">community rewards and programs</a>.

<div align="center">

<strong>Our top 100 contributors</strong>

<a href="https://github.com/mindsdb/mindsdb/graphs/contributors">
<img src="https://contrib.rocks/image?repo=mindsdb/mindsdb&max=100&columns=10" />
</a>
	
Made with [contrib.rocks](https://contrib.rocks)
</div>

## 📚 Resources
- <a href="https://docs.mindsdb.com?utm_medium=community&utm_source=github&utm_campaign=mindsdb%20repo">Documentation</a>
- <a href="https://mindsdb.com/blog?utm_medium=community&utm_source=github&utm_campaign=mindsdb%20repo">Blog</a>
- <a href="https://mindsdb.com/events?utm_medium=community&utm_source=github&utm_campaign=mindsdb%20repo">Events</a>
- <a href="https://mindsdb.com/joincommunity">Community Slack</a>
- <a href="https://mindsdb.com/press-kit?utm_medium=community&utm_source=github&utm_campaign=mindsdb%20repo">Brand guidelines</a>
- <a href="https://mindsdb.com/contact?utm_medium=community&utm_source=github&utm_campaign=mindsdb%20repo">Contact form</a>
