Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
14 changes: 14 additions & 0 deletions .pre-commit-config.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
# SPDX-FileCopyrightText: Copyright (c) 2026, NVIDIA CORPORATION & AFFILIATES. All rights reserved.
# SPDX-License-Identifier: Apache-2.0

repos:
# Insert/maintain the NVIDIA SPDX header.
- repo: https://github.com/rapidsai/pre-commit-hooks
rev: v1.5.1
hooks:
- id: verify-copyright
args: [--fix, --spdx]
files: |
(?x)
[.](py|sh)$

40 changes: 40 additions & 0 deletions SECURITY.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,40 @@
# Security

## Reporting Security Issues

> [!WARNING]
> Do not report security vulnerabilities through public GitHub issues!

Instead, please submit a private vulnerability report, see below.

## Reporting a Vulnerability

1. **NVIDIA Vulnerability Disclosure Program (preferred)**
Submit through the NVIDIA Product Security Incident Response Team (PSIRT) web form (<https://www.nvidia.com/en-us/security/report-vulnerability/>)
This is the fastest path to triage and tracking.

2. **Email NVIDIA PSIRT**
`psirt@nvidia.com` — encrypt sensitive reports with the
[NVIDIA PSIRT PGP key](https://www.nvidia.com/en-us/security/pgp-key).

3. **GitHub Private Vulnerability Reporting**
Use the **Security and quality** tab on this repository → *Report a vulnerability*.

## Report Details

We prefer all communications to be in English.

Reports should include the following:

* reproducible example showing how the vulnerability can be exploited
* statement about the impact (including affected versions)

And we'd appreciate if they also include:

* statement about whether you are interested in implementing the fix yourself

## Disclosure Policy

NVIDIA PSIRT will acknowledge receipt and coordinate triage, fix development, and coordinated disclosure.

More on NVIDIA's response process: <https://www.nvidia.com/en-us/security/psirt-policies/>.
3 changes: 3 additions & 0 deletions doc/_ext/numbadoc.py
Original file line number Diff line number Diff line change
@@ -1,3 +1,6 @@
# SPDX-FileCopyrightText: Copyright (c) 2026, NVIDIA CORPORATION & AFFILIATES. All rights reserved.
# SPDX-License-Identifier: Apache-2.0

"""
Based on https://github.com/numba/numba/issues/5755
"""
Expand Down
3 changes: 3 additions & 0 deletions doc/conf.py
Original file line number Diff line number Diff line change
@@ -1,3 +1,6 @@
# SPDX-FileCopyrightText: Copyright (c) 2026, NVIDIA CORPORATION & AFFILIATES. All rights reserved.
# SPDX-License-Identifier: Apache-2.0

# flake8: noqa

# Configuration file for the Sphinx documentation builder.
Expand Down
3 changes: 3 additions & 0 deletions notebooks/util.py
Original file line number Diff line number Diff line change
@@ -1,3 +1,6 @@
# SPDX-FileCopyrightText: Copyright (c) 2026, NVIDIA CORPORATION & AFFILIATES. All rights reserved.
# SPDX-License-Identifier: Apache-2.0

from rbc.tests import test_classes


Expand Down
3 changes: 3 additions & 0 deletions notebooks/utils.py
Original file line number Diff line number Diff line change
@@ -1,3 +1,6 @@
# SPDX-FileCopyrightText: Copyright (c) 2026, NVIDIA CORPORATION & AFFILIATES. All rights reserved.
# SPDX-License-Identifier: Apache-2.0

from rbc.tests import test_classes


Expand Down
3 changes: 3 additions & 0 deletions rbc/__init__.py
Original file line number Diff line number Diff line change
@@ -1,3 +1,6 @@
# SPDX-FileCopyrightText: Copyright (c) 2026, NVIDIA CORPORATION & AFFILIATES. All rights reserved.
# SPDX-License-Identifier: Apache-2.0

import os
os.environ["NUMBA_CAPTURED_ERRORS"] = "new_style"
os.environ["NUMBA_LOOP_VECTORIZE"] = "0"
Expand Down
3 changes: 3 additions & 0 deletions rbc/_version.py
Original file line number Diff line number Diff line change
@@ -1,3 +1,6 @@
# SPDX-FileCopyrightText: Copyright (c) 2026, NVIDIA CORPORATION & AFFILIATES. All rights reserved.
# SPDX-License-Identifier: Apache-2.0


# This file helps to compute a version number in source trees obtained from
# git-archive tarball (such as those provided by githubs download-from-tag
Expand Down
3 changes: 3 additions & 0 deletions rbc/config.py
Original file line number Diff line number Diff line change
@@ -1,3 +1,6 @@
# SPDX-FileCopyrightText: Copyright (c) 2026, NVIDIA CORPORATION & AFFILIATES. All rights reserved.
# SPDX-License-Identifier: Apache-2.0

import os


Expand Down
3 changes: 3 additions & 0 deletions rbc/ctools.py
Original file line number Diff line number Diff line change
@@ -1,3 +1,6 @@
# SPDX-FileCopyrightText: Copyright (c) 2026, NVIDIA CORPORATION & AFFILIATES. All rights reserved.
# SPDX-License-Identifier: Apache-2.0

__all__ = ['Compiler']

import os
Expand Down
3 changes: 3 additions & 0 deletions rbc/errors.py
Original file line number Diff line number Diff line change
@@ -1,3 +1,6 @@
# SPDX-FileCopyrightText: Copyright (c) 2026, NVIDIA CORPORATION & AFFILIATES. All rights reserved.
# SPDX-License-Identifier: Apache-2.0

"""
rbc-specific errors and warnings.
"""
Expand Down
3 changes: 3 additions & 0 deletions rbc/external.py
Original file line number Diff line number Diff line change
@@ -1,3 +1,6 @@
# SPDX-FileCopyrightText: Copyright (c) 2026, NVIDIA CORPORATION & AFFILIATES. All rights reserved.
# SPDX-License-Identifier: Apache-2.0

"""Low-level intrinsics to expose external functions
"""

Expand Down
3 changes: 3 additions & 0 deletions rbc/externals/__init__.py
Original file line number Diff line number Diff line change
@@ -1,3 +1,6 @@
# SPDX-FileCopyrightText: Copyright (c) 2026, NVIDIA CORPORATION & AFFILIATES. All rights reserved.
# SPDX-License-Identifier: Apache-2.0

import inspect
from rbc.targetinfo import TargetInfo
from numba.core import funcdesc
Expand Down
3 changes: 3 additions & 0 deletions rbc/externals/cmath.py
Original file line number Diff line number Diff line change
@@ -1,3 +1,6 @@
# SPDX-FileCopyrightText: Copyright (c) 2026, NVIDIA CORPORATION & AFFILIATES. All rights reserved.
# SPDX-License-Identifier: Apache-2.0

"""https://en.cppreference.com/w/c/numeric/math
"""

Expand Down
3 changes: 3 additions & 0 deletions rbc/externals/heavydb.py
Original file line number Diff line number Diff line change
@@ -1,3 +1,6 @@
# SPDX-FileCopyrightText: Copyright (c) 2026, NVIDIA CORPORATION & AFFILIATES. All rights reserved.
# SPDX-License-Identifier: Apache-2.0

"""External functions defined by the HeavyDB server
"""

Expand Down
3 changes: 3 additions & 0 deletions rbc/externals/libdevice.py
Original file line number Diff line number Diff line change
@@ -1,3 +1,6 @@
# SPDX-FileCopyrightText: Copyright (c) 2026, NVIDIA CORPORATION & AFFILIATES. All rights reserved.
# SPDX-License-Identifier: Apache-2.0

"""https://docs.nvidia.com/cuda/libdevice-users-guide/index.html
"""

Expand Down
3 changes: 3 additions & 0 deletions rbc/externals/macros.py
Original file line number Diff line number Diff line change
@@ -1,3 +1,6 @@
# SPDX-FileCopyrightText: Copyright (c) 2026, NVIDIA CORPORATION & AFFILIATES. All rights reserved.
# SPDX-License-Identifier: Apache-2.0

"""This module provides the following tools:

Intrinsics:
Expand Down
3 changes: 3 additions & 0 deletions rbc/externals/stdio.py
Original file line number Diff line number Diff line change
@@ -1,3 +1,6 @@
# SPDX-FileCopyrightText: Copyright (c) 2026, NVIDIA CORPORATION & AFFILIATES. All rights reserved.
# SPDX-License-Identifier: Apache-2.0

"""https://en.cppreference.com/w/c/io
"""

Expand Down
3 changes: 3 additions & 0 deletions rbc/heavydb/__init__.py
Original file line number Diff line number Diff line change
@@ -1,3 +1,6 @@
# SPDX-FileCopyrightText: Copyright (c) 2026, NVIDIA CORPORATION & AFFILIATES. All rights reserved.
# SPDX-License-Identifier: Apache-2.0

from .array import * # noqa: F401, F403
from .allocator import * # noqa: F401, F403
from .column import * # noqa: F401, F403
Expand Down
3 changes: 3 additions & 0 deletions rbc/heavydb/allocator.py
Original file line number Diff line number Diff line change
@@ -1,3 +1,6 @@
# SPDX-FileCopyrightText: Copyright (c) 2026, NVIDIA CORPORATION & AFFILIATES. All rights reserved.
# SPDX-License-Identifier: Apache-2.0

__all__ = ['allocate_varlen_buffer']

from numba.core import cgutils
Expand Down
3 changes: 3 additions & 0 deletions rbc/heavydb/array.py
Original file line number Diff line number Diff line change
@@ -1,3 +1,6 @@
# SPDX-FileCopyrightText: Copyright (c) 2026, NVIDIA CORPORATION & AFFILIATES. All rights reserved.
# SPDX-License-Identifier: Apache-2.0

"""Implement HeavyDB Array type support
"""

Expand Down
3 changes: 3 additions & 0 deletions rbc/heavydb/buffer.py
Original file line number Diff line number Diff line change
@@ -1,3 +1,6 @@
# SPDX-FileCopyrightText: Copyright (c) 2026, NVIDIA CORPORATION & AFFILIATES. All rights reserved.
# SPDX-License-Identifier: Apache-2.0

"""Implement Buffer type as a base class to HeavyDB Array and Column types.

HeavyDB Buffer represents the following structure:
Expand Down
3 changes: 3 additions & 0 deletions rbc/heavydb/column.py
Original file line number Diff line number Diff line change
@@ -1,3 +1,6 @@
# SPDX-FileCopyrightText: Copyright (c) 2026, NVIDIA CORPORATION & AFFILIATES. All rights reserved.
# SPDX-License-Identifier: Apache-2.0

"""Implement Heavydb Column type support

Heavydb Column type is the type of input/output column arguments in
Expand Down
3 changes: 3 additions & 0 deletions rbc/heavydb/column_array.py
Original file line number Diff line number Diff line change
@@ -1,3 +1,6 @@
# SPDX-FileCopyrightText: Copyright (c) 2026, NVIDIA CORPORATION & AFFILIATES. All rights reserved.
# SPDX-License-Identifier: Apache-2.0


"""Implement Heavydb Column<Array<T>> type support

Expand Down
3 changes: 3 additions & 0 deletions rbc/heavydb/column_flatbuffer.py
Original file line number Diff line number Diff line change
@@ -1,3 +1,6 @@
# SPDX-FileCopyrightText: Copyright (c) 2026, NVIDIA CORPORATION & AFFILIATES. All rights reserved.
# SPDX-License-Identifier: Apache-2.0

"""
Base class for Column<Geo*> types
"""
Expand Down
3 changes: 3 additions & 0 deletions rbc/heavydb/column_geolinestring.py
Original file line number Diff line number Diff line change
@@ -1,3 +1,6 @@
# SPDX-FileCopyrightText: Copyright (c) 2026, NVIDIA CORPORATION & AFFILIATES. All rights reserved.
# SPDX-License-Identifier: Apache-2.0

"""Implement Heavydb Column<GeoLineString> type support

Heavydb Column<GeoLineString> type is the type of input/output column arguments in
Expand Down
3 changes: 3 additions & 0 deletions rbc/heavydb/column_geomultilinestring.py
Original file line number Diff line number Diff line change
@@ -1,3 +1,6 @@
# SPDX-FileCopyrightText: Copyright (c) 2026, NVIDIA CORPORATION & AFFILIATES. All rights reserved.
# SPDX-License-Identifier: Apache-2.0

"""Implement Heavydb Column<GeoMultiLineString> type support

Heavydb Column<GeoMultiLineString> type is the type of input/output column arguments in
Expand Down
3 changes: 3 additions & 0 deletions rbc/heavydb/column_geomultipoint.py
Original file line number Diff line number Diff line change
@@ -1,3 +1,6 @@
# SPDX-FileCopyrightText: Copyright (c) 2026, NVIDIA CORPORATION & AFFILIATES. All rights reserved.
# SPDX-License-Identifier: Apache-2.0

"""Implement Heavydb Column<GeoMultiPoint> type support

Heavydb Column<GeoMultiPoint> type is the type of input/output column arguments in
Expand Down
3 changes: 3 additions & 0 deletions rbc/heavydb/column_geomultipolygon.py
Original file line number Diff line number Diff line change
@@ -1,3 +1,6 @@
# SPDX-FileCopyrightText: Copyright (c) 2026, NVIDIA CORPORATION & AFFILIATES. All rights reserved.
# SPDX-License-Identifier: Apache-2.0

"""Implement Heavydb Column<GeoMultiPolygon> type support

Heavydb Column<GeoMultiPolygon> type is the type of input/output column arguments in
Expand Down
3 changes: 3 additions & 0 deletions rbc/heavydb/column_geopoint.py
Original file line number Diff line number Diff line change
@@ -1,3 +1,6 @@
# SPDX-FileCopyrightText: Copyright (c) 2026, NVIDIA CORPORATION & AFFILIATES. All rights reserved.
# SPDX-License-Identifier: Apache-2.0

"""Implement Heavydb Column<GeoPoint> type support

Heavydb Column<GeoPoint> type is the type of input/output column arguments in
Expand Down
3 changes: 3 additions & 0 deletions rbc/heavydb/column_geopolygon.py
Original file line number Diff line number Diff line change
@@ -1,3 +1,6 @@
# SPDX-FileCopyrightText: Copyright (c) 2026, NVIDIA CORPORATION & AFFILIATES. All rights reserved.
# SPDX-License-Identifier: Apache-2.0

"""Implement Heavydb Column<GeoPolygon> type support

Heavydb Column<GeoPolygon> type is the type of input/output column arguments in
Expand Down
3 changes: 3 additions & 0 deletions rbc/heavydb/column_list.py
Original file line number Diff line number Diff line change
@@ -1,3 +1,6 @@
# SPDX-FileCopyrightText: Copyright (c) 2026, NVIDIA CORPORATION & AFFILIATES. All rights reserved.
# SPDX-License-Identifier: Apache-2.0

__all__ = ['HeavyDBColumnListType', 'ColumnList']


Expand Down
3 changes: 3 additions & 0 deletions rbc/heavydb/column_list_array.py
Original file line number Diff line number Diff line change
@@ -1,3 +1,6 @@
# SPDX-FileCopyrightText: Copyright (c) 2026, NVIDIA CORPORATION & AFFILIATES. All rights reserved.
# SPDX-License-Identifier: Apache-2.0


"""Implement Heavydb Column<Array<T>> type support

Expand Down
3 changes: 3 additions & 0 deletions rbc/heavydb/column_text_encoding_none.py
Original file line number Diff line number Diff line change
@@ -1,3 +1,6 @@
# SPDX-FileCopyrightText: Copyright (c) 2026, NVIDIA CORPORATION & AFFILIATES. All rights reserved.
# SPDX-License-Identifier: Apache-2.0

"""Implement Heavydb Column<TextEncodingNone> type support

Heavydb Column<TextEncodingNone> type is the type of input/output column arguments in
Expand Down
3 changes: 3 additions & 0 deletions rbc/heavydb/day_time_interval.py
Original file line number Diff line number Diff line change
@@ -1,3 +1,6 @@
# SPDX-FileCopyrightText: Copyright (c) 2026, NVIDIA CORPORATION & AFFILIATES. All rights reserved.
# SPDX-License-Identifier: Apache-2.0

"""RBC DayTimeInterval type."""
import operator
from rbc import typesystem
Expand Down
3 changes: 3 additions & 0 deletions rbc/heavydb/flatbuffer_text_encoding_none.py
Original file line number Diff line number Diff line change
@@ -1,3 +1,6 @@
# SPDX-FileCopyrightText: Copyright (c) 2026, NVIDIA CORPORATION & AFFILIATES. All rights reserved.
# SPDX-License-Identifier: Apache-2.0

"""RBC FlatBuffer_TextEncodingNone type that corresponds to HeavyDB type
flatbuffer::TextEncodingNone.
"""
Expand Down
3 changes: 3 additions & 0 deletions rbc/heavydb/geo_nested_array.py
Original file line number Diff line number Diff line change
@@ -1,3 +1,6 @@
# SPDX-FileCopyrightText: Copyright (c) 2026, NVIDIA CORPORATION & AFFILIATES. All rights reserved.
# SPDX-License-Identifier: Apache-2.0

"""
Base classes for GEO types
"""
Expand Down
3 changes: 3 additions & 0 deletions rbc/heavydb/geolinestring.py
Original file line number Diff line number Diff line change
@@ -1,3 +1,6 @@
# SPDX-FileCopyrightText: Copyright (c) 2026, NVIDIA CORPORATION & AFFILIATES. All rights reserved.
# SPDX-License-Identifier: Apache-2.0

"""RBC GeoLineString type that corresponds to HeavyDB type GEOLINESTRING.
"""

Expand Down
3 changes: 3 additions & 0 deletions rbc/heavydb/geomultilinestring.py
Original file line number Diff line number Diff line change
@@ -1,3 +1,6 @@
# SPDX-FileCopyrightText: Copyright (c) 2026, NVIDIA CORPORATION & AFFILIATES. All rights reserved.
# SPDX-License-Identifier: Apache-2.0

"""RBC GeoMultiLineString type that corresponds to HeavyDB type GeoMultiLineString.
"""

Expand Down
3 changes: 3 additions & 0 deletions rbc/heavydb/geomultipoint.py
Original file line number Diff line number Diff line change
@@ -1,3 +1,6 @@
# SPDX-FileCopyrightText: Copyright (c) 2026, NVIDIA CORPORATION & AFFILIATES. All rights reserved.
# SPDX-License-Identifier: Apache-2.0

"""RBC GeoMultiPoint type that corresponds to HeavyDB type GeoMultiPoint.
"""

Expand Down
3 changes: 3 additions & 0 deletions rbc/heavydb/geomultipolygon.py
Original file line number Diff line number Diff line change
@@ -1,3 +1,6 @@
# SPDX-FileCopyrightText: Copyright (c) 2026, NVIDIA CORPORATION & AFFILIATES. All rights reserved.
# SPDX-License-Identifier: Apache-2.0

"""RBC GeoMultiPolygon type that corresponds to HeavyDB type GeoMultiPolygon.
"""

Expand Down
3 changes: 3 additions & 0 deletions rbc/heavydb/geopoint.py
Original file line number Diff line number Diff line change
@@ -1,3 +1,6 @@
# SPDX-FileCopyrightText: Copyright (c) 2026, NVIDIA CORPORATION & AFFILIATES. All rights reserved.
# SPDX-License-Identifier: Apache-2.0

"""RBC GeoPoint type that corresponds to HeavyDB type GEOPOINT.
"""

Expand Down
3 changes: 3 additions & 0 deletions rbc/heavydb/geopolygon.py
Original file line number Diff line number Diff line change
@@ -1,3 +1,6 @@
# SPDX-FileCopyrightText: Copyright (c) 2026, NVIDIA CORPORATION & AFFILIATES. All rights reserved.
# SPDX-License-Identifier: Apache-2.0

"""RBC GeoPolygon type that corresponds to HeavyDB type GeoPolygon.
"""

Expand Down
3 changes: 3 additions & 0 deletions rbc/heavydb/mathimpl.py
Original file line number Diff line number Diff line change
@@ -1,3 +1,6 @@
# SPDX-FileCopyrightText: Copyright (c) 2026, NVIDIA CORPORATION & AFFILIATES. All rights reserved.
# SPDX-License-Identifier: Apache-2.0

import math
from rbc.externals import gen_codegen, dispatch_codegen
from numba.core.typing.templates import infer_global
Expand Down
3 changes: 3 additions & 0 deletions rbc/heavydb/metatype.py
Original file line number Diff line number Diff line change
@@ -1,3 +1,6 @@
# SPDX-FileCopyrightText: Copyright (c) 2026, NVIDIA CORPORATION & AFFILIATES. All rights reserved.
# SPDX-License-Identifier: Apache-2.0

"""Implements type meta
"""

Expand Down
3 changes: 3 additions & 0 deletions rbc/heavydb/npyimpl.py
Original file line number Diff line number Diff line change
@@ -1,3 +1,6 @@
# SPDX-FileCopyrightText: Copyright (c) 2026, NVIDIA CORPORATION & AFFILIATES. All rights reserved.
# SPDX-License-Identifier: Apache-2.0

import numpy as np
from llvmlite import ir
from rbc.externals import gen_codegen, dispatch_codegen
Expand Down
3 changes: 3 additions & 0 deletions rbc/heavydb/opaque_pointer.py
Original file line number Diff line number Diff line change
@@ -1,3 +1,6 @@
# SPDX-FileCopyrightText: Copyright (c) 2026, NVIDIA CORPORATION & AFFILIATES. All rights reserved.
# SPDX-License-Identifier: Apache-2.0

"""
Implements a common interface for pointers to structs defined in HeavyDB.
+ TableFunctionManager
Expand Down
3 changes: 3 additions & 0 deletions rbc/heavydb/pipeline.py
Original file line number Diff line number Diff line change
@@ -1,3 +1,6 @@
# SPDX-FileCopyrightText: Copyright (c) 2026, NVIDIA CORPORATION & AFFILIATES. All rights reserved.
# SPDX-License-Identifier: Apache-2.0

from numba.core import ir
from numba.core.compiler import CompilerBase, DefaultPassBuilder
from numba.core.compiler_machinery import FunctionPass, register_pass
Expand Down
3 changes: 3 additions & 0 deletions rbc/heavydb/point2d.py
Original file line number Diff line number Diff line change
@@ -1,3 +1,6 @@
# SPDX-FileCopyrightText: Copyright (c) 2026, NVIDIA CORPORATION & AFFILIATES. All rights reserved.
# SPDX-License-Identifier: Apache-2.0


'''RBC Point2D type.
'''
Expand Down
3 changes: 3 additions & 0 deletions rbc/heavydb/python_operators.py
Original file line number Diff line number Diff line change
@@ -1,3 +1,6 @@
# SPDX-FileCopyrightText: Copyright (c) 2026, NVIDIA CORPORATION & AFFILIATES. All rights reserved.
# SPDX-License-Identifier: Apache-2.0

import operator
from llvmlite import ir
from .array import ArrayPointer, Array
Expand Down
3 changes: 3 additions & 0 deletions rbc/heavydb/remoteheavydb.py
Original file line number Diff line number Diff line change
@@ -1,3 +1,6 @@
# SPDX-FileCopyrightText: Copyright (c) 2026, NVIDIA CORPORATION & AFFILIATES. All rights reserved.
# SPDX-License-Identifier: Apache-2.0

"""HeavyDB client config functions
"""

Expand Down
Loading
Loading