sqlalchemy-solr
Apache Solr Dialect for SQLAlchemy
Decision gist · record as of 2026-08-14
Yes, if you need to query Solr from Python using SQL or SQLAlchemy ORM and your Solr version is 6.0 or higher. The low install friction, permissive MIT license, and zero known vulnerabilities make it safe to adopt. However, the aging maintenance status (no recent commits, last release August 2024) means you should verify compatibility with your specific Solr and SQLAlchemy versions before committing to production use.AI-flagged interpretation of the facts on this page — verify before relying
Before you install
- Requires Apache Solr 6.0 or higher; Solr instance must be running and accessible at the connection URL.
- Low install friction with a pure-Python wheel.
- Maintenance status is aging—last release was 2024-08-08 and the repository shows no recent commits, though it remains active and unarchived.
License · maintenance · safety
MIT License (permissive) — MIT License permits commercial and private use with minimal restrictions, requiring only license and copyright notice retention.
last release 2024-08-08 (736 days) · last repo commit 2026-02-13 · 11 stars
0 known vulnerabilities (OSV.dev, 2026-08-14) · 86,589 downloads/mo, #13,848 on PyPI
Alternatives
Verify before relying
pip install sqlalchemy-solr
from sqlalchemy import create_engine, text
engine = create_engine('solr://solr:8983/solr/examples_books')
with engine.connect() as connection:
result = connection.execute(text("SELECT sequence_i, genre_s FROM examples_books"))
for row in result:
print(row)- Whether the aging maintenance status (736 days since release) affects compatibility with recent Solr or SQLAlchemy versions.
- Real-world performance characteristics when querying large Solr collections.
- Completeness of SQL feature support beyond the documented compatibility table.
What it is and what it does
sqlalchemy-solr is a SQLAlchemy dialect that bridges Solr search indexes to Python applications by translating SQL queries into Solr's native query syntax. It lets you treat Solr collections as database tables, enabling both raw SQL execution and SQLAlchemy ORM-style queries. The dialect handles field mapping, multi-valued fields as SQL arrays, date range filtering, and Solr aliases as virtual tables.
The package depends on sqlalchemy, python-dateutil, requests, and sqlparse to manage connection pooling, date arithmetic, HTTP communication with Solr, and SQL parsing. It supports basic and JWT authentication, optional SSL/TLS, and integrates with tools like Apache Superset. Compatibility varies by Solr version: aliases work from 6.6 onward, SQL compilation caching and built-in date range compilation are available only in Solr 9.x.
Use it for
- Connect Apache Superset to a Solr datasource for visual analytics and dashboarding without writing Solr query syntax.
- Build Python applications that query Solr collections using familiar SQLAlchemy ORM patterns instead of Solr's native query language.
- Run ad-hoc SQL SELECT queries against Solr indexes for reporting or data exploration.
- Migrate existing SQL-based applications to use Solr as a search backend with minimal code changes.
- Query Solr aliases that span multiple collections as if they were a single table with merged fields.
Worth the install?
AI-flagged interpretation of the facts on this page. Verify before relying on it.
Yes, if you need to query Solr from Python using SQL or SQLAlchemy ORM and your Solr version is 6.0 or higher.
The low install friction, permissive MIT license, and zero known vulnerabilities make it safe to adopt. However, the aging maintenance status (no recent commits, last release August 2024) means you should verify compatibility with your specific Solr and SQLAlchemy versions before committing to production use.
Install
sqlalchemy-solr on PyPI
Before you install
Low install friction with a pure-Python wheel. Maintenance status is aging—last release was 2024-08-08 and the repository shows no recent commits, though it remains active and unarchived.
Requires Apache Solr 6.0 or higher; Solr instance must be running and accessible at the connection URL.
License in practice
MIT License permits commercial and private use with minimal restrictions, requiring only license and copyright notice retention.
Quickstart
pip install sqlalchemy-solr
from sqlalchemy import create_engine, text
engine = create_engine('solr://solr:8983/solr/examples_books')
with engine.connect() as connection:
result = connection.execute(text("SELECT sequence_i, genre_s FROM examples_books"))
for row in result:
print(row)
Verify before relying
- Whether the aging maintenance status (736 days since release) affects compatibility with recent Solr or SQLAlchemy versions.
- Real-world performance characteristics when querying large Solr collections.
- Completeness of SQL feature support beyond the documented compatibility table.
Package facts
| License | MIT License permissive |
| Python support | Supports the current Python release >=3.8 |
| Install friction | Low. Pure-Python wheel |
| Runtime dependencies | 4 packagessqlalchemypython-dateutilrequestssqlparse |
| Maintenance | Aging 736 days since the last release |
| Last repo commit | |
| First released | |
| Downloads | 86,589 / month, #13,848 on PyPI 30-day window, as of 2026-08-14 |
| Known vulnerabilities | None known OSV.dev, checked 2026-08-14 |
| Classifiers | Development Status :: 4 - BetaEnvironment :: ConsoleIntended Audience :: DevelopersLicense :: OSI Approved :: MIT LicenseProgramming Language :: PythonProgramming Language :: Python :: 3Programming Language :: Python :: Implementation :: CPythonTopic :: Database :: Front-Ends |
Evidence: sqlalchemy_solr-0.2.4.3-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 › “sqlalchemy solr dialect”
- sqlalchemy-solrProvides a SQLAlchemy dialect that allows you to query Apache Solr…
- sqlalchemy-pgspiderProvides a SQLAlchemy dialect that enables connections to PGSpider…
- sqlalchemy-databricksProvides a SQLAlchemy dialect that connects to Databricks workspaces…
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 pysolr · sqlalchemy-drill · teradatasqlalchemy · sqlalchemy-hana · kylinpy · sqlalchemy_exasol · databricks-sqlalchemy · pybigquery · sqlalchemy-dremio · sqlalchemy-spanner