{"record":{"id":"6d0e5035d141b26e","repo":"apache/beam","slug":"op-r-is-not-implemented-yet-if-support-for-op-r-is-important","errorCode":null,"errorMessage":"{op!r} is not implemented yet. If support for {op!r} is important to you, please let the Beam community know by writing to user@beam.apache.org (see https://beam.apache.org/community/contact-us/) or commenting on {issue_url}","messagePattern":"(.+?) is not implemented yet\\. If support for (.+?) is important to you, please let the Beam community know by writing to user@beam\\.apache\\.org \\(see https://beam\\.apache\\.org/community/contact-us/\\) or commenting on (.+?)","errorType":"exception","errorClass":"NotImplementedError","httpStatus":null,"severity":"error","filePath":"sdks/python/apache_beam/dataframe/frame_base.py","lineNumber":424,"sourceCode":"      f\":meth:`{_prettify_pandas_type(base_type)}.{name}` is not yet supported \"\n      f\"in the Beam DataFrame API {reason_data['explanation']}\")\n\n  if 'url' in reason_data:\n    wrapper.__doc__ += f\"\\n\\n For more information see {reason_data['url']}.\"\n\n  return wrapper\n\n\ndef not_implemented_method(op, issue='20318', base_type=None):\n  \"\"\"Generate a stub method for ``op`` that simply raises a NotImplementedError.\n\n  For internal use only. No backwards compatibility guarantees.\"\"\"\n  assert base_type is not None, \"base_type must be specified\"\n  issue_url = f\"https://issues.apache.org/jira/{issue}.\" if issue.startswith(\n      \"BEAM-\") else f\"https://github.com/apache/beam/issues/{issue}\"\n\n  def wrapper(*args, **kwargs):\n    raise NotImplementedError(\n        f\"{op!r} is not implemented yet. \"\n        f\"If support for {op!r} is important to you, please let the Beam \"\n        \"community know by writing to user@beam.apache.org \"\n        \"(see https://beam.apache.org/community/contact-us/) or commenting on \"\n        f\"{issue_url}\")\n\n  wrapper.__name__ = op\n  wrapper.__doc__ = (\n      f\":meth:`{_prettify_pandas_type(base_type)}.{op}` is not implemented yet \"\n      \"in the Beam DataFrame API.\\n\\n\"\n      f\"If support for {op!r} is important to you, please let the Beam \"\n      \"community know by `writing to user@beam.apache.org \"\n      \"<https://beam.apache.org/community/contact-us/>`_ or commenting on \"\n      f\"`{issue} <{issue_url}>`_.\")\n\n  return wrapper\n\n","sourceCodeStart":406,"sourceCodeEnd":442,"githubUrl":"https://github.com/apache/beam/blob/12126d8942aaf848030c478b4c6a28c6af861c66/sdks/python/apache_beam/dataframe/frame_base.py#L406-L442","documentation":"The frame_base.not_implemented/op decorator installs a stub that raises NotImplementedError with guidance to contact the Beam community or comment/vote on the associated tracking issue (BEAM-xxxxx Jira or GitHub issue). It means the pandas method exists in the API surface but has no Beam implementation yet.","triggerScenarios":"Calling any pandas method registered via the not_implemented(op, issue=...) decorator, e.g. certain resample, rolling, or plotting methods, each carrying its tracking issue URL in the message.","commonSituations":"Using newer pandas surface area not yet ported to Beam; following pandas tutorials verbatim; encountering methods whose implementation is in progress on the referenced Jira/GitHub issue.","solutions":["Implement the equivalent logic with supported dataframe operations or native Beam transforms (map, GroupBy, beam.CombinePerKey).","Materialize to concrete pandas via to_pcollection + pandas and run the method locally.","Track/vote on the issue URL given in the message and upgrade Beam when support lands.","Contribute an implementation upstream if the operation maps to an existing Beam PTransform."],"exampleFix":"// before\nresult = df.rolling('2s').mean()\n// after\n# materialize then use pandas, or approximate with Beam windowing:\nresult = (pcoll | beam.WindowInto(beam.window.Sessions(2))\n               | beam.CombinePerKey(beam.combiners.MeanCombineFn()))","handlingStrategy":"try-catch","validationCode":"NOT_IMPLEMENTED_OPS = {'resample', 'ewm', 'plot'}\nif op_name in NOT_IMPLEMENTED_OPS:\n    use_beam_transform_fallback(op_name)","typeGuard":null,"tryCatchPattern":"try:\n    result = df.resample('1D').mean()\nexcept NotImplementedError:\n    result = (pcoll | beam.WindowInto(beam.window.FixedWindows(86400))\n                   | beam.CombinePerKey(beam.combiners.MeanCombineFn()))","preventionTips":["Read the NotImplementedError message: it names the tracking issue and expected support timeline.","Prototype the full dataframe pipeline early to enumerate unsupported methods.","Have a native-Beam fallback plan for each pandas method your port relies on."],"tags":["python","apache-beam","dataframe-api","not-implemented"],"backgroundTag":"method-not-implemented","analyzedSha":"12126d8942aaf848030c478b4c6a28c6af861c66","analyzedAt":"2026-09-13T01:50:10.254Z","contentChangedAt":"2026-09-13T01:50:10.254Z","schemaVersion":2},"datasetVersion":"2026-09-14T16:17:12.679Z"}