Skip to content

Add PostgreSQL PL/Python de-identification functions - #2167

Merged
maziyarpanahi merged 4 commits into
batch/maziyarpanahi-v22-adapters-2026-08-13from
feature/om-484-postgres-plpython-deidentify
Aug 13, 2026
Merged

Add PostgreSQL PL/Python de-identification functions#2167
maziyarpanahi merged 4 commits into
batch/maziyarpanahi-v22-adapters-2026-08-13from
feature/om-484-postgres-plpython-deidentify

Conversation

@maziyarpanahi

Copy link
Copy Markdown
Owner

Summary

Adds scalar and set-returning PostgreSQL PL/Python de-identification functions backed by OpenMed batch processing. The per-session global dictionary retains the shared model loader and its cached pipeline, while failures are reduced to PHI-free messages. The migration is transactional and idempotent, and the SQL asset is included in both source and wheel artifacts.

Validation

  • Focused integration contract tests: 4 passed.
  • Changed Python files pass repository formatting and lint checks.
  • Synthetic offline coverage includes scalar and batch redaction, null and empty values, session reuse, DDL signatures, mapping-shaped results, and PHI-safe failure handling.

Closes #841

@maziyarpanahi maziyarpanahi added roadmap-v2 OpenMed V2 roadmap backlog feature New capability P2 Medium labels Aug 4, 2026
@maziyarpanahi
maziyarpanahi changed the base branch from master to batch/maziyarpanahi-v22-adapters-2026-08-13 August 13, 2026 13:21
@maziyarpanahi
maziyarpanahi merged commit 0d50bfb into batch/maziyarpanahi-v22-adapters-2026-08-13 Aug 13, 2026
20 of 22 checks passed
maziyarpanahi added a commit that referenced this pull request Aug 13, 2026
* Add a Pandas-on-Spark accessor for distributed de-identification (#2156)

* feat: add pandas-on-Spark deidentification accessor

* fix: finish pandas-on-Spark accessor

---------

Co-authored-by: Maziyar Panahi <5762953+maziyarpanahi@users.noreply.github.com>

* Add a stream-processor map function and sink for record-level de-identification (#2157)

Co-authored-by: Maziyar Panahi <5762953+maziyarpanahi@users.noreply.github.com>

* Add an Arrow Flight de-identification service over record batches (#2158)

* feat: add Arrow Flight de-identification service

* fix: register Arrow Flight guide for publication

---------

Co-authored-by: Maziyar Panahi <5762953+maziyarpanahi@users.noreply.github.com>

* feat: add Dataflow bundle processor (#2159)

* feat: add Dataflow bundle processor

* fix: align Dataflow dependency policy

* fix: isolate Dataflow runtime dependency

---------

Co-authored-by: Maziyar Panahi <5762953+maziyarpanahi@users.noreply.github.com>

* Add a Ray Data map-batches de-identification stage with shared model actors (#2160)

* feat: add Ray map-batches de-identification

* fix: harden Ray batch de-identification

---------

Co-authored-by: Maziyar Panahi <5762953+maziyarpanahi@users.noreply.github.com>

* Add a distributed SQL engine UDF plugin for in-query de-identification (#2166)

* feat: add distributed SQL de-identification UDF

* fix: register distributed SQL guide for publication

---------

Co-authored-by: Maziyar Panahi <5762953+maziyarpanahi@users.noreply.github.com>

* Add PostgreSQL PL/Python de-identification functions (#2167)

* feat: add PostgreSQL PL/Python de-identification

* fix: harden PostgreSQL de-identification results

---------

Co-authored-by: Maziyar Panahi <5762953+maziyarpanahi@users.noreply.github.com>

* Add executable UDF column redaction adapter (#2168)

* feat: add executable UDF column redaction

* fix: harden executable UDF stream results

---------

Co-authored-by: Maziyar Panahi <5762953+maziyarpanahi@users.noreply.github.com>

* Add a search-engine ingest processor for inline document redaction (#2174)

Co-authored-by: Maziyar Panahi <5762953+maziyarpanahi@users.noreply.github.com>

---------

Co-authored-by: Maziyar Panahi <5762953+maziyarpanahi@users.noreply.github.com>
@maziyarpanahi

Copy link
Copy Markdown
Owner Author

Integrated via #2688 after exact-head validation. The combined adapter batch passed 37 focused tests (8 optional-dependency skips), Ruff checks and format verification, and a strict documentation build; every intermediate and final Git tree matched the rehearsal.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

feature New capability P2 Medium roadmap-v2 OpenMed V2 roadmap backlog

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Add a PostgreSQL PL/Python function for in-database de-identification

1 participant