mirror of
https://github.com/apache/superset.git
synced 2026-09-01 21:11:28 +00:00
Co-authored-by: madhushree agarwal <madhushree_agarwal@apple.com>
83 lines
2.9 KiB
Python
83 lines
2.9 KiB
Python
# Licensed to the Apache Software Foundation (ASF) under one
|
|
# or more contributor license agreements. See the NOTICE file
|
|
# distributed with this work for additional information
|
|
# regarding copyright ownership. The ASF licenses this file
|
|
# to you under the Apache License, Version 2.0 (the
|
|
# "License"); you may not use this file except in compliance
|
|
# with the License. You may obtain a copy of the License at
|
|
#
|
|
# http://www.apache.org/licenses/LICENSE-2.0
|
|
#
|
|
# Unless required by applicable law or agreed to in writing,
|
|
# software distributed under the License is distributed on an
|
|
# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
|
|
# KIND, either express or implied. See the License for the
|
|
# specific language governing permissions and limitations
|
|
# under the License.
|
|
from __future__ import annotations
|
|
|
|
from collections.abc import Callable
|
|
from typing import Any
|
|
|
|
from superset.utils.pandas_postprocessing.aggregate import aggregate
|
|
from superset.utils.pandas_postprocessing.boxplot import boxplot
|
|
from superset.utils.pandas_postprocessing.compare import compare
|
|
from superset.utils.pandas_postprocessing.contribution import contribution
|
|
from superset.utils.pandas_postprocessing.cum import cum
|
|
from superset.utils.pandas_postprocessing.diff import diff
|
|
from superset.utils.pandas_postprocessing.flatten import flatten
|
|
from superset.utils.pandas_postprocessing.geography import (
|
|
geodetic_parse,
|
|
geohash_decode,
|
|
geohash_encode,
|
|
)
|
|
from superset.utils.pandas_postprocessing.histogram import histogram
|
|
from superset.utils.pandas_postprocessing.pivot import pivot
|
|
from superset.utils.pandas_postprocessing.prophet import prophet
|
|
from superset.utils.pandas_postprocessing.rank import rank
|
|
from superset.utils.pandas_postprocessing.rename import rename
|
|
from superset.utils.pandas_postprocessing.resample import resample
|
|
from superset.utils.pandas_postprocessing.rolling import rolling
|
|
from superset.utils.pandas_postprocessing.select import select
|
|
from superset.utils.pandas_postprocessing.sort import sort
|
|
from superset.utils.pandas_postprocessing.utils import (
|
|
escape_separator,
|
|
unescape_separator,
|
|
)
|
|
|
|
__all__ = [
|
|
"aggregate",
|
|
"boxplot",
|
|
"compare",
|
|
"contribution",
|
|
"cum",
|
|
"diff",
|
|
"geohash_encode",
|
|
"geohash_decode",
|
|
"geodetic_parse",
|
|
"histogram",
|
|
"pivot",
|
|
"prophet",
|
|
"rank",
|
|
"rename",
|
|
"resample",
|
|
"rolling",
|
|
"select",
|
|
"sort",
|
|
"flatten",
|
|
"escape_separator",
|
|
"unescape_separator",
|
|
]
|
|
|
|
|
|
def build_extra_ops_map(
|
|
extra: list[Callable[..., Any]],
|
|
) -> dict[str, Callable[..., Any]]:
|
|
"""Build a name→callable map from EXTRA_PANDAS_POSTPROCESSING_OPS.
|
|
|
|
Callables without ``__name__`` (e.g. ``functools.partial``, lambdas) are
|
|
silently excluded — they cannot be addressed by name in a post_processing
|
|
spec.
|
|
"""
|
|
return {name: fn for fn in extra if (name := getattr(fn, "__name__", None))}
|