Skip to content

Installation

Requirements

  • Python 3.12+
  • A reachable PostgreSQL database for the online features (extraction and online profiling). Offline analysis needs only a previously generated JSON inventory.

pgcarter builds on psycopg (psycopg 3), jinja2, typer, structlog, and pyyaml. No SQLAlchemy.

Install from source

The project is currently distributed via source.

git clone git@github.com:blu3pr1n7/pgcarter.git
cd pgcarter
uv venv --python 3.12
uv pip install -e ".[dev]"
git clone https://github.com/blu3pr1n7/pgcarter.git
cd pgcarter
python3.12 -m venv .venv && . .venv/bin/activate
pip install -e ".[dev]"

This installs the package in editable mode along with the development tools (pytest, ruff, mypy).

Package install

Once published to an index, installation is the usual:

pip install pgcarter
# or with uv:
uv pip install pgcarter   # into an active venv
uv add pgcarter           # into a uv-managed project

Verify the installation

pgcarter --help
pgcarter index --help
pgcarter analyze --help

You should see the two subcommands, index and analyze.

Optional dependency groups

Extra Installs Used for
dev pytest, pytest-cov, mypy, ruff running tests, linting, type-checking
docs mkdocs-material, mkdocstrings building this documentation site locally
uv pip install -e ".[docs]"   # to build the docs site (or: pip install -e ".[docs]")

Next steps

  • Usage — run your first extraction and analysis
  • Configuration — connection and analysis settings