PIICatcher uses a catalog to store its state. For production, use a persistent catalog; for testing, a SQLite memory database is sufficient. Use scan_database to perform the scan on a registered source.
from dbcat.api import open_catalog, add_postgresql_source
from piicatcher.api import scan_database
# Initialize catalog (using :memory: for testing)
catalog = open_catalog(app_dir='/tmp/.config/piicatcher', path=':memory:', secret='my_secret')
with catalog.managed_session:
# Add a source (e.g., PostgreSQL)
source = add_postgresql_source(
catalog=catalog,
name="pg_db",
uri="127.0.0.1",
username="piiuser",
password="p11secret",
database="piidb"
)
# Run the scan
output = scan_database(catalog=catalog, source=source)
print(output)
from dbcat.api import open_catalog, add_postgresql_source
from piicatcher.api import scan_database
catalog = open_catalog(app_dir='/tmp/.config/piicatcher', path=':memory:', secret='my_secret')
with catalog.managed_session:
source = add_postgresql_source(catalog=catalog, name="pg_db", uri="127.0.0.1", username="piiuser",
password="p11secret", database="piidb")
output = scan_database(catalog=catalog, source=source)
print(output)