<#738 feat: add project/domain/created_at/updated_...
# flyte-github
a
#738 feat: add project/domain/created_at/updated_at filters to Run.listall and Action.listall Pull request opened by AdilFayyaz Summary • Added project and domain parameters to
Run.listall()
so callers can query runs across different projects without re-calling flyte.init(). Previously these were hardcoded to the global config. • Added
created_at
and
updated_at
time range filter parameters to both
Run.listall()
and
Action.listall()
, backed by a new
TimeFilter
dataclass. • Added
TimeFilter
to the
flyte.remote
public namespace so users can import it directly. • Wired
--created-after
,
--created-before
,
--updated-after
,
--updated-before
options into flyte get run, using the existing DateTimeType which accepts ISO dates, now, today, and relative expressions like now - 1 day. • All new parameters are optional - existing call sites are unaffected. Test plan • TimeFilter dataclass stores after/before bounds correctly and defaults both to None • time_filtering() produces no filters when both bounds are None • time_filtering() maps after → GREATER_THAN_OR_EQUAL and before → LESS_THAN proto filter functions • Timestamp values are serialized as ISO 8601 UTC strings • Run.listall() without project/domain falls back to global config (no behavior change) • Run.listall(project=..., domain=...) correctly overrides the ProjectIdentifier in the gRPC request • Run.listall(created_at=TimeFilter(...)) and updated_at=TimeFilter(...) appear in request.filters with correct field names and functions • Time filters compose correctly alongside existing filters (e.g. in_phase) • Action.listall() with created_at/updated_at sends correct filters on ListActionsRequest • TimeFilter is importable from flyte.remote • Manual smoke test against a live environment: Run.listall(project="", updated_at=TimeFilter(after=)) returns expected runs • CLI: flyte get run --updated-after "now - 1 day" and flyte get run --created-after 2026-03-01 --in-phase succeeded pass correct filters through to the API flyteorg/flyte-sdk