The implementation would be almost identical to pyarrow.TableGroupBy.aggregate except the keys list would be empty. Currently this does not appear to be possible using an empty array of keys:
>>> tab.group_by([]).aggregate([("x", "sum")])
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "pyarrow/table.pxi", line 5325, in pyarrow.lib.TableGroupBy.aggregate
File "pyarrow/_compute.pyx", line 2145, in pyarrow._compute._group_by
File "pyarrow/error.pxi", line 144, in pyarrow.lib.pyarrow_internal_check_status
File "pyarrow/error.pxi", line 100, in pyarrow.lib.check_status
pyarrow.lib.ArrowInvalid: Cannot infer ExecBatch length without at least one value
Even if it were possible, I don't think it would be obvious to obtain the result in this way.