# Copyright (c) Meta Platforms, Inc. and affiliates.

load(":defs.bzl", "cpp_python_extension_with_type_stubs")

oncall("data_compression")

cpp_python_extension_with_type_stubs(
    name = "openzl_ext",
    srcs = [
        "openzl/ext.cpp",
        "openzl/ext/graphs.cpp",
        "openzl/ext/nodes.cpp",
    ],
    headers = [
        "openzl/ext.hpp",
        "openzl/ext/graphs.hpp",
        "openzl/ext/nodes.hpp",
        "openzl/ext/utils.hpp",
    ],
    header_namespace = "",
    base_module = "openzl",
    module_name = "ext",
    submodules = [
        "nodes",
        "graphs",
    ],
    deps = [
        "fbsource//third-party/nanobind:nanobind",
        "fbsource//third-party/pypi/numpy:numpy",  # @manual
        "//data_compression/experimental/zstrong:zstronglib",
        "//data_compression/experimental/zstrong/cpp:openzl_cpp",
        "//data_compression/experimental/zstrong/tools/sddl/compiler:lib",  # @manual
    ],
)
