Installation¶
Prerequisites¶
Requirement |
Notes |
|---|---|
Python |
3.10+ (3.10–3.12 tested in CI; 3.13 untested) |
Pydantic |
v2 ( |
SQLAlchemy |
2.x ( |
SQLRules |
≥ 1.0.0, < 2 |
From PyPI¶
pip install rowguard
Extras matrix¶
Extra |
Install |
Purpose |
|---|---|---|
(none) |
|
Sync Core / ORM (SQLRules included) |
|
|
aiosqlite + greenlet for async APIs / tests |
|
|
SQLModel table-source support |
|
|
Optional |
|
|
pytest, ruff, mypy, coverage, … |
|
|
Sphinx documentation build |
Full contributor install (matches CI / make install):
pip install -e ".[dev,async,sqlmodel]"
With uv:
uv pip install rowguard
uv pip install "rowguard[async]"
uv pip install "rowguard[sqlmodel]"
Supported drivers (0.6.0)¶
Stack |
Status |
|---|---|
|
Supported / primary unit tests |
|
Supported / required async CI matrix |
PostgreSQL sync ( |
Optional extra |
|
Not required for 0.6; may work via SQLAlchemy async but is not a CI gate |
See Supported vs planned.
From source¶
git clone https://github.com/eddiethedean/rowguard.git
cd rowguard
python -m venv .venv
source .venv/bin/activate # Windows: .venv\Scripts\activate
python -m pip install -U pip
pip install -e ".[dev,async,sqlmodel]"
Verify¶
import rowguard
print(rowguard.__version__)
Documentation tooling¶
pip install -e ".[docs]"
make docs
Opens at docs/_build/html/index.html.
Common install problems¶
Resolver conflicts on Pydantic v1 — RowGuard requires Pydantic v2.
ModuleNotFoundError: aiosqlite— installrowguard[async].ModuleNotFoundError: sqlmodel— installrowguard[sqlmodel](SQLModel tests skip without it).Old sqlrules — upgrade to
sqlrules>=1.0.0,<2.Partial extras + full
pytest— usemake install(or.[dev,async,sqlmodel]) for the complete suite.
Next¶
Continue with the quickstart.