Skip to content

RFC 039: Pandas-familiar exploration API #73

@dannymeijer

Description

@dannymeijer

Use this issue to track InQL RFC 039, proposed in PR #60 at docs/rfcs/039_pandas_familiar_exploration_api.md.

Area

  • Specification (RFCs)
  • Documentation

Summary

RFC 039 defines a pandas-familiar exploration API for InQL while keeping Prism, Substrait IR, and adapters as InQL's semantic path.

Motivation

Many users expect familiar dataframe-style exploration affordances. InQL can support useful pandas-like spellings where they map cleanly to declarative query semantics, while rejecting row indexing, mutation, eager Series behavior, and other pandas semantics that do not fit InQL's model.

Proposal sketch

  • Support dictionary-like column access such as data["column"].
  • Support projection lists such as data[["a", "b"]].
  • Support predicate filtering such as data[predicate].
  • Add familiar aliases such as where, assign, groupby, sort_values, and head where semantics are explicit.
  • Keep unsupported pandas behavior rejected rather than approximated.

Alternatives considered

  • Keep only InQL-native query APIs.
  • Attempt full pandas compatibility.
  • Add .loc / .iloc and Series-like semantics in the initial scope.

Impact / compatibility

This should be additive. The API must remain a frontend over InQL planning and should not bypass Prism or make pandas semantics authoritative.

Implementation notes (optional)

Review PR #60 for the draft. Existing exploratory spike code remains separate from the RFC text.

Checklist

  • I checked for an existing RFC or issue covering this.
  • I can describe how this impacts existing code and how to migrate (if needed).

Metadata

Metadata

Assignees

No one assigned

    Labels

    RFCRFC design and planningdocumentationImprovements or additions to documentationspecificationdocs/rfcs/ normative RFCs

    Type

    No type
    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