StarRocks Python Client
A StarRocks client for the Python programming language.
StarRocks is the next-generation data platform designed to make data-intensive real-time analytics fast and easy. It delivers query speeds 5 to 10 times faster than other popular solutions. StarRocks can perform real-time analytics well while updating historical records. It can also enhance real-time analytics with historical data from data lakes easily. With StarRocks, you can get rid of the de-normalized tables and get the best performance and flexibility.
Installation
pip install starrocks
SQLAlchemy Usage
To connect to StarRocks using SQLAlchemy, use a connection string (URL) following this pattern:
- User: User Name
- Password: DBPassword
- Host: StarRocks FE Host
- Catalog: Catalog Name
- Database: Database Name
- Port: StarRocks FE port
Here's what the connection string looks like:
starrocks://<User>:<Password>@<Host>:<Port>/<Catalog>.<Database>
Example
Python connector supports only Python 3 and SQLAlchemy 2:
from sqlalchemy import create_engine, Integer, insert
from sqlalchemy.schema import Table, MetaData, Column
from sqlalchemy.sql.expression import select, text
engine = create_engine('starrocks://root:xxx@localhost:9030/hive_catalog.hive_db')
### Querying data
with engine.connect() as connection:
rows = connection.execute(text("SELECT * FROM hive_table")).fetchall()
print(rows)
### DDL Operation
meta = MetaData()
tbl = Table(
'table1',
meta,
Column("id", Integer),
starrocks_engine='OLAP',
starrocks_comment='table comment',
starrocks_properties=(
("storage_medium", "SSD"),
("storage_cooldown_time", "2025-06-04 00:00:00"),
("replication_num", "1")
))
meta.create_all(engine)
### Insert data
stmt = insert(tbl).values(id=1)
stmt.compile()
with engine.connect() as connection:
connection.execute(stmt)
rows = connection.execute(tbl.select()).fetchall()
print(rows)
Metadata
Release files for starrocks 1.2.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | Actions |
|---|---|---|---|---|
| starrocks-1.2.0.tar.gz | 21.8 kB | Without provenance | Details for starrocks-1.2.0.tar.gz |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Actions Reset |
|---|---|---|---|---|
| starrocks-1.2.0-py3-none-any.whl | Python 3 | none | any | Details for starrocks-1.2.0-py3-none-any.whl |
Total release size: 45.4 kB
Release files / starrocks-1.2.0.tar.gz
| Download URL | starrocks-1.2.0.tar.gz |
|---|---|
| Size | 21.8 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
3e02a6dd2e10ff868a0fe87cf5be9cf018ddeabe980537bd40a43246bd479a52
|
|
BLAKE2b-256 checksum How to use checksums |
974d84f2aecf9298ef9a281ede2898f44c37470f20a5d765a5482a3de3ee24b6
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/3.8.0 pkginfo/1.10.0 readme-renderer/34.0 requests/2.27.1 requests-toolbelt/1.0.0 urllib3/1.26.9 tqdm/4.64.1 importlib-metadata/4.8.3 keyring/23.4.1 rfc3986/1.5.0 colorama/0.4.5 CPython/3.6.8
|
Release files / starrocks-1.2.0-py3-none-any.whl
| Download URL | starrocks-1.2.0-py3-none-any.whl |
|---|---|
| Size | 23.6 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
af7a4f3738bb30854dc231a05c734487f075bd5ec920230ecb28acd73822421c
|
|
BLAKE2b-256 checksum How to use checksums |
c3ef0e799ab3c8d71f055df177d61a2f55d297bd02c6e4c17a89f68110144697
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/3.8.0 pkginfo/1.10.0 readme-renderer/34.0 requests/2.27.1 requests-toolbelt/1.0.0 urllib3/1.26.9 tqdm/4.64.1 importlib-metadata/4.8.3 keyring/23.4.1 rfc3986/1.5.0 colorama/0.4.5 CPython/3.6.8
|
Security for starrocks 1.2.0
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.