-
Type:
Task
-
Resolution: Unresolved
-
Priority:
Major - P3
-
None
-
Affects Version/s: None
-
Component/s: None
Context
PYTHON-6162 investigates re-platforming PyMongo onto the shared Rust core. To size that work, this audit compares what PyMongo implements today against what the Rust driver offers, and verifies every claim against current RUST ticket state and upstream sources.
Definition of done
- The Rust driver's feature and API gaps, named, each with its existing RUST (preferred) or CDRIVER ticket.
- The resolution policy (does the Python team implement Rust features, or keep a Python solution)
- Findings summarized on this ticket and reflected on PYTHON-6162.
Headline results (2026-11-04)
- Three Rust-driver gaps: OCSP (declined upstream,
RUST-361Won't Do), cancellation across the operation path (roadmap, design exists), and collection-level bulk write (removed in the 3.0 redesign,RUST-1282). - Six further blockers for a wrapper, five of them unshimmable: change streams, CSFLE/QE, the listener suite, the logging bridge, OIDC/AWS auth callbacks, and client-level bulk write.
- PYTHON-6208's early results point to a PyO3-based error converter layer; the integration model is still being evaluated.
Pitfalls
- Documented gap lists go stale fast; re-verify against current RUST Jira state before filing anything.
- Anything requiring core-internal state (pool, topology, command execution, credentials) has no Python-side shim; treat those as hard blockers, not backfill work.
- The integration model is not settled; keep resolutions valid under any model.