Metadata-Version: 2.4
Name: MindsDB
Version: 26.0.1
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.0.3
Requires-Dist: werkzeug==3.0.6
Requires-Dist: flask-restx<2.0.0,>=1.3.0
Requires-Dist: pandas==2.2.3
Requires-Dist: python-multipart==0.0.20
Requires-Dist: cryptography>=35.0
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.0.0,>=5.0.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.32.4
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.10.1
Requires-Dist: pymupdf==1.25.2
Requires-Dist: filetype
Requires-Dist: charset-normalizer
Requires-Dist: openpyxl
Requires-Dist: aipdf==0.0.7.0
Requires-Dist: pyarrow<=19.0.0
Requires-Dist: orjson==3.11.3
Requires-Dist: mind-castle>=0.4.9
Requires-Dist: pydantic-ai>=0.0.14
Requires-Dist: bs4
Requires-Dist: urllib3>=2.6.3
Provides-Extra: agents
Requires-Dist: openai<3.0.0,>=2.9.0; extra == "agents"
Requires-Dist: langchain-community==0.3.27; extra == "agents"
Requires-Dist: langchain-core==0.3.77; extra == "agents"
Requires-Dist: langchain-experimental==0.3.4; extra == "agents"
Requires-Dist: transformers>=4.42.4; extra == "agents"
Requires-Dist: mindsdb-evaluator==0.0.21; extra == "agents"
Requires-Dist: litellm==1.63.14; extra == "agents"
Requires-Dist: mcp~=1.10.1; extra == "agents"
Requires-Dist: httpx==0.28.1; extra == "agents"
Requires-Dist: jwcrypto==1.5.6; extra == "agents"
Requires-Dist: typing-extensions==4.14.1; extra == "agents"
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: kb
Requires-Dist: lxml==5.3.0; extra == "kb"
Requires-Dist: pgvector==0.3.6; extra == "kb"
Requires-Dist: langchain-core==0.3.77; extra == "kb"
Requires-Dist: litellm==1.63.14; extra == "kb"
Provides-Extra: langfuse
Requires-Dist: langfuse==2.53.3; extra == "langfuse"
Provides-Extra: opentelemetry
Requires-Dist: opentelemetry-api==1.27.0; extra == "opentelemetry"
Requires-Dist: opentelemetry-sdk==1.27.0; extra == "opentelemetry"
Requires-Dist: opentelemetry-exporter-otlp==1.27.0; extra == "opentelemetry"
Requires-Dist: opentelemetry-instrumentation-requests==0.48b0; extra == "opentelemetry"
Requires-Dist: opentelemetry-instrumentation-flask==0.48b0; extra == "opentelemetry"
Requires-Dist: opentelemetry-distro==0.48b0; extra == "opentelemetry"
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.1; 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"
Provides-Extra: all-extras
Requires-Dist: walrus==0.9.3; extra == "all-extras"
Requires-Dist: opentelemetry-sdk==1.27.0; extra == "all-extras"
Requires-Dist: docker>=5.0.3; extra == "all-extras"
Requires-Dist: responses; extra == "all-extras"
Requires-Dist: pgvector==0.3.6; extra == "all-extras"
Requires-Dist: pymongo==4.8.0; extra == "all-extras"
Requires-Dist: ruff==0.11.11; extra == "all-extras"
Requires-Dist: mindsdb-evaluator==0.0.21; extra == "all-extras"
Requires-Dist: anthropic>=0.21.3; extra == "all-extras"
Requires-Dist: importlib_metadata==7.2.1; extra == "all-extras"
Requires-Dist: jwcrypto==1.5.6; extra == "all-extras"
Requires-Dist: coveralls; extra == "all-extras"
Requires-Dist: langfuse==2.53.3; extra == "all-extras"
Requires-Dist: pytest-subtests; extra == "all-extras"
Requires-Dist: langchain-experimental==0.3.4; extra == "all-extras"
Requires-Dist: litellm==1.63.14; extra == "all-extras"
Requires-Dist: pytest-xdist; extra == "all-extras"
Requires-Dist: wheel; extra == "all-extras"
Requires-Dist: langchain-community==0.3.27; extra == "all-extras"
Requires-Dist: opentelemetry-api==1.27.0; extra == "all-extras"
Requires-Dist: httpx==0.28.1; extra == "all-extras"
Requires-Dist: lxml==5.3.0; extra == "all-extras"
Requires-Dist: opentelemetry-exporter-otlp==1.27.0; extra == "all-extras"
Requires-Dist: watchfiles==0.19.0; extra == "all-extras"
Requires-Dist: ollama>=0.1.7; extra == "all-extras"
Requires-Dist: opentelemetry-distro==0.48b0; extra == "all-extras"
Requires-Dist: pytest-metadata==3.1.1; extra == "all-extras"
Requires-Dist: opentelemetry-instrumentation-requests==0.48b0; extra == "all-extras"
Requires-Dist: twine; extra == "all-extras"
Requires-Dist: locust; extra == "all-extras"
Requires-Dist: pytest<9.0.0,>=8.3.5; extra == "all-extras"
Requires-Dist: pytest-json-report==1.5.0; extra == "all-extras"
Requires-Dist: typing-extensions==4.14.1; extra == "all-extras"
Requires-Dist: mindsdb-sdk; extra == "all-extras"
Requires-Dist: opentelemetry-instrumentation-flask==0.48b0; extra == "all-extras"
Requires-Dist: setuptools==78.1.1; extra == "all-extras"
Requires-Dist: mcp~=1.10.1; extra == "all-extras"
Requires-Dist: python-dotenv==1.1.1; extra == "all-extras"
Requires-Dist: deptry==0.20.0; extra == "all-extras"
Requires-Dist: scipy==1.15.3; extra == "all-extras"
Requires-Dist: langchain-core==0.3.77; extra == "all-extras"
Requires-Dist: openai<3.0.0,>=2.9.0; extra == "all-extras"
Requires-Dist: filelock==3.20.1; extra == "all-extras"
Requires-Dist: appdirs>=1.0.0; extra == "all-extras"
Requires-Dist: langchain-google-genai>=2.0.0; extra == "all-extras"
Requires-Dist: pre-commit>=2.16.0; extra == "all-extras"
Requires-Dist: pytest-cov; extra == "all-extras"
Requires-Dist: transformers>=4.42.4; extra == "all-extras"
Requires-Dist: mysql-connector-python==9.1.0; extra == "all-extras"
Provides-Extra: all
Requires-Dist: walrus==0.9.3; extra == "all"
Requires-Dist: opentelemetry-sdk==1.27.0; extra == "all"
Requires-Dist: docker>=5.0.3; extra == "all"
Requires-Dist: responses; extra == "all"
Requires-Dist: pgvector==0.3.6; extra == "all"
Requires-Dist: pymongo==4.8.0; extra == "all"
Requires-Dist: ruff==0.11.11; extra == "all"
Requires-Dist: mindsdb-evaluator==0.0.21; extra == "all"
Requires-Dist: anthropic>=0.21.3; extra == "all"
Requires-Dist: importlib_metadata==7.2.1; extra == "all"
Requires-Dist: jwcrypto==1.5.6; extra == "all"
Requires-Dist: coveralls; extra == "all"
Requires-Dist: langfuse==2.53.3; extra == "all"
Requires-Dist: pytest-subtests; extra == "all"
Requires-Dist: langchain-experimental==0.3.4; extra == "all"
Requires-Dist: litellm==1.63.14; extra == "all"
Requires-Dist: pytest-xdist; extra == "all"
Requires-Dist: wheel; extra == "all"
Requires-Dist: langchain-community==0.3.27; extra == "all"
Requires-Dist: opentelemetry-api==1.27.0; extra == "all"
Requires-Dist: httpx==0.28.1; extra == "all"
Requires-Dist: lxml==5.3.0; extra == "all"
Requires-Dist: opentelemetry-exporter-otlp==1.27.0; extra == "all"
Requires-Dist: watchfiles==0.19.0; extra == "all"
Requires-Dist: ollama>=0.1.7; extra == "all"
Requires-Dist: opentelemetry-distro==0.48b0; extra == "all"
Requires-Dist: pytest-metadata==3.1.1; extra == "all"
Requires-Dist: opentelemetry-instrumentation-requests==0.48b0; extra == "all"
Requires-Dist: twine; extra == "all"
Requires-Dist: locust; extra == "all"
Requires-Dist: pytest<9.0.0,>=8.3.5; extra == "all"
Requires-Dist: pytest-json-report==1.5.0; extra == "all"
Requires-Dist: typing-extensions==4.14.1; extra == "all"
Requires-Dist: mindsdb-sdk; extra == "all"
Requires-Dist: opentelemetry-instrumentation-flask==0.48b0; extra == "all"
Requires-Dist: setuptools==78.1.1; extra == "all"
Requires-Dist: mcp~=1.10.1; extra == "all"
Requires-Dist: python-dotenv==1.1.1; extra == "all"
Requires-Dist: deptry==0.20.0; extra == "all"
Requires-Dist: scipy==1.15.3; extra == "all"
Requires-Dist: langchain-core==0.3.77; extra == "all"
Requires-Dist: openai<3.0.0,>=2.9.0; extra == "all"
Requires-Dist: filelock==3.20.1; extra == "all"
Requires-Dist: appdirs>=1.0.0; extra == "all"
Requires-Dist: langchain-google-genai>=2.0.0; extra == "all"
Requires-Dist: pre-commit>=2.16.0; extra == "all"
Requires-Dist: pytest-cov; extra == "all"
Requires-Dist: transformers>=4.42.4; extra == "all"
Requires-Dist: mysql-connector-python==9.1.0; extra == "all"
Provides-Extra: access
Requires-Dist: pyodbc>=5.0.0; sys_platform == "win32" and extra == "access"
Requires-Dist: sqlalchemy-access>=2.0.0; sys_platform == "win32" and extra == "access"
Provides-Extra: aerospike
Requires-Dist: aerospike~=13.0.0; extra == "aerospike"
Provides-Extra: airtable
Provides-Extra: altibase
Requires-Dist: pyodbc; extra == "altibase"
Requires-Dist: jaydebeapi; extra == "altibase"
Provides-Extra: anthropic
Requires-Dist: anthropic==0.18.1; extra == "anthropic"
Provides-Extra: apache-doris
Requires-Dist: mysql-connector-python==9.1.0; extra == "apache-doris"
Provides-Extra: aqicn
Provides-Extra: athena
Provides-Extra: aurora
Requires-Dist: mysql-connector-python==9.1.0; extra == "aurora"
Provides-Extra: azure-blob
Requires-Dist: azure-storage-blob; extra == "azure-blob"
Requires-Dist: azure-core>=1.38.0; extra == "azure-blob"
Provides-Extra: bedrock
Requires-Dist: pydantic-settings>=2.1.0; extra == "bedrock"
Provides-Extra: bigcommerce
Provides-Extra: bigquery
Requires-Dist: sqlalchemy-bigquery; extra == "bigquery"
Requires-Dist: google-cloud-bigquery[pandas]; extra == "bigquery"
Provides-Extra: binance
Requires-Dist: binance-connector; extra == "binance"
Provides-Extra: byom
Requires-Dist: virtualenv; extra == "byom"
Requires-Dist: scikit-learn==1.5.2; extra == "byom"
Provides-Extra: cassandra
Requires-Dist: scylla-driver; extra == "cassandra"
Provides-Extra: chromadb
Requires-Dist: chromadb~=0.6.3; extra == "chromadb"
Requires-Dist: onnxruntime==1.20.1; extra == "chromadb"
Provides-Extra: ckan
Requires-Dist: ckanapi; extra == "ckan"
Provides-Extra: clickhouse
Requires-Dist: clickhouse-sqlalchemy>=0.3.1; extra == "clickhouse"
Provides-Extra: cloud-spanner
Requires-Dist: sqlalchemy-spanner; extra == "cloud-spanner"
Requires-Dist: google-cloud-spanner; extra == "cloud-spanner"
Requires-Dist: sqlparse>=0.5.4; extra == "cloud-spanner"
Provides-Extra: cloud-sql
Requires-Dist: pymssql>=2.1.4; extra == "cloud-sql"
Requires-Dist: mysql-connector-python==9.1.0; extra == "cloud-sql"
Provides-Extra: cockroach
Provides-Extra: cohere
Requires-Dist: cohere==4.5.1; extra == "cohere"
Requires-Dist: aiohttp>=3.13.3; extra == "cohere"
Provides-Extra: coinbase
Provides-Extra: confluence
Provides-Extra: couchbase
Requires-Dist: couchbase==4.3.1; extra == "couchbase"
Provides-Extra: couchbasevector
Requires-Dist: couchbase==4.3.1; extra == "couchbasevector"
Provides-Extra: crate
Requires-Dist: crate; extra == "crate"
Requires-Dist: urllib3>=2.6.0; extra == "crate"
Requires-Dist: sqlalchemy-cratedb; extra == "crate"
Provides-Extra: d0lt
Requires-Dist: pymysql; extra == "d0lt"
Provides-Extra: databend
Requires-Dist: databend-sqlalchemy; extra == "databend"
Provides-Extra: databricks
Requires-Dist: databricks-sql-connector<4.0.0,>=3.7.1; extra == "databricks"
Provides-Extra: datastax
Requires-Dist: scylla-driver; extra == "datastax"
Provides-Extra: db2
Requires-Dist: ibm-db; extra == "db2"
Requires-Dist: ibm-db-sa; extra == "db2"
Provides-Extra: derby
Requires-Dist: jaydebeapi; extra == "derby"
Provides-Extra: discord
Provides-Extra: dockerhub
Provides-Extra: documentdb
Requires-Dist: pymongo==4.8.0; extra == "documentdb"
Provides-Extra: dremio
Requires-Dist: sqlalchemy_dremio; extra == "dremio"
Provides-Extra: dropbox
Requires-Dist: urllib3>=2.2.2; extra == "dropbox"
Requires-Dist: dropbox; extra == "dropbox"
Provides-Extra: druid
Requires-Dist: pydruid; extra == "druid"
Provides-Extra: duckdb-faiss
Requires-Dist: faiss-cpu>=1.7.4; extra == "duckdb-faiss"
Requires-Dist: portalocker; extra == "duckdb-faiss"
Provides-Extra: duckdb
Provides-Extra: dummy-data
Provides-Extra: dynamodb
Provides-Extra: edgelessdb
Requires-Dist: mysql-connector-python==9.1.0; extra == "edgelessdb"
Provides-Extra: elasticsearch
Requires-Dist: urllib3>=2.6.0; extra == "elasticsearch"
Requires-Dist: elasticsearch<9.0.0,>=8.0.0; extra == "elasticsearch"
Provides-Extra: email
Requires-Dist: chardet; extra == "email"
Provides-Extra: empress
Requires-Dist: pyodbc; extra == "empress"
Provides-Extra: eventbrite
Requires-Dist: eventbrite-python; extra == "eventbrite"
Provides-Extra: eventstoredb
Provides-Extra: faunadb
Requires-Dist: faunadb; extra == "faunadb"
Provides-Extra: file
Provides-Extra: financial-modeling-prep
Provides-Extra: firebird
Requires-Dist: sqlalchemy-firebird<3.0.0,>=2.0.0; extra == "firebird"
Requires-Dist: fdb; extra == "firebird"
Provides-Extra: frappe
Provides-Extra: gcs
Requires-Dist: google-auth; extra == "gcs"
Requires-Dist: fsspec; extra == "gcs"
Requires-Dist: aiohttp>=3.13.3; extra == "gcs"
Requires-Dist: google-cloud-storage; extra == "gcs"
Requires-Dist: gcsfs; extra == "gcs"
Provides-Extra: github
Requires-Dist: pygithub==2.6.1; extra == "github"
Provides-Extra: gitlab
Requires-Dist: python-gitlab; extra == "gitlab"
Provides-Extra: gmail
Requires-Dist: google-api-python-client; extra == "gmail"
Provides-Extra: gong
Provides-Extra: google-analytics
Requires-Dist: google-api-python-client; extra == "google-analytics"
Requires-Dist: google-auth; extra == "google-analytics"
Requires-Dist: google-analytics-admin; extra == "google-analytics"
Provides-Extra: google-books
Requires-Dist: google-api-python-client; extra == "google-books"
Requires-Dist: google-auth; extra == "google-books"
Provides-Extra: google-calendar
Requires-Dist: google-api-python-client; extra == "google-calendar"
Provides-Extra: google-content-shopping
Requires-Dist: google-api-python-client; extra == "google-content-shopping"
Requires-Dist: google-auth; extra == "google-content-shopping"
Provides-Extra: google-fit
Requires-Dist: google; extra == "google-fit"
Requires-Dist: google-auth; extra == "google-fit"
Requires-Dist: tzlocal; extra == "google-fit"
Requires-Dist: google-api-python-client; extra == "google-fit"
Requires-Dist: google-auth-oauthlib; extra == "google-fit"
Provides-Extra: google-gemini
Requires-Dist: pillow; extra == "google-gemini"
Requires-Dist: google-generativeai==0.3.2; extra == "google-gemini"
Provides-Extra: google-search
Requires-Dist: google-auth; extra == "google-search"
Requires-Dist: protobuf>=4.25.8; extra == "google-search"
Requires-Dist: zipp>=3.19.1; extra == "google-search"
Requires-Dist: urllib3>=2.2.2; extra == "google-search"
Requires-Dist: google-api-python-client; extra == "google-search"
Provides-Extra: greptimedb
Requires-Dist: mysql-connector-python==9.1.0; extra == "greptimedb"
Provides-Extra: groq
Requires-Dist: tiktoken; extra == "groq"
Requires-Dist: pydantic-settings>=2.1.0; extra == "groq"
Provides-Extra: hackernews
Provides-Extra: hana
Requires-Dist: sqlalchemy-hana; extra == "hana"
Requires-Dist: hdbcli; extra == "hana"
Provides-Extra: hive
Requires-Dist: thrift; extra == "hive"
Requires-Dist: pyhive; extra == "hive"
Requires-Dist: thrift-sasl; extra == "hive"
Provides-Extra: hsqldb
Requires-Dist: pyodbc==4.0.34; extra == "hsqldb"
Provides-Extra: hubspot
Requires-Dist: hubspot-api-client==12.0.0; extra == "hubspot"
Provides-Extra: huggingface-api
Requires-Dist: filelock>=3.20.3; extra == "huggingface-api"
Requires-Dist: huggingface-hub; extra == "huggingface-api"
Requires-Dist: hugging_py_face; extra == "huggingface-api"
Provides-Extra: huggingface
Requires-Dist: datasets==2.16.1; extra == "huggingface"
Requires-Dist: torch==2.8.0; extra == "huggingface"
Requires-Dist: nltk==3.9.1; extra == "huggingface"
Requires-Dist: evaluate==0.4.3; extra == "huggingface"
Requires-Dist: huggingface-hub==0.29.3; extra == "huggingface"
Requires-Dist: transformers>=4.42.4; extra == "huggingface"
Provides-Extra: huggingface-cpu
Requires-Dist: datasets==2.16.1; extra == "huggingface-cpu"
Requires-Dist: torch==2.8.0+cpu; extra == "huggingface-cpu"
Requires-Dist: nltk==3.9.1; extra == "huggingface-cpu"
Requires-Dist: evaluate==0.4.3; extra == "huggingface-cpu"
Requires-Dist: huggingface-hub==0.29.3; extra == "huggingface-cpu"
Requires-Dist: transformers>=4.42.4; extra == "huggingface-cpu"
Provides-Extra: ibm-cos
Requires-Dist: ibm-cos-sdk; extra == "ibm-cos"
Provides-Extra: ignite
Requires-Dist: pyignite; extra == "ignite"
Provides-Extra: impala
Requires-Dist: impyla; extra == "impala"
Provides-Extra: influxdb
Requires-Dist: influxdb3-python; extra == "influxdb"
Requires-Dist: urllib3>=2.6.3; extra == "influxdb"
Provides-Extra: informix
Requires-Dist: sqlalchemy-informix; extra == "informix"
Provides-Extra: ingres
Requires-Dist: sqlalchemy-ingres[all]; extra == "ingres"
Requires-Dist: pyodbc; extra == "ingres"
Provides-Extra: instatus
Provides-Extra: intercom
Provides-Extra: jira
Requires-Dist: atlassian-python-api; extra == "jira"
Provides-Extra: kinetica
Provides-Extra: lancedb
Requires-Dist: lance; extra == "lancedb"
Requires-Dist: lancedb~=0.3.1; extra == "lancedb"
Provides-Extra: libsql
Requires-Dist: libsql-experimental; extra == "libsql"
Provides-Extra: lightdash
Provides-Extra: lindorm
Requires-Dist: pyphoenix; extra == "lindorm"
Requires-Dist: protobuf==4.25.8; extra == "lindorm"
Requires-Dist: phoenixdb; extra == "lindorm"
Provides-Extra: litellm
Requires-Dist: litellm==1.80.8; extra == "litellm"
Provides-Extra: llama-index
Requires-Dist: llama-index-embeddings-openai; extra == "llama-index"
Requires-Dist: llama-index-readers-web; extra == "llama-index"
Requires-Dist: pydantic-settings>=2.1.0; extra == "llama-index"
Requires-Dist: llama-index==0.13.0; extra == "llama-index"
Provides-Extra: luma
Provides-Extra: mariadb
Requires-Dist: mysql-connector-python==9.1.0; extra == "mariadb"
Provides-Extra: materialize
Provides-Extra: matrixone
Requires-Dist: pymysql; extra == "matrixone"
Provides-Extra: maxdb
Requires-Dist: jaydebeapi; extra == "maxdb"
Provides-Extra: mediawiki
Requires-Dist: mediawikiapi; extra == "mediawiki"
Provides-Extra: mendeley
Requires-Dist: mendeley; extra == "mendeley"
Provides-Extra: milvus
Requires-Dist: pymilvus==2.3; extra == "milvus"
Provides-Extra: mlflow
Requires-Dist: mlflow; extra == "mlflow"
Requires-Dist: sqlparse>=0.5.4; extra == "mlflow"
Provides-Extra: monetdb
Requires-Dist: pymonetdb; extra == "monetdb"
Requires-Dist: sqlalchemy-monetdb; extra == "monetdb"
Provides-Extra: mongodb
Requires-Dist: pymongo==4.8.0; extra == "mongodb"
Provides-Extra: ms-one-drive
Requires-Dist: msal; extra == "ms-one-drive"
Provides-Extra: ms-teams
Requires-Dist: botbuilder-schema; extra == "ms-teams"
Requires-Dist: botframework-connector; extra == "ms-teams"
Requires-Dist: msal; extra == "ms-teams"
Provides-Extra: mssql
Requires-Dist: pymssql>=2.1.4; extra == "mssql"
Provides-Extra: mssql-odbc
Requires-Dist: pyodbc>=5.2.0; extra == "mssql-odbc"
Requires-Dist: pymssql>=2.1.4; extra == "mssql-odbc"
Provides-Extra: mysql
Requires-Dist: mysql-connector-python==9.1.0; extra == "mysql"
Provides-Extra: netsuite
Requires-Dist: requests-oauthlib>=1.3.1; extra == "netsuite"
Provides-Extra: newsapi
Requires-Dist: newsapi-python; extra == "newsapi"
Provides-Extra: notion
Requires-Dist: notion-client; extra == "notion"
Provides-Extra: npm
Provides-Extra: nuo-jdbc
Requires-Dist: jaydebeapi; extra == "nuo-jdbc"
Provides-Extra: oceanbase
Requires-Dist: mysql-connector-python==9.1.0; extra == "oceanbase"
Provides-Extra: oilpriceapi
Provides-Extra: ollama
Provides-Extra: openai
Requires-Dist: tiktoken; extra == "openai"
Provides-Extra: openbb
Requires-Dist: openbb-core==1.3.1; extra == "openbb"
Requires-Dist: openbb==4.3.1; extra == "openbb"
Provides-Extra: opengauss
Provides-Extra: openstreetmap
Requires-Dist: overpy; extra == "openstreetmap"
Provides-Extra: oracle
Requires-Dist: oracledb==3.3.0; extra == "oracle"
Provides-Extra: orioledb
Provides-Extra: palm
Requires-Dist: google-generativeai>=0.1.0; extra == "palm"
Provides-Extra: paypal
Requires-Dist: paypalrestsdk; extra == "paypal"
Provides-Extra: pgvector
Requires-Dist: pgvector==0.3.6; extra == "pgvector"
Provides-Extra: phoenix
Requires-Dist: pyphoenix; extra == "phoenix"
Requires-Dist: phoenixdb; extra == "phoenix"
Provides-Extra: pinecone
Requires-Dist: pinecone-client==5.0.1; extra == "pinecone"
Provides-Extra: pinot
Requires-Dist: pinotdb; extra == "pinot"
Provides-Extra: pirateweather
Provides-Extra: plaid
Requires-Dist: urllib3>=2.6.0; extra == "plaid"
Requires-Dist: plaid-python; extra == "plaid"
Provides-Extra: planetscale
Requires-Dist: mysql-connector-python==9.1.0; extra == "planetscale"
Provides-Extra: portkey
Requires-Dist: portkey-ai>=1.8.2; extra == "portkey"
Provides-Extra: postgres
Provides-Extra: pycaret
Requires-Dist: pycaret[models]; extra == "pycaret"
Requires-Dist: pycaret; extra == "pycaret"
Provides-Extra: pypi
Provides-Extra: qdrant
Requires-Dist: urllib3>=2.6.0; extra == "qdrant"
Requires-Dist: qdrant-client; extra == "qdrant"
Provides-Extra: questdb
Requires-Dist: questdb; extra == "questdb"
Provides-Extra: quickbooks
Requires-Dist: qbosdk; extra == "quickbooks"
Provides-Extra: ray-serve
Provides-Extra: reddit
Requires-Dist: praw; extra == "reddit"
Provides-Extra: redshift
Provides-Extra: rocket-chat
Requires-Dist: urllib3>=2.6.0; extra == "rocket-chat"
Requires-Dist: rocketchat_API; extra == "rocket-chat"
Provides-Extra: rockset
Requires-Dist: mysql-connector-python==9.1.0; extra == "rockset"
Provides-Extra: s3
Provides-Extra: salesforce
Requires-Dist: salesforce_api==0.1.45; extra == "salesforce"
Provides-Extra: sap-erp
Provides-Extra: scylla
Requires-Dist: scylla-driver; extra == "scylla"
Provides-Extra: sendinblue
Requires-Dist: sib_api_v3_sdk; extra == "sendinblue"
Requires-Dist: urllib3>=2.6.0; extra == "sendinblue"
Provides-Extra: serpstack
Provides-Extra: sharepoint
Provides-Extra: sheets
Provides-Extra: shopify
Requires-Dist: ShopifyAPI; extra == "shopify"
Provides-Extra: singlestore
Requires-Dist: mysql-connector-python==9.1.0; extra == "singlestore"
Provides-Extra: slack
Requires-Dist: slack_sdk==3.30.0; extra == "slack"
Provides-Extra: snowflake
Requires-Dist: snowflake-sqlalchemy==1.7.0; extra == "snowflake"
Requires-Dist: snowflake-connector-python[pandas]==3.15.0; extra == "snowflake"
Provides-Extra: solace
Requires-Dist: solace-pubsubplus; extra == "solace"
Provides-Extra: solr
Requires-Dist: sqlalchemy-solr; extra == "solr"
Requires-Dist: sqlparse>=0.5.4; extra == "solr"
Provides-Extra: sqlany
Requires-Dist: sqlanydb; extra == "sqlany"
Requires-Dist: sqlalchemy-sqlany; extra == "sqlany"
Provides-Extra: sqlite
Provides-Extra: sqreamdb
Requires-Dist: pysqream_sqlalchemy>=0.8; extra == "sqreamdb"
Requires-Dist: pysqream>=3.2.5; extra == "sqreamdb"
Provides-Extra: starrocks
Requires-Dist: mysql-connector-python==9.1.0; extra == "starrocks"
Provides-Extra: strapi
Provides-Extra: strava
Requires-Dist: stravalib; extra == "strava"
Requires-Dist: urllib3>=2.2.2; extra == "strava"
Provides-Extra: stripe
Requires-Dist: stripe; extra == "stripe"
Provides-Extra: supabase
Provides-Extra: surrealdb
Requires-Dist: pysurrealdb; extra == "surrealdb"
Provides-Extra: symbl
Requires-Dist: symbl; extra == "symbl"
Provides-Extra: tdengine
Requires-Dist: requests>=2.32.4; extra == "tdengine"
Requires-Dist: taospy; extra == "tdengine"
Requires-Dist: urllib3>=2.5.0; extra == "tdengine"
Provides-Extra: teradata
Requires-Dist: teradatasql; extra == "teradata"
Requires-Dist: teradatasqlalchemy; extra == "teradata"
Provides-Extra: tidb
Requires-Dist: mysql-connector-python==9.1.0; extra == "tidb"
Provides-Extra: timescaledb
Provides-Extra: trino
Requires-Dist: trino~=0.313.0; extra == "trino"
Requires-Dist: pyhive; extra == "trino"
Provides-Extra: tripadvisor
Provides-Extra: twilio
Requires-Dist: twilio; extra == "twilio"
Provides-Extra: twitter
Requires-Dist: tweepy; extra == "twitter"
Provides-Extra: vertex
Requires-Dist: google-cloud-aiplatform>=1.35.0; extra == "vertex"
Provides-Extra: vertica
Requires-Dist: vertica-python; extra == "vertica"
Requires-Dist: sqlalchemy-vertica-python; extra == "vertica"
Provides-Extra: vitess
Requires-Dist: mysql-connector-python==9.1.0; extra == "vitess"
Provides-Extra: weaviate
Requires-Dist: weaviate-client~=3.24.2; extra == "weaviate"
Provides-Extra: web
Requires-Dist: html2text; extra == "web"
Provides-Extra: webz
Requires-Dist: dotty-dict==1.3.1; extra == "webz"
Requires-Dist: webzio==1.0.2; extra == "webz"
Provides-Extra: whatsapp
Requires-Dist: twilio; extra == "whatsapp"
Provides-Extra: xata
Requires-Dist: xata; extra == "xata"
Provides-Extra: youtube
Requires-Dist: google-api-python-client; extra == "youtube"
Requires-Dist: youtube-transcript-api; extra == "youtube"
Provides-Extra: yugabyte
Provides-Extra: zendesk
Requires-Dist: zenpy; extra == "zendesk"
Provides-Extra: zipcodebase
Provides-Extra: zotero
Requires-Dist: pyzotero; extra == "zotero"
Provides-Extra: all-handlers-extras
Requires-Dist: anthropic==0.18.1; extra == "all-handlers-extras"
Requires-Dist: nltk==3.9.1; extra == "all-handlers-extras"
Requires-Dist: pyodbc>=5.0.0; sys_platform == "win32" and extra == "all-handlers-extras"
Requires-Dist: questdb; extra == "all-handlers-extras"
Requires-Dist: ibm-db-sa; extra == "all-handlers-extras"
Requires-Dist: azure-storage-blob; extra == "all-handlers-extras"
Requires-Dist: sqlalchemy_dremio; extra == "all-handlers-extras"
Requires-Dist: clickhouse-sqlalchemy>=0.3.1; extra == "all-handlers-extras"
Requires-Dist: torch==2.8.0+cpu; extra == "all-handlers-extras"
Requires-Dist: protobuf>=4.25.8; extra == "all-handlers-extras"
Requires-Dist: sqlalchemy-cratedb; extra == "all-handlers-extras"
Requires-Dist: pycaret; extra == "all-handlers-extras"
Requires-Dist: sqlalchemy-bigquery; extra == "all-handlers-extras"
Requires-Dist: virtualenv; extra == "all-handlers-extras"
Requires-Dist: urllib3>=2.2.2; extra == "all-handlers-extras"
Requires-Dist: chardet; extra == "all-handlers-extras"
Requires-Dist: litellm==1.80.8; extra == "all-handlers-extras"
Requires-Dist: sqlalchemy-firebird<3.0.0,>=2.0.0; extra == "all-handlers-extras"
Requires-Dist: google-cloud-spanner; extra == "all-handlers-extras"
Requires-Dist: notion-client; extra == "all-handlers-extras"
Requires-Dist: snowflake-sqlalchemy==1.7.0; extra == "all-handlers-extras"
Requires-Dist: couchbase==4.3.1; extra == "all-handlers-extras"
Requires-Dist: pyphoenix; extra == "all-handlers-extras"
Requires-Dist: google-cloud-storage; extra == "all-handlers-extras"
Requires-Dist: teradatasqlalchemy; extra == "all-handlers-extras"
Requires-Dist: faiss-cpu>=1.7.4; extra == "all-handlers-extras"
Requires-Dist: fdb; extra == "all-handlers-extras"
Requires-Dist: snowflake-connector-python[pandas]==3.15.0; extra == "all-handlers-extras"
Requires-Dist: sqlalchemy-sqlany; extra == "all-handlers-extras"
Requires-Dist: onnxruntime==1.20.1; extra == "all-handlers-extras"
Requires-Dist: fsspec; extra == "all-handlers-extras"
Requires-Dist: oracledb==3.3.0; extra == "all-handlers-extras"
Requires-Dist: tiktoken; extra == "all-handlers-extras"
Requires-Dist: aerospike~=13.0.0; extra == "all-handlers-extras"
Requires-Dist: lancedb~=0.3.1; extra == "all-handlers-extras"
Requires-Dist: pymilvus==2.3; extra == "all-handlers-extras"
Requires-Dist: symbl; extra == "all-handlers-extras"
Requires-Dist: protobuf==4.25.8; extra == "all-handlers-extras"
Requires-Dist: requests>=2.32.4; extra == "all-handlers-extras"
Requires-Dist: ibm-db; extra == "all-handlers-extras"
Requires-Dist: pymongo==4.8.0; extra == "all-handlers-extras"
Requires-Dist: slack_sdk==3.30.0; extra == "all-handlers-extras"
Requires-Dist: sqlalchemy-solr; extra == "all-handlers-extras"
Requires-Dist: google-generativeai==0.3.2; extra == "all-handlers-extras"
Requires-Dist: influxdb3-python; extra == "all-handlers-extras"
Requires-Dist: pydruid; extra == "all-handlers-extras"
Requires-Dist: thrift-sasl; extra == "all-handlers-extras"
Requires-Dist: torch==2.8.0; extra == "all-handlers-extras"
Requires-Dist: sqlalchemy-ingres[all]; extra == "all-handlers-extras"
Requires-Dist: zipp>=3.19.1; extra == "all-handlers-extras"
Requires-Dist: mendeley; extra == "all-handlers-extras"
Requires-Dist: jaydebeapi; extra == "all-handlers-extras"
Requires-Dist: salesforce_api==0.1.45; extra == "all-handlers-extras"
Requires-Dist: phoenixdb; extra == "all-handlers-extras"
Requires-Dist: ckanapi; extra == "all-handlers-extras"
Requires-Dist: thrift; extra == "all-handlers-extras"
Requires-Dist: trino~=0.313.0; extra == "all-handlers-extras"
Requires-Dist: pydantic-settings>=2.1.0; extra == "all-handlers-extras"
Requires-Dist: rocketchat_API; extra == "all-handlers-extras"
Requires-Dist: sqlanydb; extra == "all-handlers-extras"
Requires-Dist: google-analytics-admin; extra == "all-handlers-extras"
Requires-Dist: eventbrite-python; extra == "all-handlers-extras"
Requires-Dist: sib_api_v3_sdk; extra == "all-handlers-extras"
Requires-Dist: filelock>=3.20.3; extra == "all-handlers-extras"
Requires-Dist: ibm-cos-sdk; extra == "all-handlers-extras"
Requires-Dist: openbb==4.3.1; extra == "all-handlers-extras"
Requires-Dist: weaviate-client~=3.24.2; extra == "all-handlers-extras"
Requires-Dist: zenpy; extra == "all-handlers-extras"
Requires-Dist: pillow; extra == "all-handlers-extras"
Requires-Dist: urllib3>=2.5.0; extra == "all-handlers-extras"
Requires-Dist: dotty-dict==1.3.1; extra == "all-handlers-extras"
Requires-Dist: impyla; extra == "all-handlers-extras"
Requires-Dist: portkey-ai>=1.8.2; extra == "all-handlers-extras"
Requires-Dist: vertica-python; extra == "all-handlers-extras"
Requires-Dist: gcsfs; extra == "all-handlers-extras"
Requires-Dist: qdrant-client; extra == "all-handlers-extras"
Requires-Dist: sqlalchemy-vertica-python; extra == "all-handlers-extras"
Requires-Dist: pysurrealdb; extra == "all-handlers-extras"
Requires-Dist: sqlalchemy-hana; extra == "all-handlers-extras"
Requires-Dist: binance-connector; extra == "all-handlers-extras"
Requires-Dist: sqlalchemy-monetdb; extra == "all-handlers-extras"
Requires-Dist: pyodbc>=5.2.0; extra == "all-handlers-extras"
Requires-Dist: pycaret[models]; extra == "all-handlers-extras"
Requires-Dist: sqlalchemy-spanner; extra == "all-handlers-extras"
Requires-Dist: faunadb; extra == "all-handlers-extras"
Requires-Dist: botframework-connector; extra == "all-handlers-extras"
Requires-Dist: overpy; extra == "all-handlers-extras"
Requires-Dist: sqlparse>=0.5.4; extra == "all-handlers-extras"
Requires-Dist: google; extra == "all-handlers-extras"
Requires-Dist: google-generativeai>=0.1.0; extra == "all-handlers-extras"
Requires-Dist: databend-sqlalchemy; extra == "all-handlers-extras"
Requires-Dist: xata; extra == "all-handlers-extras"
Requires-Dist: pyodbc; extra == "all-handlers-extras"
Requires-Dist: plaid-python; extra == "all-handlers-extras"
Requires-Dist: newsapi-python; extra == "all-handlers-extras"
Requires-Dist: requests-oauthlib>=1.3.1; extra == "all-handlers-extras"
Requires-Dist: paypalrestsdk; extra == "all-handlers-extras"
Requires-Dist: pinecone-client==5.0.1; extra == "all-handlers-extras"
Requires-Dist: pymonetdb; extra == "all-handlers-extras"
Requires-Dist: teradatasql; extra == "all-handlers-extras"
Requires-Dist: pinotdb; extra == "all-handlers-extras"
Requires-Dist: botbuilder-schema; extra == "all-handlers-extras"
Requires-Dist: atlassian-python-api; extra == "all-handlers-extras"
Requires-Dist: elasticsearch<9.0.0,>=8.0.0; extra == "all-handlers-extras"
Requires-Dist: webzio==1.0.2; extra == "all-handlers-extras"
Requires-Dist: pyodbc==4.0.34; extra == "all-handlers-extras"
Requires-Dist: pysqream_sqlalchemy>=0.8; extra == "all-handlers-extras"
Requires-Dist: twilio; extra == "all-handlers-extras"
Requires-Dist: dropbox; extra == "all-handlers-extras"
Requires-Dist: datasets==2.16.1; extra == "all-handlers-extras"
Requires-Dist: stripe; extra == "all-handlers-extras"
Requires-Dist: azure-core>=1.38.0; extra == "all-handlers-extras"
Requires-Dist: portalocker; extra == "all-handlers-extras"
Requires-Dist: stravalib; extra == "all-handlers-extras"
Requires-Dist: crate; extra == "all-handlers-extras"
Requires-Dist: lance; extra == "all-handlers-extras"
Requires-Dist: python-gitlab; extra == "all-handlers-extras"
Requires-Dist: transformers>=4.42.4; extra == "all-handlers-extras"
Requires-Dist: pyignite; extra == "all-handlers-extras"
Requires-Dist: google-cloud-aiplatform>=1.35.0; extra == "all-handlers-extras"
Requires-Dist: pysqream>=3.2.5; extra == "all-handlers-extras"
Requires-Dist: pyzotero; extra == "all-handlers-extras"
Requires-Dist: html2text; extra == "all-handlers-extras"
Requires-Dist: llama-index-embeddings-openai; extra == "all-handlers-extras"
Requires-Dist: taospy; extra == "all-handlers-extras"
Requires-Dist: evaluate==0.4.3; extra == "all-handlers-extras"
Requires-Dist: aiohttp>=3.13.3; extra == "all-handlers-extras"
Requires-Dist: praw; extra == "all-handlers-extras"
Requires-Dist: google-api-python-client; extra == "all-handlers-extras"
Requires-Dist: pymysql; extra == "all-handlers-extras"
Requires-Dist: chromadb~=0.6.3; extra == "all-handlers-extras"
Requires-Dist: llama-index==0.13.0; extra == "all-handlers-extras"
Requires-Dist: huggingface-hub; extra == "all-handlers-extras"
Requires-Dist: pymssql>=2.1.4; extra == "all-handlers-extras"
Requires-Dist: google-auth; extra == "all-handlers-extras"
Requires-Dist: pygithub==2.6.1; extra == "all-handlers-extras"
Requires-Dist: msal; extra == "all-handlers-extras"
Requires-Dist: sqlalchemy-informix; extra == "all-handlers-extras"
Requires-Dist: youtube-transcript-api; extra == "all-handlers-extras"
Requires-Dist: ShopifyAPI; extra == "all-handlers-extras"
Requires-Dist: hdbcli; extra == "all-handlers-extras"
Requires-Dist: google-auth-oauthlib; extra == "all-handlers-extras"
Requires-Dist: solace-pubsubplus; extra == "all-handlers-extras"
Requires-Dist: urllib3>=2.6.3; extra == "all-handlers-extras"
Requires-Dist: openbb-core==1.3.1; extra == "all-handlers-extras"
Requires-Dist: qbosdk; extra == "all-handlers-extras"
Requires-Dist: databricks-sql-connector<4.0.0,>=3.7.1; extra == "all-handlers-extras"
Requires-Dist: libsql-experimental; extra == "all-handlers-extras"
Requires-Dist: mediawikiapi; extra == "all-handlers-extras"
Requires-Dist: scikit-learn==1.5.2; extra == "all-handlers-extras"
Requires-Dist: pgvector==0.3.6; extra == "all-handlers-extras"
Requires-Dist: google-cloud-bigquery[pandas]; extra == "all-handlers-extras"
Requires-Dist: hubspot-api-client==12.0.0; extra == "all-handlers-extras"
Requires-Dist: sqlalchemy-access>=2.0.0; sys_platform == "win32" and extra == "all-handlers-extras"
Requires-Dist: scylla-driver; extra == "all-handlers-extras"
Requires-Dist: tzlocal; extra == "all-handlers-extras"
Requires-Dist: pyhive; extra == "all-handlers-extras"
Requires-Dist: llama-index-readers-web; extra == "all-handlers-extras"
Requires-Dist: urllib3>=2.6.0; extra == "all-handlers-extras"
Requires-Dist: mlflow; extra == "all-handlers-extras"
Requires-Dist: huggingface-hub==0.29.3; extra == "all-handlers-extras"
Requires-Dist: cohere==4.5.1; extra == "all-handlers-extras"
Requires-Dist: hugging_py_face; extra == "all-handlers-extras"
Requires-Dist: tweepy; extra == "all-handlers-extras"
Requires-Dist: mysql-connector-python==9.1.0; 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://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 is a popular open-source query engine for AI analytics, powering AI agents that need to answer questions directly from databases, data warehouses, and applications, with no ETL required.

<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>

## What you can build with MindsDB Query Engine

| 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://www.youtube.com/watch?v=QIdPpzcaxXg">Watch video</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 works

MindsDB 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>
