IKAREMIKAREM v1.4.0

IKAREM-BACKUP

Backups that prove they restore.

pip install ikarem-backup — online dumps of live SQLite files, a restore drill on every run, retention pruning, and an upload hook for S3 or anywhere. Stdlib only. Part of IKAREM extensions.

BackupManager("sqlite:///app.db", "backups/", keep=7).run()
# {"backup": "backups/app-....db.gz", "tables": [...], "pruned": [...]}

01 — DRILL

An untested backup is a rumor.

Every run opens the fresh backup read-only in a temp directory and runs integrity_check plus a table census — without touching production. Corrupt output raises with the fix instead of sitting on disk pretending to protect you. Non-SQLite engines get the native-dump remedy (pg_dump, mysqldump), not a traceback.

02 — NIGHTLY

One route, one cron line.

BackupPlugin exposes POST /admin/backup (guard it like any mutating route); a cron @app.every(86400) calling manager.run() makes it nightly. Upload stays a callable so boto3 never becomes our dependency.

FAQ

Straight answers.

Live SQLite backup? Online-backup API via one call — never file-copy a live database.

Prove it restores? Drill runs every cycle, temp dir, read-only.

S3? Uploader hook; boto3 stays yours.

KEEP GOING

Backed up? Now attack it.

ikarem-pentest probes the app the backups protect; ikarem-oauth guards its logins. Back to the extensions hub.