Skip to content

v6: JSON codec — records <-> bytes, type handling #40

Description

@Pandys

_codec.py: the data-plane encoding used by all DataFrame flows. Deliberately pandas-independent (records in/records out) so Arrow/polars surfaces stay additive.

  • records -> JSON bytes for InsertRequest.data / update / delete payloads; chunked (~2500 rows default, matching 5.x behaviour)
  • AggregateResponse.data JSON bytes -> records
  • NaN/NaT -> JSON null; timestamps -> ISO-8601; document _id handling (kept as regular column for round-trips)
  • Pipeline encoding follows the API rules: BSON-encoded Mongo pipeline for Mongo-backed collections, JSON-encoded Elastic DSL for Elastic-backed (server picks backend from the collection's storage descriptor)
  • Mongo Extended JSON v2 forms (ObjectID, Date) parsed to sensible Python types

Metadata

Metadata

Assignees

Labels

enhancementNew feature or requestpriority: highDo first — core pathv6v6 rewrite (Major/6)

Type

No type

Fields

No fields configured for issues without a type.

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions