Skip to content

Consider supporting method chaining to simplify query creation \ data selection \ data reading (OData Functions). #115

Description

@ktvanzwol

In the python data science ecosystem method chaining is a common way of simplifying query creation and data manipulations.

  1. Polars Expressions and Contexts
  2. Pandas has similar options

I came across a recent odata python client, odata-bc, that implemented method chaining for complex queries that resulted in very readable code:

from odata import OData, Q
from datetime import date

client = OData("http://localhost:42001/api/data-store/v1/odata")

test_results = (
    client("TestResults")
        .filter((Q("StartDateTime") >= date(2026, 1, 1)) & (Q("StartDateTime") <= date(2026, 12, 31)))
        .select("Name","StartDateTime" ,"EndDateTime" ,"Outcome", "OperatorId", "TestStationId", "Id")
        .orderby("StartDateTime")
        .fetch()
)

test_results.head()

This is just intended as illustration of the concept, the odata-bc library has its limitations with no public repository or documentations.

AB#3752518

Activity

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

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions