pydoris
Python interface to Doris
Decision gist · record as of 2026-08-14
Yes. Pydoris is actively maintained, carries no known vulnerabilities, has low install friction, and is licensed permissively. Install it if you need to query Apache Doris from Python—it's the standard SQLAlchemy dialect for that purpose. No significant blockers.AI-flagged interpretation of the facts on this page — verify before relying
Before you install
- Requires Python 3.7 or later; mysqlclient dependency may require system libraries for compilation on some platforms.
- Low install friction with a pure-Python wheel distribution.
- The package is actively maintained with a recent release and carries a high star count on its repository, suggesting stable community adoption.
License · maintenance · safety
Apache 2.0 (permissive) — Licensed under Apache 2.0 (permissive), which allows commercial use, modification, and distribution with minimal restrictions—suitable for most production and proprietary projects.
last release 2026-03-17 (150 days) · last repo commit 2026-08-14 · 15,768 stars
0 known vulnerabilities (OSV.dev, 2026-08-14) · 135,373 downloads/mo, #11,435 on PyPI
Alternatives
Verify before relying
pip install pydoris
from sqlalchemy import create_engine, text
engine = create_engine('doris://root:password@localhost:9030/catalog.database')
connection = engine.connect()
rows = connection.execute(text("SELECT * FROM table")).fetchall()- Whether the package supports connection pooling or concurrent query execution patterns.
- Performance characteristics and query timeout behavior when working with large result sets.
- Whether SQLAlchemy ORM features (not just raw SQL) are fully supported through this dialect.
What it is and what it does
Pydoris bridges Python applications to Apache Doris, an MPP analytical database designed for sub-second query response times on large datasets. It provides a SQLAlchemy dialect that lets you connect using standard SQLAlchemy patterns—create_engine with a doris:// URL, then execute queries through the connection object. The package depends on sqlalchemy, sqlalchemy-utils, mysqlclient, and requests, making it a thin wrapper around Doris's wire protocol.
You use it when you need Python code to query Doris for reporting, ad-hoc analysis, or data lake acceleration. It's not an ORM layer but a database driver: you write SQL or use SQLAlchemy's text() construct to run queries and fetch results. The package requires Python 3.7 or later and is marked as production-stable.
Use it for
- Connect a Python analytics or reporting application to Doris for real-time query execution.
- Build ETL pipelines that read from Doris using SQLAlchemy's connection and metadata introspection.
- Execute ad-hoc SQL queries against a Doris cluster from Python scripts or Jupyter notebooks.
- Integrate Doris as a backend for a data warehouse or data lake query layer in a larger Python service.
Worth the install?
AI-flagged interpretation of the facts on this page. Verify before relying on it.
Yes.
Pydoris is actively maintained, carries no known vulnerabilities, has low install friction, and is licensed permissively. Install it if you need to query Apache Doris from Python—it's the standard SQLAlchemy dialect for that purpose. No significant blockers.
Install
pydoris on PyPI
Before you install
Low install friction with a pure-Python wheel distribution. The package is actively maintained with a recent release and carries a high star count on its repository, suggesting stable community adoption.
Requires Python 3.7 or later; mysqlclient dependency may require system libraries for compilation on some platforms.
License in practice
Licensed under Apache 2.0 (permissive), which allows commercial use, modification, and distribution with minimal restrictions—suitable for most production and proprietary projects.
Quickstart
pip install pydoris
from sqlalchemy import create_engine, text
engine = create_engine('doris://root:password@localhost:9030/catalog.database')
connection = engine.connect()
rows = connection.execute(text("SELECT * FROM table")).fetchall()
Verify before relying
- Whether the package supports connection pooling or concurrent query execution patterns.
- Performance characteristics and query timeout behavior when working with large result sets.
- Whether SQLAlchemy ORM features (not just raw SQL) are fully supported through this dialect.
Package facts
| License | Apache 2.0 permissive |
| Python support | Supports the current Python release >=3.7 |
| Install friction | Low. Pure-Python wheel |
| Runtime dependencies | 4 packagessqlalchemysqlalchemy-utilsmysqlclientrequests |
| Maintenance | Actively maintained 150 days since the last release |
| Last repo commit | |
| First released | |
| Downloads | 135,373 / month, #11,435 on PyPI 30-day window, as of 2026-08-14 |
| Known vulnerabilities | None known OSV.dev, checked 2026-08-14 |
| Classifiers | Development Status :: 5 - Production/StableEnvironment :: ConsoleIntended Audience :: DevelopersLicense :: OSI Approved :: Apache Software LicenseProgramming Language :: PythonProgramming Language :: Python :: 3Programming Language :: Python :: Implementation :: CPythonProgramming Language :: Python :: Implementation :: PyPyTopic :: Database :: Front-Ends |
Evidence: pydoris-1.2.0-py3-none-any.whl
Tags
Let your AI agent find packages like this
Example. Real query, live index.
You found this page by searching. An agent finds it by wishing: SkillFed indexes 14,416 PyPI packages by what they can do, searchable in plain language.
wish › “apache doris python client”
- pydorisPydoris is a Python client for Apache Doris that enables…
- pydoris-customA Python client for Apache Doris that provides SQLAlchemy integration…
- myclimycli is a command-line client for MySQL and compatible databases…
Give your agent the search over MCP, or paste the wish link into any chat.
More Front-Ends packages
SQLAlchemy is a Python SQL toolkit and Object Relational Mapper (ORM) that provides both a high-level ORM layer for declarative object persistence and a Core SQL construction system for direct database abstraction and query building.
psycopg2-binary is a PostgreSQL database adapter for Python that implements the DB API 2.0 specification, enabling Python applications to connect to and query PostgreSQL databases with thread-safe concurrent operations.
Alembic generates and manages database schema migrations for SQLAlchemy applications, handling version control of database structure changes with support for upgrades, downgrades, and auto-generation from model changes.
Install it if you use SQLAlchemy and need to version-control schema changes; skip it only if you manage migrations manually or use a different ORM entirely.
A Python client library for connecting to and querying Weaviate, a vector database that enables semantic search and AI-powered data retrieval.
A Python client library that connects to Databricks clusters and SQL warehouses using a Thrift-based protocol, conforming to the Python DB API 2.0 specification and supporting Arrow-based data exchange.
Install it if you need to query Databricks clusters or SQL warehouses from Python.
Psycopg 3 is a PostgreSQL database adapter for Python that enables applications to connect to, query, and manage PostgreSQL databases using Python code.
Install it if you need to connect Python to PostgreSQL.
See also pydoris-custom · trino · PyHive · databricks-dbapi · sqlalchemy-jdbcapi · pinotdb · pyathenajdbc · starrocks · sqlalchemy-spanner