--- id: sqlalchemy-solr version: "0.2.4.3" license: MIT License license_treatment: permissive maintenance: aging --- # sqlalchemy-solr — Apache Solr Dialect for SQLAlchemy License: permissive · Maintenance: aging · Downloads: 86.6K/mo ## 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 above — verify before relying. Provides a SQLAlchemy dialect that allows you to query Apache Solr collections using standard SQL syntax and SQLAlchemy ORM patterns. 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 pip install sqlalchemy-solr uv add sqlalchemy-solr poetry add sqlalchemy-solr ## Installing sqlalchemy-solr 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. 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) Requires Apache Solr 6.0 or higher; Solr instance must be running and accessible at the connection URL. 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_current - Install friction: low - Maintenance: aging - Downloads: 86.6K/month (top 15,000 on PyPI) - Known vulnerabilities: none known ## Tags sqlalchemy solr dialect, query solr with sql, solr database driver, apache solr sqlalchemy, solr orm integration, sql interface for solr, solr-integration, database-driver [View on SkillFed](https://skillfed.io/packages/sqlalchemy-solr) · [View on PyPI](https://pypi.org/project/sqlalchemy-solr/)