diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml
new file mode 100644
index 000000000..420f0b5d2
--- /dev/null
+++ b/.pre-commit-config.yaml
@@ -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)$
+
diff --git a/SECURITY.md b/SECURITY.md
new file mode 100644
index 000000000..ada890837
--- /dev/null
+++ b/SECURITY.md
@@ -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 ()
+ 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: .
diff --git a/doc/_ext/numbadoc.py b/doc/_ext/numbadoc.py
index d9ed91217..0171c0cbe 100644
--- a/doc/_ext/numbadoc.py
+++ b/doc/_ext/numbadoc.py
@@ -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
"""
diff --git a/doc/conf.py b/doc/conf.py
index c682d076e..ff722d39f 100644
--- a/doc/conf.py
+++ b/doc/conf.py
@@ -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.
diff --git a/notebooks/util.py b/notebooks/util.py
index 02c678f49..992112a41 100644
--- a/notebooks/util.py
+++ b/notebooks/util.py
@@ -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
diff --git a/notebooks/utils.py b/notebooks/utils.py
index 02c678f49..992112a41 100644
--- a/notebooks/utils.py
+++ b/notebooks/utils.py
@@ -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
diff --git a/rbc/__init__.py b/rbc/__init__.py
index f51e1214a..73999ffe6 100644
--- a/rbc/__init__.py
+++ b/rbc/__init__.py
@@ -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"
diff --git a/rbc/_version.py b/rbc/_version.py
index 92b573a53..56f47b5f2 100644
--- a/rbc/_version.py
+++ b/rbc/_version.py
@@ -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
diff --git a/rbc/config.py b/rbc/config.py
index 5a76eae71..3d065eb17 100644
--- a/rbc/config.py
+++ b/rbc/config.py
@@ -1,3 +1,6 @@
+# SPDX-FileCopyrightText: Copyright (c) 2026, NVIDIA CORPORATION & AFFILIATES. All rights reserved.
+# SPDX-License-Identifier: Apache-2.0
+
import os
diff --git a/rbc/ctools.py b/rbc/ctools.py
index 371991680..3372e5481 100644
--- a/rbc/ctools.py
+++ b/rbc/ctools.py
@@ -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
diff --git a/rbc/errors.py b/rbc/errors.py
index 9e2aed8f2..ce96213b7 100644
--- a/rbc/errors.py
+++ b/rbc/errors.py
@@ -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.
"""
diff --git a/rbc/external.py b/rbc/external.py
index bad810a13..fd343879a 100644
--- a/rbc/external.py
+++ b/rbc/external.py
@@ -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
"""
diff --git a/rbc/externals/__init__.py b/rbc/externals/__init__.py
index 13a8edadc..75a565e28 100644
--- a/rbc/externals/__init__.py
+++ b/rbc/externals/__init__.py
@@ -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
diff --git a/rbc/externals/cmath.py b/rbc/externals/cmath.py
index afd6606eb..a1df8d1b7 100644
--- a/rbc/externals/cmath.py
+++ b/rbc/externals/cmath.py
@@ -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
"""
diff --git a/rbc/externals/heavydb.py b/rbc/externals/heavydb.py
index 237b3df39..df8595194 100644
--- a/rbc/externals/heavydb.py
+++ b/rbc/externals/heavydb.py
@@ -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
"""
diff --git a/rbc/externals/libdevice.py b/rbc/externals/libdevice.py
index fe09b6a3c..4c41d08fe 100644
--- a/rbc/externals/libdevice.py
+++ b/rbc/externals/libdevice.py
@@ -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
"""
diff --git a/rbc/externals/macros.py b/rbc/externals/macros.py
index a8ab06316..5e8c99bf1 100644
--- a/rbc/externals/macros.py
+++ b/rbc/externals/macros.py
@@ -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:
diff --git a/rbc/externals/stdio.py b/rbc/externals/stdio.py
index 8ce707553..9e4786a0f 100644
--- a/rbc/externals/stdio.py
+++ b/rbc/externals/stdio.py
@@ -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
"""
diff --git a/rbc/heavydb/__init__.py b/rbc/heavydb/__init__.py
index b487054a1..7209c6777 100644
--- a/rbc/heavydb/__init__.py
+++ b/rbc/heavydb/__init__.py
@@ -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
diff --git a/rbc/heavydb/allocator.py b/rbc/heavydb/allocator.py
index dba66d5b0..2444491c9 100644
--- a/rbc/heavydb/allocator.py
+++ b/rbc/heavydb/allocator.py
@@ -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
diff --git a/rbc/heavydb/array.py b/rbc/heavydb/array.py
index 700aa1eb3..4767ecaca 100644
--- a/rbc/heavydb/array.py
+++ b/rbc/heavydb/array.py
@@ -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
"""
diff --git a/rbc/heavydb/buffer.py b/rbc/heavydb/buffer.py
index 0e3e6e81f..bc8e40e60 100644
--- a/rbc/heavydb/buffer.py
+++ b/rbc/heavydb/buffer.py
@@ -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:
diff --git a/rbc/heavydb/column.py b/rbc/heavydb/column.py
index 7861c971f..5199ba95c 100644
--- a/rbc/heavydb/column.py
+++ b/rbc/heavydb/column.py
@@ -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
diff --git a/rbc/heavydb/column_array.py b/rbc/heavydb/column_array.py
index 54ba2872c..e5672980b 100644
--- a/rbc/heavydb/column_array.py
+++ b/rbc/heavydb/column_array.py
@@ -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
diff --git a/rbc/heavydb/column_flatbuffer.py b/rbc/heavydb/column_flatbuffer.py
index 77d639140..66ca77827 100644
--- a/rbc/heavydb/column_flatbuffer.py
+++ b/rbc/heavydb/column_flatbuffer.py
@@ -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 types
"""
diff --git a/rbc/heavydb/column_geolinestring.py b/rbc/heavydb/column_geolinestring.py
index 798d0313f..81239399f 100644
--- a/rbc/heavydb/column_geolinestring.py
+++ b/rbc/heavydb/column_geolinestring.py
@@ -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
diff --git a/rbc/heavydb/column_geomultilinestring.py b/rbc/heavydb/column_geomultilinestring.py
index e661d16a0..62d032cc5 100644
--- a/rbc/heavydb/column_geomultilinestring.py
+++ b/rbc/heavydb/column_geomultilinestring.py
@@ -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
diff --git a/rbc/heavydb/column_geomultipoint.py b/rbc/heavydb/column_geomultipoint.py
index 05398f437..8372008b4 100644
--- a/rbc/heavydb/column_geomultipoint.py
+++ b/rbc/heavydb/column_geomultipoint.py
@@ -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
diff --git a/rbc/heavydb/column_geomultipolygon.py b/rbc/heavydb/column_geomultipolygon.py
index ced1bc0f0..6c092acc8 100644
--- a/rbc/heavydb/column_geomultipolygon.py
+++ b/rbc/heavydb/column_geomultipolygon.py
@@ -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
diff --git a/rbc/heavydb/column_geopoint.py b/rbc/heavydb/column_geopoint.py
index 22a9dad22..a13ef955c 100644
--- a/rbc/heavydb/column_geopoint.py
+++ b/rbc/heavydb/column_geopoint.py
@@ -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
diff --git a/rbc/heavydb/column_geopolygon.py b/rbc/heavydb/column_geopolygon.py
index 2a673ee48..011c24605 100644
--- a/rbc/heavydb/column_geopolygon.py
+++ b/rbc/heavydb/column_geopolygon.py
@@ -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
diff --git a/rbc/heavydb/column_list.py b/rbc/heavydb/column_list.py
index 861154efe..112136fbf 100644
--- a/rbc/heavydb/column_list.py
+++ b/rbc/heavydb/column_list.py
@@ -1,3 +1,6 @@
+# SPDX-FileCopyrightText: Copyright (c) 2026, NVIDIA CORPORATION & AFFILIATES. All rights reserved.
+# SPDX-License-Identifier: Apache-2.0
+
__all__ = ['HeavyDBColumnListType', 'ColumnList']
diff --git a/rbc/heavydb/column_list_array.py b/rbc/heavydb/column_list_array.py
index da5932cbe..6835ad5bc 100644
--- a/rbc/heavydb/column_list_array.py
+++ b/rbc/heavydb/column_list_array.py
@@ -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
diff --git a/rbc/heavydb/column_text_encoding_none.py b/rbc/heavydb/column_text_encoding_none.py
index df76fb45f..c42c00719 100644
--- a/rbc/heavydb/column_text_encoding_none.py
+++ b/rbc/heavydb/column_text_encoding_none.py
@@ -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
diff --git a/rbc/heavydb/day_time_interval.py b/rbc/heavydb/day_time_interval.py
index 71bfcc43c..f4ef69ea1 100644
--- a/rbc/heavydb/day_time_interval.py
+++ b/rbc/heavydb/day_time_interval.py
@@ -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
diff --git a/rbc/heavydb/flatbuffer_text_encoding_none.py b/rbc/heavydb/flatbuffer_text_encoding_none.py
index fe12e3463..5456ff65a 100644
--- a/rbc/heavydb/flatbuffer_text_encoding_none.py
+++ b/rbc/heavydb/flatbuffer_text_encoding_none.py
@@ -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.
"""
diff --git a/rbc/heavydb/geo_nested_array.py b/rbc/heavydb/geo_nested_array.py
index 2b0699203..c3016cfcf 100644
--- a/rbc/heavydb/geo_nested_array.py
+++ b/rbc/heavydb/geo_nested_array.py
@@ -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
"""
diff --git a/rbc/heavydb/geolinestring.py b/rbc/heavydb/geolinestring.py
index 22094763d..38c0893c2 100644
--- a/rbc/heavydb/geolinestring.py
+++ b/rbc/heavydb/geolinestring.py
@@ -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.
"""
diff --git a/rbc/heavydb/geomultilinestring.py b/rbc/heavydb/geomultilinestring.py
index b1bd36986..3e36ac18d 100644
--- a/rbc/heavydb/geomultilinestring.py
+++ b/rbc/heavydb/geomultilinestring.py
@@ -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.
"""
diff --git a/rbc/heavydb/geomultipoint.py b/rbc/heavydb/geomultipoint.py
index 1846e5a60..72945108c 100644
--- a/rbc/heavydb/geomultipoint.py
+++ b/rbc/heavydb/geomultipoint.py
@@ -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.
"""
diff --git a/rbc/heavydb/geomultipolygon.py b/rbc/heavydb/geomultipolygon.py
index be8ace60e..074e5c433 100644
--- a/rbc/heavydb/geomultipolygon.py
+++ b/rbc/heavydb/geomultipolygon.py
@@ -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.
"""
diff --git a/rbc/heavydb/geopoint.py b/rbc/heavydb/geopoint.py
index 2feee212f..edef85f96 100644
--- a/rbc/heavydb/geopoint.py
+++ b/rbc/heavydb/geopoint.py
@@ -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.
"""
diff --git a/rbc/heavydb/geopolygon.py b/rbc/heavydb/geopolygon.py
index ea3869400..c4fecda50 100644
--- a/rbc/heavydb/geopolygon.py
+++ b/rbc/heavydb/geopolygon.py
@@ -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.
"""
diff --git a/rbc/heavydb/mathimpl.py b/rbc/heavydb/mathimpl.py
index b508e8b56..d6fb5f8de 100644
--- a/rbc/heavydb/mathimpl.py
+++ b/rbc/heavydb/mathimpl.py
@@ -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
diff --git a/rbc/heavydb/metatype.py b/rbc/heavydb/metatype.py
index 37a9afb89..414301e57 100644
--- a/rbc/heavydb/metatype.py
+++ b/rbc/heavydb/metatype.py
@@ -1,3 +1,6 @@
+# SPDX-FileCopyrightText: Copyright (c) 2026, NVIDIA CORPORATION & AFFILIATES. All rights reserved.
+# SPDX-License-Identifier: Apache-2.0
+
"""Implements type meta
"""
diff --git a/rbc/heavydb/npyimpl.py b/rbc/heavydb/npyimpl.py
index a9b2f6a73..12e32a828 100644
--- a/rbc/heavydb/npyimpl.py
+++ b/rbc/heavydb/npyimpl.py
@@ -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
diff --git a/rbc/heavydb/opaque_pointer.py b/rbc/heavydb/opaque_pointer.py
index 19e7419a9..e267a6586 100644
--- a/rbc/heavydb/opaque_pointer.py
+++ b/rbc/heavydb/opaque_pointer.py
@@ -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
diff --git a/rbc/heavydb/pipeline.py b/rbc/heavydb/pipeline.py
index 43e7201a1..116e92f82 100644
--- a/rbc/heavydb/pipeline.py
+++ b/rbc/heavydb/pipeline.py
@@ -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
diff --git a/rbc/heavydb/point2d.py b/rbc/heavydb/point2d.py
index 29c99b32b..4b26c6689 100644
--- a/rbc/heavydb/point2d.py
+++ b/rbc/heavydb/point2d.py
@@ -1,3 +1,6 @@
+# SPDX-FileCopyrightText: Copyright (c) 2026, NVIDIA CORPORATION & AFFILIATES. All rights reserved.
+# SPDX-License-Identifier: Apache-2.0
+
'''RBC Point2D type.
'''
diff --git a/rbc/heavydb/python_operators.py b/rbc/heavydb/python_operators.py
index df16f2f73..00037f58f 100644
--- a/rbc/heavydb/python_operators.py
+++ b/rbc/heavydb/python_operators.py
@@ -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
diff --git a/rbc/heavydb/remoteheavydb.py b/rbc/heavydb/remoteheavydb.py
index 6bc4b8acb..2ff102a7b 100644
--- a/rbc/heavydb/remoteheavydb.py
+++ b/rbc/heavydb/remoteheavydb.py
@@ -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
"""
diff --git a/rbc/heavydb/row_function_manager.py b/rbc/heavydb/row_function_manager.py
index 98fb21b17..407a8465a 100644
--- a/rbc/heavydb/row_function_manager.py
+++ b/rbc/heavydb/row_function_manager.py
@@ -1,3 +1,6 @@
+# SPDX-FileCopyrightText: Copyright (c) 2026, NVIDIA CORPORATION & AFFILIATES. All rights reserved.
+# SPDX-License-Identifier: Apache-2.0
+
__all__ = ['HeavyDBRowFunctionManagerType', 'RowFunctionManager']
diff --git a/rbc/heavydb/string_dict_proxy.py b/rbc/heavydb/string_dict_proxy.py
index 609037a78..77e3a4f84 100644
--- a/rbc/heavydb/string_dict_proxy.py
+++ b/rbc/heavydb/string_dict_proxy.py
@@ -1,3 +1,6 @@
+# SPDX-FileCopyrightText: Copyright (c) 2026, NVIDIA CORPORATION & AFFILIATES. All rights reserved.
+# SPDX-License-Identifier: Apache-2.0
+
'''RBC String Dictionary Proxy type
'''
diff --git a/rbc/heavydb/table_function_manager.py b/rbc/heavydb/table_function_manager.py
index 012652f4b..9c09201f1 100644
--- a/rbc/heavydb/table_function_manager.py
+++ b/rbc/heavydb/table_function_manager.py
@@ -1,3 +1,6 @@
+# SPDX-FileCopyrightText: Copyright (c) 2026, NVIDIA CORPORATION & AFFILIATES. All rights reserved.
+# SPDX-License-Identifier: Apache-2.0
+
__all__ = ['HeavyDBTableFunctionManagerType', 'TableFunctionManager']
diff --git a/rbc/heavydb/text_encoding_dict.py b/rbc/heavydb/text_encoding_dict.py
index 3134c1f52..c116ba541 100644
--- a/rbc/heavydb/text_encoding_dict.py
+++ b/rbc/heavydb/text_encoding_dict.py
@@ -1,3 +1,6 @@
+# SPDX-FileCopyrightText: Copyright (c) 2026, NVIDIA CORPORATION & AFFILIATES. All rights reserved.
+# SPDX-License-Identifier: Apache-2.0
+
'''RBC TextEncodingDict type that corresponds to HeavyDB type TEXT ENCODED DICT.
'''
diff --git a/rbc/heavydb/text_encoding_none.py b/rbc/heavydb/text_encoding_none.py
index 18e0466fd..ef8f7bb1c 100644
--- a/rbc/heavydb/text_encoding_none.py
+++ b/rbc/heavydb/text_encoding_none.py
@@ -1,3 +1,6 @@
+# SPDX-FileCopyrightText: Copyright (c) 2026, NVIDIA CORPORATION & AFFILIATES. All rights reserved.
+# SPDX-License-Identifier: Apache-2.0
+
"""
RBC TextEncodingNone type that corresponds to HeavyDB type TEXT ENCODED NONE.
"""
diff --git a/rbc/heavydb/timestamp.py b/rbc/heavydb/timestamp.py
index c3202cb52..ebd4b1023 100644
--- a/rbc/heavydb/timestamp.py
+++ b/rbc/heavydb/timestamp.py
@@ -1,3 +1,6 @@
+# SPDX-FileCopyrightText: Copyright (c) 2026, NVIDIA CORPORATION & AFFILIATES. All rights reserved.
+# SPDX-License-Identifier: Apache-2.0
+
"""RBC Timestamp type that corresponds to HeavyDB type timestamp."""
import operator
import numpy as np
diff --git a/rbc/heavydb/utils.py b/rbc/heavydb/utils.py
index 40f9a4a9c..ee3bc4051 100644
--- a/rbc/heavydb/utils.py
+++ b/rbc/heavydb/utils.py
@@ -1,3 +1,6 @@
+# SPDX-FileCopyrightText: Copyright (c) 2026, NVIDIA CORPORATION & AFFILIATES. All rights reserved.
+# SPDX-License-Identifier: Apache-2.0
+
from llvmlite import ir
from numba import types as nb_types
from numba.core import cgutils, extending
diff --git a/rbc/heavydb/year_month_time_interval.py b/rbc/heavydb/year_month_time_interval.py
index 4096b4f4a..ad7346d41 100644
--- a/rbc/heavydb/year_month_time_interval.py
+++ b/rbc/heavydb/year_month_time_interval.py
@@ -1,3 +1,6 @@
+# SPDX-FileCopyrightText: Copyright (c) 2026, NVIDIA CORPORATION & AFFILIATES. All rights reserved.
+# SPDX-License-Identifier: Apache-2.0
+
"""RBC YearMonthTimeInterval type."""
import operator
from rbc import typesystem
diff --git a/rbc/irtools.py b/rbc/irtools.py
index c002f483f..6134a0900 100644
--- a/rbc/irtools.py
+++ b/rbc/irtools.py
@@ -1,3 +1,6 @@
+# SPDX-FileCopyrightText: Copyright (c) 2026, NVIDIA CORPORATION & AFFILIATES. All rights reserved.
+# SPDX-License-Identifier: Apache-2.0
+
# Author: Pearu Peterson
# Created: February 2019
diff --git a/rbc/libcudart_ctypes.py b/rbc/libcudart_ctypes.py
index e15c0efd9..1c5fc173e 100644
--- a/rbc/libcudart_ctypes.py
+++ b/rbc/libcudart_ctypes.py
@@ -1,3 +1,6 @@
+# SPDX-FileCopyrightText: Copyright (c) 2026, NVIDIA CORPORATION & AFFILIATES. All rights reserved.
+# SPDX-License-Identifier: Apache-2.0
+
import os
import ctypes
import ctypes.util
diff --git a/rbc/libfuncs.py b/rbc/libfuncs.py
index 3f8ae195b..821345475 100644
--- a/rbc/libfuncs.py
+++ b/rbc/libfuncs.py
@@ -1,3 +1,6 @@
+# SPDX-FileCopyrightText: Copyright (c) 2026, NVIDIA CORPORATION & AFFILIATES. All rights reserved.
+# SPDX-License-Identifier: Apache-2.0
+
"""Collections of library function names.
"""
diff --git a/rbc/nrt.py b/rbc/nrt.py
index 7f507b6f2..dab831d2d 100644
--- a/rbc/nrt.py
+++ b/rbc/nrt.py
@@ -1,3 +1,6 @@
+# SPDX-FileCopyrightText: Copyright (c) 2026, NVIDIA CORPORATION & AFFILIATES. All rights reserved.
+# SPDX-License-Identifier: Apache-2.0
+
import functools
import os
from contextlib import contextmanager
diff --git a/rbc/remotejit.py b/rbc/remotejit.py
index f0b56b7b9..1b0f6feec 100644
--- a/rbc/remotejit.py
+++ b/rbc/remotejit.py
@@ -1,3 +1,6 @@
+# SPDX-FileCopyrightText: Copyright (c) 2026, NVIDIA CORPORATION & AFFILIATES. All rights reserved.
+# SPDX-License-Identifier: Apache-2.0
+
"""RemoteJIT client/server config functions
"""
diff --git a/rbc/stdlib/__init__.py b/rbc/stdlib/__init__.py
index 0cac04052..0acc58aa0 100644
--- a/rbc/stdlib/__init__.py
+++ b/rbc/stdlib/__init__.py
@@ -1,3 +1,6 @@
+# SPDX-FileCopyrightText: Copyright (c) 2026, NVIDIA CORPORATION & AFFILIATES. All rights reserved.
+# SPDX-License-Identifier: Apache-2.0
+
import functools
import textwrap
from enum import Enum
diff --git a/rbc/stdlib/array_api.py b/rbc/stdlib/array_api.py
index 5a887f5db..738e4cbf7 100644
--- a/rbc/stdlib/array_api.py
+++ b/rbc/stdlib/array_api.py
@@ -1,3 +1,6 @@
+# SPDX-FileCopyrightText: Copyright (c) 2026, NVIDIA CORPORATION & AFFILIATES. All rights reserved.
+# SPDX-License-Identifier: Apache-2.0
+
"""
Array API for rbc.
"""
diff --git a/rbc/stdlib/constants.py b/rbc/stdlib/constants.py
index 0d6a3bd10..1eea7b0bc 100644
--- a/rbc/stdlib/constants.py
+++ b/rbc/stdlib/constants.py
@@ -1,3 +1,6 @@
+# SPDX-FileCopyrightText: Copyright (c) 2026, NVIDIA CORPORATION & AFFILIATES. All rights reserved.
+# SPDX-License-Identifier: Apache-2.0
+
"""
Array API specification for creation functions.
diff --git a/rbc/stdlib/creation_functions.py b/rbc/stdlib/creation_functions.py
index 53ddc1be9..37961a8ff 100644
--- a/rbc/stdlib/creation_functions.py
+++ b/rbc/stdlib/creation_functions.py
@@ -1,3 +1,6 @@
+# SPDX-FileCopyrightText: Copyright (c) 2026, NVIDIA CORPORATION & AFFILIATES. All rights reserved.
+# SPDX-License-Identifier: Apache-2.0
+
"""
Array API specification for creation functions.
diff --git a/rbc/stdlib/data_type_functions.py b/rbc/stdlib/data_type_functions.py
index f77cbe310..7fb183c9d 100644
--- a/rbc/stdlib/data_type_functions.py
+++ b/rbc/stdlib/data_type_functions.py
@@ -1,3 +1,6 @@
+# SPDX-FileCopyrightText: Copyright (c) 2026, NVIDIA CORPORATION & AFFILIATES. All rights reserved.
+# SPDX-License-Identifier: Apache-2.0
+
"""
Array API specification for data type functions.
diff --git a/rbc/stdlib/datatypes.py b/rbc/stdlib/datatypes.py
index af5b94df9..cc466e7cc 100644
--- a/rbc/stdlib/datatypes.py
+++ b/rbc/stdlib/datatypes.py
@@ -1,3 +1,6 @@
+# SPDX-FileCopyrightText: Copyright (c) 2026, NVIDIA CORPORATION & AFFILIATES. All rights reserved.
+# SPDX-License-Identifier: Apache-2.0
+
"""
Array API specification for data types.
diff --git a/rbc/stdlib/elementwise_functions.py b/rbc/stdlib/elementwise_functions.py
index bb0179155..445df8bbb 100644
--- a/rbc/stdlib/elementwise_functions.py
+++ b/rbc/stdlib/elementwise_functions.py
@@ -1,3 +1,6 @@
+# SPDX-FileCopyrightText: Copyright (c) 2026, NVIDIA CORPORATION & AFFILIATES. All rights reserved.
+# SPDX-License-Identifier: Apache-2.0
+
"""
Array API specification for element-wise functions.
diff --git a/rbc/stdlib/linear_algebra_functions.py b/rbc/stdlib/linear_algebra_functions.py
index caac3a87c..590f7c751 100644
--- a/rbc/stdlib/linear_algebra_functions.py
+++ b/rbc/stdlib/linear_algebra_functions.py
@@ -1,3 +1,6 @@
+# SPDX-FileCopyrightText: Copyright (c) 2026, NVIDIA CORPORATION & AFFILIATES. All rights reserved.
+# SPDX-License-Identifier: Apache-2.0
+
"""
Array API specification for linear algebra functions.
diff --git a/rbc/stdlib/manipulation_functions.py b/rbc/stdlib/manipulation_functions.py
index f7db9b62f..96efbfb9c 100644
--- a/rbc/stdlib/manipulation_functions.py
+++ b/rbc/stdlib/manipulation_functions.py
@@ -1,3 +1,6 @@
+# SPDX-FileCopyrightText: Copyright (c) 2026, NVIDIA CORPORATION & AFFILIATES. All rights reserved.
+# SPDX-License-Identifier: Apache-2.0
+
"""
Array API specification for manipulation functions.
diff --git a/rbc/stdlib/searching_functions.py b/rbc/stdlib/searching_functions.py
index 52aa2f489..eca0fb774 100644
--- a/rbc/stdlib/searching_functions.py
+++ b/rbc/stdlib/searching_functions.py
@@ -1,3 +1,6 @@
+# SPDX-FileCopyrightText: Copyright (c) 2026, NVIDIA CORPORATION & AFFILIATES. All rights reserved.
+# SPDX-License-Identifier: Apache-2.0
+
"""
Array API specification for searching functions.
diff --git a/rbc/stdlib/set_functions.py b/rbc/stdlib/set_functions.py
index a106ac638..30dff8b05 100644
--- a/rbc/stdlib/set_functions.py
+++ b/rbc/stdlib/set_functions.py
@@ -1,3 +1,6 @@
+# SPDX-FileCopyrightText: Copyright (c) 2026, NVIDIA CORPORATION & AFFILIATES. All rights reserved.
+# SPDX-License-Identifier: Apache-2.0
+
"""
Array API specification for set functions.
diff --git a/rbc/stdlib/sorting_functions.py b/rbc/stdlib/sorting_functions.py
index f68319998..1d276c842 100644
--- a/rbc/stdlib/sorting_functions.py
+++ b/rbc/stdlib/sorting_functions.py
@@ -1,3 +1,6 @@
+# SPDX-FileCopyrightText: Copyright (c) 2026, NVIDIA CORPORATION & AFFILIATES. All rights reserved.
+# SPDX-License-Identifier: Apache-2.0
+
"""
Array API specification for sorting functions.
diff --git a/rbc/stdlib/statistical_functions.py b/rbc/stdlib/statistical_functions.py
index c04ce3da5..0bc684745 100644
--- a/rbc/stdlib/statistical_functions.py
+++ b/rbc/stdlib/statistical_functions.py
@@ -1,3 +1,6 @@
+# SPDX-FileCopyrightText: Copyright (c) 2026, NVIDIA CORPORATION & AFFILIATES. All rights reserved.
+# SPDX-License-Identifier: Apache-2.0
+
"""
Array API specification for statistical functions.
diff --git a/rbc/stdlib/utility_functions.py b/rbc/stdlib/utility_functions.py
index eec1de5b6..3a0fd55fd 100644
--- a/rbc/stdlib/utility_functions.py
+++ b/rbc/stdlib/utility_functions.py
@@ -1,3 +1,6 @@
+# SPDX-FileCopyrightText: Copyright (c) 2026, NVIDIA CORPORATION & AFFILIATES. All rights reserved.
+# SPDX-License-Identifier: Apache-2.0
+
"""
Array API specification for utility functions.
diff --git a/rbc/structure_type.py b/rbc/structure_type.py
index d6bcaa658..4a30e7d93 100644
--- a/rbc/structure_type.py
+++ b/rbc/structure_type.py
@@ -1,3 +1,6 @@
+# SPDX-FileCopyrightText: Copyright (c) 2026, NVIDIA CORPORATION & AFFILIATES. All rights reserved.
+# SPDX-License-Identifier: Apache-2.0
+
__all__ = ['StructureNumbaType', 'StructureNumbaPointerType', 'make_numba_struct']
diff --git a/rbc/targetinfo.py b/rbc/targetinfo.py
index eb595f43e..51f246efa 100644
--- a/rbc/targetinfo.py
+++ b/rbc/targetinfo.py
@@ -1,3 +1,6 @@
+# SPDX-FileCopyrightText: Copyright (c) 2026, NVIDIA CORPORATION & AFFILIATES. All rights reserved.
+# SPDX-License-Identifier: Apache-2.0
+
"""TargetInfo class specific
"""
import ctypes
diff --git a/rbc/tests/__init__.py b/rbc/tests/__init__.py
index f2b5d85dd..e6b47eef6 100644
--- a/rbc/tests/__init__.py
+++ b/rbc/tests/__init__.py
@@ -1,3 +1,6 @@
+# SPDX-FileCopyrightText: Copyright (c) 2026, NVIDIA CORPORATION & AFFILIATES. All rights reserved.
+# SPDX-License-Identifier: Apache-2.0
+
__all__ = ['heavydb_fixture', 'sql_execute']
diff --git a/rbc/tests/heavydb/__init__.py b/rbc/tests/heavydb/__init__.py
index e69de29bb..4bddad84b 100644
--- a/rbc/tests/heavydb/__init__.py
+++ b/rbc/tests/heavydb/__init__.py
@@ -0,0 +1,3 @@
+# SPDX-FileCopyrightText: Copyright (c) 2026, NVIDIA CORPORATION & AFFILIATES. All rights reserved.
+# SPDX-License-Identifier: Apache-2.0
+
diff --git a/rbc/tests/heavydb/test_array.py b/rbc/tests/heavydb/test_array.py
index 7bf48825b..b5df1b1cf 100644
--- a/rbc/tests/heavydb/test_array.py
+++ b/rbc/tests/heavydb/test_array.py
@@ -1,3 +1,6 @@
+# SPDX-FileCopyrightText: Copyright (c) 2026, NVIDIA CORPORATION & AFFILIATES. All rights reserved.
+# SPDX-License-Identifier: Apache-2.0
+
import os
from collections import defaultdict
diff --git a/rbc/tests/heavydb/test_array_api_creation_functions.py b/rbc/tests/heavydb/test_array_api_creation_functions.py
index 83eb8bfee..aea1d71ad 100644
--- a/rbc/tests/heavydb/test_array_api_creation_functions.py
+++ b/rbc/tests/heavydb/test_array_api_creation_functions.py
@@ -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
import pytest
diff --git a/rbc/tests/heavydb/test_array_api_data_type_functions.py b/rbc/tests/heavydb/test_array_api_data_type_functions.py
index 1816c6999..e55718c2a 100644
--- a/rbc/tests/heavydb/test_array_api_data_type_functions.py
+++ b/rbc/tests/heavydb/test_array_api_data_type_functions.py
@@ -1,3 +1,6 @@
+# SPDX-FileCopyrightText: Copyright (c) 2026, NVIDIA CORPORATION & AFFILIATES. All rights reserved.
+# SPDX-License-Identifier: Apache-2.0
+
import itertools
import textwrap
diff --git a/rbc/tests/heavydb/test_array_api_datatypes.py b/rbc/tests/heavydb/test_array_api_datatypes.py
index dfe4f9241..30579a28b 100644
--- a/rbc/tests/heavydb/test_array_api_datatypes.py
+++ b/rbc/tests/heavydb/test_array_api_datatypes.py
@@ -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
import pytest
diff --git a/rbc/tests/heavydb/test_array_api_manipulation_functions.py b/rbc/tests/heavydb/test_array_api_manipulation_functions.py
index 3214ef382..6d96eb871 100644
--- a/rbc/tests/heavydb/test_array_api_manipulation_functions.py
+++ b/rbc/tests/heavydb/test_array_api_manipulation_functions.py
@@ -1,3 +1,6 @@
+# SPDX-FileCopyrightText: Copyright (c) 2026, NVIDIA CORPORATION & AFFILIATES. All rights reserved.
+# SPDX-License-Identifier: Apache-2.0
+
import itertools
import textwrap
diff --git a/rbc/tests/heavydb/test_array_api_searching_functions.py b/rbc/tests/heavydb/test_array_api_searching_functions.py
index e5d02652b..1b087d10a 100644
--- a/rbc/tests/heavydb/test_array_api_searching_functions.py
+++ b/rbc/tests/heavydb/test_array_api_searching_functions.py
@@ -1,3 +1,6 @@
+# SPDX-FileCopyrightText: Copyright (c) 2026, NVIDIA CORPORATION & AFFILIATES. All rights reserved.
+# SPDX-License-Identifier: Apache-2.0
+
import textwrap
import numpy as np
diff --git a/rbc/tests/heavydb/test_array_api_set_functions.py b/rbc/tests/heavydb/test_array_api_set_functions.py
index 59c8d80e1..ae429f816 100644
--- a/rbc/tests/heavydb/test_array_api_set_functions.py
+++ b/rbc/tests/heavydb/test_array_api_set_functions.py
@@ -1,3 +1,6 @@
+# SPDX-FileCopyrightText: Copyright (c) 2026, NVIDIA CORPORATION & AFFILIATES. All rights reserved.
+# SPDX-License-Identifier: Apache-2.0
+
import pytest
from rbc.stdlib import array_api
diff --git a/rbc/tests/heavydb/test_array_api_statistical_functions.py b/rbc/tests/heavydb/test_array_api_statistical_functions.py
index d24df4212..eea91ae68 100644
--- a/rbc/tests/heavydb/test_array_api_statistical_functions.py
+++ b/rbc/tests/heavydb/test_array_api_statistical_functions.py
@@ -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
import pytest
diff --git a/rbc/tests/heavydb/test_array_api_unsupported.py b/rbc/tests/heavydb/test_array_api_unsupported.py
index d700b92b3..0df6b0d33 100644
--- a/rbc/tests/heavydb/test_array_api_unsupported.py
+++ b/rbc/tests/heavydb/test_array_api_unsupported.py
@@ -1,3 +1,6 @@
+# SPDX-FileCopyrightText: Copyright (c) 2026, NVIDIA CORPORATION & AFFILIATES. All rights reserved.
+# SPDX-License-Identifier: Apache-2.0
+
import pytest
from numba import TypingError
diff --git a/rbc/tests/heavydb/test_array_api_utility_functions.py b/rbc/tests/heavydb/test_array_api_utility_functions.py
index 29ff373bc..050902346 100644
--- a/rbc/tests/heavydb/test_array_api_utility_functions.py
+++ b/rbc/tests/heavydb/test_array_api_utility_functions.py
@@ -1,3 +1,6 @@
+# SPDX-FileCopyrightText: Copyright (c) 2026, NVIDIA CORPORATION & AFFILIATES. All rights reserved.
+# SPDX-License-Identifier: Apache-2.0
+
import textwrap
import numpy as np
diff --git a/rbc/tests/heavydb/test_array_functions.py b/rbc/tests/heavydb/test_array_functions.py
index 848cc2bc6..acfa32937 100644
--- a/rbc/tests/heavydb/test_array_functions.py
+++ b/rbc/tests/heavydb/test_array_functions.py
@@ -1,3 +1,6 @@
+# SPDX-FileCopyrightText: Copyright (c) 2026, NVIDIA CORPORATION & AFFILIATES. All rights reserved.
+# SPDX-License-Identifier: Apache-2.0
+
import pytest
import numpy as np
diff --git a/rbc/tests/heavydb/test_array_math.py b/rbc/tests/heavydb/test_array_math.py
index a730d76dd..c43f26ac9 100644
--- a/rbc/tests/heavydb/test_array_math.py
+++ b/rbc/tests/heavydb/test_array_math.py
@@ -1,3 +1,6 @@
+# SPDX-FileCopyrightText: Copyright (c) 2026, NVIDIA CORPORATION & AFFILIATES. All rights reserved.
+# SPDX-License-Identifier: Apache-2.0
+
import pytest
import numpy as np
from rbc.stdlib import array_api
diff --git a/rbc/tests/heavydb/test_array_methods.py b/rbc/tests/heavydb/test_array_methods.py
index d3db9fe44..233ebbf41 100644
--- a/rbc/tests/heavydb/test_array_methods.py
+++ b/rbc/tests/heavydb/test_array_methods.py
@@ -1,3 +1,6 @@
+# SPDX-FileCopyrightText: Copyright (c) 2026, NVIDIA CORPORATION & AFFILIATES. All rights reserved.
+# SPDX-License-Identifier: Apache-2.0
+
import pytest
import numpy as np
from rbc.tests import heavydb_fixture
diff --git a/rbc/tests/heavydb/test_array_null.py b/rbc/tests/heavydb/test_array_null.py
index 7172cf8ef..f81364c97 100644
--- a/rbc/tests/heavydb/test_array_null.py
+++ b/rbc/tests/heavydb/test_array_null.py
@@ -1,3 +1,6 @@
+# SPDX-FileCopyrightText: Copyright (c) 2026, NVIDIA CORPORATION & AFFILIATES. All rights reserved.
+# SPDX-License-Identifier: Apache-2.0
+
import pytest
from rbc.tests import heavydb_fixture
diff --git a/rbc/tests/heavydb/test_array_operators.py b/rbc/tests/heavydb/test_array_operators.py
index c7a261758..f2696eb1a 100644
--- a/rbc/tests/heavydb/test_array_operators.py
+++ b/rbc/tests/heavydb/test_array_operators.py
@@ -1,3 +1,6 @@
+# SPDX-FileCopyrightText: Copyright (c) 2026, NVIDIA CORPORATION & AFFILIATES. All rights reserved.
+# SPDX-License-Identifier: Apache-2.0
+
import pytest
import numpy as np
from rbc.heavydb import Array
diff --git a/rbc/tests/heavydb/test_black_scholes.py b/rbc/tests/heavydb/test_black_scholes.py
index ab5e561ef..4a4ed35e9 100644
--- a/rbc/tests/heavydb/test_black_scholes.py
+++ b/rbc/tests/heavydb/test_black_scholes.py
@@ -1,3 +1,6 @@
+# SPDX-FileCopyrightText: Copyright (c) 2026, NVIDIA CORPORATION & AFFILIATES. All rights reserved.
+# SPDX-License-Identifier: Apache-2.0
+
import pytest
from numba import njit
from collections import defaultdict
diff --git a/rbc/tests/heavydb/test_caller.py b/rbc/tests/heavydb/test_caller.py
index 6678aeeb8..cfcd75b6a 100644
--- a/rbc/tests/heavydb/test_caller.py
+++ b/rbc/tests/heavydb/test_caller.py
@@ -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
import pytest
from numpy.testing import assert_array_equal
diff --git a/rbc/tests/heavydb/test_column_arguments.py b/rbc/tests/heavydb/test_column_arguments.py
index ae561c4d8..1c2c46ff3 100644
--- a/rbc/tests/heavydb/test_column_arguments.py
+++ b/rbc/tests/heavydb/test_column_arguments.py
@@ -1,3 +1,6 @@
+# SPDX-FileCopyrightText: Copyright (c) 2026, NVIDIA CORPORATION & AFFILIATES. All rights reserved.
+# SPDX-License-Identifier: Apache-2.0
+
import pytest
from rbc.tests import heavydb_fixture
diff --git a/rbc/tests/heavydb/test_column_array.py b/rbc/tests/heavydb/test_column_array.py
index a3ac054fb..0e7f53029 100644
--- a/rbc/tests/heavydb/test_column_array.py
+++ b/rbc/tests/heavydb/test_column_array.py
@@ -1,3 +1,6 @@
+# SPDX-FileCopyrightText: Copyright (c) 2026, NVIDIA CORPORATION & AFFILIATES. All rights reserved.
+# SPDX-License-Identifier: Apache-2.0
+
import pytest
from rbc.tests import heavydb_fixture
diff --git a/rbc/tests/heavydb/test_column_basic.py b/rbc/tests/heavydb/test_column_basic.py
index da80fd242..cee773592 100644
--- a/rbc/tests/heavydb/test_column_basic.py
+++ b/rbc/tests/heavydb/test_column_basic.py
@@ -1,3 +1,6 @@
+# SPDX-FileCopyrightText: Copyright (c) 2026, NVIDIA CORPORATION & AFFILIATES. All rights reserved.
+# SPDX-License-Identifier: Apache-2.0
+
import os
from collections import defaultdict
diff --git a/rbc/tests/heavydb/test_column_default.py b/rbc/tests/heavydb/test_column_default.py
index 2bb8754e6..5ec722d18 100644
--- a/rbc/tests/heavydb/test_column_default.py
+++ b/rbc/tests/heavydb/test_column_default.py
@@ -1,3 +1,6 @@
+# SPDX-FileCopyrightText: Copyright (c) 2026, NVIDIA CORPORATION & AFFILIATES. All rights reserved.
+# SPDX-License-Identifier: Apache-2.0
+
import pytest
from rbc.tests import heavydb_fixture
diff --git a/rbc/tests/heavydb/test_column_list.py b/rbc/tests/heavydb/test_column_list.py
index f9f8359ce..2baa3980a 100644
--- a/rbc/tests/heavydb/test_column_list.py
+++ b/rbc/tests/heavydb/test_column_list.py
@@ -1,3 +1,6 @@
+# SPDX-FileCopyrightText: Copyright (c) 2026, NVIDIA CORPORATION & AFFILIATES. All rights reserved.
+# SPDX-License-Identifier: Apache-2.0
+
import pytest
from rbc.tests import heavydb_fixture
diff --git a/rbc/tests/heavydb/test_column_null.py b/rbc/tests/heavydb/test_column_null.py
index 66a09d7a8..5ea7650cc 100644
--- a/rbc/tests/heavydb/test_column_null.py
+++ b/rbc/tests/heavydb/test_column_null.py
@@ -1,3 +1,6 @@
+# SPDX-FileCopyrightText: Copyright (c) 2026, NVIDIA CORPORATION & AFFILIATES. All rights reserved.
+# SPDX-License-Identifier: Apache-2.0
+
import pytest
from rbc.tests import heavydb_fixture
diff --git a/rbc/tests/heavydb/test_column_runtime_alloc.py b/rbc/tests/heavydb/test_column_runtime_alloc.py
index 0db2785ac..f59881ff5 100644
--- a/rbc/tests/heavydb/test_column_runtime_alloc.py
+++ b/rbc/tests/heavydb/test_column_runtime_alloc.py
@@ -1,3 +1,6 @@
+# SPDX-FileCopyrightText: Copyright (c) 2026, NVIDIA CORPORATION & AFFILIATES. All rights reserved.
+# SPDX-License-Identifier: Apache-2.0
+
import pytest
from rbc.tests import heavydb_fixture
from rbc.externals.heavydb import set_output_row_size
diff --git a/rbc/tests/heavydb/test_column_text_encoding_none.py b/rbc/tests/heavydb/test_column_text_encoding_none.py
index 81100f271..bec70d7fa 100644
--- a/rbc/tests/heavydb/test_column_text_encoding_none.py
+++ b/rbc/tests/heavydb/test_column_text_encoding_none.py
@@ -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
import pytest
diff --git a/rbc/tests/heavydb/test_constants.py b/rbc/tests/heavydb/test_constants.py
index 97c66d48e..b77b5ab4b 100644
--- a/rbc/tests/heavydb/test_constants.py
+++ b/rbc/tests/heavydb/test_constants.py
@@ -1,3 +1,6 @@
+# SPDX-FileCopyrightText: Copyright (c) 2026, NVIDIA CORPORATION & AFFILIATES. All rights reserved.
+# SPDX-License-Identifier: Apache-2.0
+
import pytest
import numpy as np
from rbc.tests import heavydb_fixture
diff --git a/rbc/tests/heavydb/test_daytimeinterval.py b/rbc/tests/heavydb/test_daytimeinterval.py
index 11292cf2f..4fc9d0ae2 100644
--- a/rbc/tests/heavydb/test_daytimeinterval.py
+++ b/rbc/tests/heavydb/test_daytimeinterval.py
@@ -1,3 +1,6 @@
+# SPDX-FileCopyrightText: Copyright (c) 2026, NVIDIA CORPORATION & AFFILIATES. All rights reserved.
+# SPDX-License-Identifier: Apache-2.0
+
import pytest
from rbc.tests import heavydb_fixture
from rbc.errors import HeavyDBServerError
diff --git a/rbc/tests/heavydb/test_device_selection.py b/rbc/tests/heavydb/test_device_selection.py
index 810ea844b..3d681536a 100644
--- a/rbc/tests/heavydb/test_device_selection.py
+++ b/rbc/tests/heavydb/test_device_selection.py
@@ -1,3 +1,6 @@
+# SPDX-FileCopyrightText: Copyright (c) 2026, NVIDIA CORPORATION & AFFILIATES. All rights reserved.
+# SPDX-License-Identifier: Apache-2.0
+
import pytest
from rbc.tests import heavydb_fixture
diff --git a/rbc/tests/heavydb/test_external.py b/rbc/tests/heavydb/test_external.py
index afec5ad84..cf7c39b4d 100644
--- a/rbc/tests/heavydb/test_external.py
+++ b/rbc/tests/heavydb/test_external.py
@@ -1,3 +1,6 @@
+# SPDX-FileCopyrightText: Copyright (c) 2026, NVIDIA CORPORATION & AFFILIATES. All rights reserved.
+# SPDX-License-Identifier: Apache-2.0
+
import pytest
from rbc.tests import heavydb_fixture
from rbc.external import external
diff --git a/rbc/tests/heavydb/test_geolinestring.py b/rbc/tests/heavydb/test_geolinestring.py
index 8ee847a19..2775fa5b3 100644
--- a/rbc/tests/heavydb/test_geolinestring.py
+++ b/rbc/tests/heavydb/test_geolinestring.py
@@ -1,3 +1,6 @@
+# SPDX-FileCopyrightText: Copyright (c) 2026, NVIDIA CORPORATION & AFFILIATES. All rights reserved.
+# SPDX-License-Identifier: Apache-2.0
+
import pytest
import numpy as np
from rbc.tests import heavydb_fixture, _TestTable
diff --git a/rbc/tests/heavydb/test_geomultipolygon.py b/rbc/tests/heavydb/test_geomultipolygon.py
index 239537497..608d66a9c 100644
--- a/rbc/tests/heavydb/test_geomultipolygon.py
+++ b/rbc/tests/heavydb/test_geomultipolygon.py
@@ -1,3 +1,6 @@
+# SPDX-FileCopyrightText: Copyright (c) 2026, NVIDIA CORPORATION & AFFILIATES. All rights reserved.
+# SPDX-License-Identifier: Apache-2.0
+
import pytest
import numpy as np
from rbc.tests import heavydb_fixture
diff --git a/rbc/tests/heavydb/test_geopoint.py b/rbc/tests/heavydb/test_geopoint.py
index d92de36bd..184636478 100644
--- a/rbc/tests/heavydb/test_geopoint.py
+++ b/rbc/tests/heavydb/test_geopoint.py
@@ -1,3 +1,6 @@
+# SPDX-FileCopyrightText: Copyright (c) 2026, NVIDIA CORPORATION & AFFILIATES. All rights reserved.
+# SPDX-License-Identifier: Apache-2.0
+
import pytest
import numpy as np
from rbc.heavydb import Point2D
diff --git a/rbc/tests/heavydb/test_geopolygon.py b/rbc/tests/heavydb/test_geopolygon.py
index 8a2b56b31..41b59ea79 100644
--- a/rbc/tests/heavydb/test_geopolygon.py
+++ b/rbc/tests/heavydb/test_geopolygon.py
@@ -1,3 +1,6 @@
+# SPDX-FileCopyrightText: Copyright (c) 2026, NVIDIA CORPORATION & AFFILIATES. All rights reserved.
+# SPDX-License-Identifier: Apache-2.0
+
import pytest
import numpy as np
from rbc.tests import heavydb_fixture
diff --git a/rbc/tests/heavydb/test_heavydb.py b/rbc/tests/heavydb/test_heavydb.py
index 8f709cebb..3aa7c86d7 100644
--- a/rbc/tests/heavydb/test_heavydb.py
+++ b/rbc/tests/heavydb/test_heavydb.py
@@ -1,3 +1,6 @@
+# SPDX-FileCopyrightText: Copyright (c) 2026, NVIDIA CORPORATION & AFFILIATES. All rights reserved.
+# SPDX-License-Identifier: Apache-2.0
+
import os
import itertools
import pytest
diff --git a/rbc/tests/heavydb/test_heavydb_thrift.py b/rbc/tests/heavydb/test_heavydb_thrift.py
index 909c541f8..03059cbce 100644
--- a/rbc/tests/heavydb/test_heavydb_thrift.py
+++ b/rbc/tests/heavydb/test_heavydb_thrift.py
@@ -1,3 +1,6 @@
+# SPDX-FileCopyrightText: Copyright (c) 2026, NVIDIA CORPORATION & AFFILIATES. All rights reserved.
+# SPDX-License-Identifier: Apache-2.0
+
import pytest
from rbc.tests import heavydb_fixture
diff --git a/rbc/tests/heavydb/test_howtos.py b/rbc/tests/heavydb/test_howtos.py
index ef3854404..f34f60064 100644
--- a/rbc/tests/heavydb/test_howtos.py
+++ b/rbc/tests/heavydb/test_howtos.py
@@ -1,3 +1,6 @@
+# SPDX-FileCopyrightText: Copyright (c) 2026, NVIDIA CORPORATION & AFFILIATES. All rights reserved.
+# SPDX-License-Identifier: Apache-2.0
+
# tests for how-tos page
# ensure that examples in the docs page are correct
import pytest
diff --git a/rbc/tests/heavydb/test_imports.py b/rbc/tests/heavydb/test_imports.py
index b4260d528..069c9ffd2 100644
--- a/rbc/tests/heavydb/test_imports.py
+++ b/rbc/tests/heavydb/test_imports.py
@@ -1,3 +1,6 @@
+# SPDX-FileCopyrightText: Copyright (c) 2026, NVIDIA CORPORATION & AFFILIATES. All rights reserved.
+# SPDX-License-Identifier: Apache-2.0
+
import pytest
import importlib
diff --git a/rbc/tests/heavydb/test_math.py b/rbc/tests/heavydb/test_math.py
index 001eda608..63900866a 100644
--- a/rbc/tests/heavydb/test_math.py
+++ b/rbc/tests/heavydb/test_math.py
@@ -1,3 +1,6 @@
+# SPDX-FileCopyrightText: Copyright (c) 2026, NVIDIA CORPORATION & AFFILIATES. All rights reserved.
+# SPDX-License-Identifier: Apache-2.0
+
import math
import pytest
import sys
diff --git a/rbc/tests/heavydb/test_missing_symbol.py b/rbc/tests/heavydb/test_missing_symbol.py
index 58ceea611..b4aea2def 100644
--- a/rbc/tests/heavydb/test_missing_symbol.py
+++ b/rbc/tests/heavydb/test_missing_symbol.py
@@ -1,3 +1,6 @@
+# SPDX-FileCopyrightText: Copyright (c) 2026, NVIDIA CORPORATION & AFFILIATES. All rights reserved.
+# SPDX-License-Identifier: Apache-2.0
+
import pytest
from rbc.tests import heavydb_fixture
diff --git a/rbc/tests/heavydb/test_mlpack.py b/rbc/tests/heavydb/test_mlpack.py
index 2ce284fbb..2b4d0f7f6 100644
--- a/rbc/tests/heavydb/test_mlpack.py
+++ b/rbc/tests/heavydb/test_mlpack.py
@@ -1,3 +1,6 @@
+# SPDX-FileCopyrightText: Copyright (c) 2026, NVIDIA CORPORATION & AFFILIATES. All rights reserved.
+# SPDX-License-Identifier: Apache-2.0
+
import pytest
import re
from rbc.tests import heavydb_fixture
diff --git a/rbc/tests/heavydb/test_multilinestring.py b/rbc/tests/heavydb/test_multilinestring.py
index 0ee155f12..0d614f7b9 100644
--- a/rbc/tests/heavydb/test_multilinestring.py
+++ b/rbc/tests/heavydb/test_multilinestring.py
@@ -1,3 +1,6 @@
+# SPDX-FileCopyrightText: Copyright (c) 2026, NVIDIA CORPORATION & AFFILIATES. All rights reserved.
+# SPDX-License-Identifier: Apache-2.0
+
import pytest
import numpy as np
from rbc.tests import heavydb_fixture
diff --git a/rbc/tests/heavydb/test_nrt.py b/rbc/tests/heavydb/test_nrt.py
index a1b8f8b0a..4850bce35 100644
--- a/rbc/tests/heavydb/test_nrt.py
+++ b/rbc/tests/heavydb/test_nrt.py
@@ -1,3 +1,6 @@
+# SPDX-FileCopyrightText: Copyright (c) 2026, NVIDIA CORPORATION & AFFILIATES. All rights reserved.
+# SPDX-License-Identifier: Apache-2.0
+
import pytest
from rbc.tests import heavydb_fixture, override_config
diff --git a/rbc/tests/heavydb/test_nrt_list.py b/rbc/tests/heavydb/test_nrt_list.py
index f1c4e4678..3d4698a78 100644
--- a/rbc/tests/heavydb/test_nrt_list.py
+++ b/rbc/tests/heavydb/test_nrt_list.py
@@ -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 heavydb_fixture
from rbc.heavydb import Array
import pytest
diff --git a/rbc/tests/heavydb/test_nrt_set.py b/rbc/tests/heavydb/test_nrt_set.py
index 293f851a3..376ebb764 100644
--- a/rbc/tests/heavydb/test_nrt_set.py
+++ b/rbc/tests/heavydb/test_nrt_set.py
@@ -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 heavydb_fixture
import pytest
diff --git a/rbc/tests/heavydb/test_nrt_string.py b/rbc/tests/heavydb/test_nrt_string.py
index f47222e3e..19ab5d143 100644
--- a/rbc/tests/heavydb/test_nrt_string.py
+++ b/rbc/tests/heavydb/test_nrt_string.py
@@ -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 heavydb_fixture
from rbc.heavydb import TextEncodingNone
import pytest
diff --git a/rbc/tests/heavydb/test_template.py b/rbc/tests/heavydb/test_template.py
index 7bf5fba3e..62f431098 100644
--- a/rbc/tests/heavydb/test_template.py
+++ b/rbc/tests/heavydb/test_template.py
@@ -1,3 +1,6 @@
+# SPDX-FileCopyrightText: Copyright (c) 2026, NVIDIA CORPORATION & AFFILIATES. All rights reserved.
+# SPDX-License-Identifier: Apache-2.0
+
import os
import pytest
from rbc.tests import heavydb_fixture
diff --git a/rbc/tests/heavydb/test_testing.py b/rbc/tests/heavydb/test_testing.py
index cdc48fa8e..4e41d8b16 100644
--- a/rbc/tests/heavydb/test_testing.py
+++ b/rbc/tests/heavydb/test_testing.py
@@ -1,3 +1,6 @@
+# SPDX-FileCopyrightText: Copyright (c) 2026, NVIDIA CORPORATION & AFFILIATES. All rights reserved.
+# SPDX-License-Identifier: Apache-2.0
+
import pytest
from rbc.tests import heavydb_fixture, test_suffices
diff --git a/rbc/tests/heavydb/test_text_encoding_dict.py b/rbc/tests/heavydb/test_text_encoding_dict.py
index 9647b0165..7d5c9fbb0 100644
--- a/rbc/tests/heavydb/test_text_encoding_dict.py
+++ b/rbc/tests/heavydb/test_text_encoding_dict.py
@@ -1,3 +1,6 @@
+# SPDX-FileCopyrightText: Copyright (c) 2026, NVIDIA CORPORATION & AFFILIATES. All rights reserved.
+# SPDX-License-Identifier: Apache-2.0
+
import os
import pytest
import itertools
diff --git a/rbc/tests/heavydb/test_text_encoding_none.py b/rbc/tests/heavydb/test_text_encoding_none.py
index b3ba46934..5c92fdd3e 100644
--- a/rbc/tests/heavydb/test_text_encoding_none.py
+++ b/rbc/tests/heavydb/test_text_encoding_none.py
@@ -1,3 +1,6 @@
+# SPDX-FileCopyrightText: Copyright (c) 2026, NVIDIA CORPORATION & AFFILIATES. All rights reserved.
+# SPDX-License-Identifier: Apache-2.0
+
import pytest
from rbc.heavydb import TextEncodingNone
diff --git a/rbc/tests/heavydb/test_timestamp.py b/rbc/tests/heavydb/test_timestamp.py
index e0ac3728a..eabd2d3d1 100644
--- a/rbc/tests/heavydb/test_timestamp.py
+++ b/rbc/tests/heavydb/test_timestamp.py
@@ -1,3 +1,6 @@
+# SPDX-FileCopyrightText: Copyright (c) 2026, NVIDIA CORPORATION & AFFILIATES. All rights reserved.
+# SPDX-License-Identifier: Apache-2.0
+
import pytest
import numpy as np
from rbc.tests import heavydb_fixture
diff --git a/rbc/tests/heavydb/test_treelite.py b/rbc/tests/heavydb/test_treelite.py
index de398f5a1..38aec10fe 100644
--- a/rbc/tests/heavydb/test_treelite.py
+++ b/rbc/tests/heavydb/test_treelite.py
@@ -1,3 +1,6 @@
+# SPDX-FileCopyrightText: Copyright (c) 2026, NVIDIA CORPORATION & AFFILIATES. All rights reserved.
+# SPDX-License-Identifier: Apache-2.0
+
import os
import pytest
from rbc.tests import heavydb_fixture
diff --git a/rbc/tests/heavydb/test_type_to_extarg.py b/rbc/tests/heavydb/test_type_to_extarg.py
index 34d52e31b..2a3bfd84f 100644
--- a/rbc/tests/heavydb/test_type_to_extarg.py
+++ b/rbc/tests/heavydb/test_type_to_extarg.py
@@ -1,3 +1,6 @@
+# SPDX-FileCopyrightText: Copyright (c) 2026, NVIDIA CORPORATION & AFFILIATES. All rights reserved.
+# SPDX-License-Identifier: Apache-2.0
+
import pytest
from contextlib import nullcontext as does_not_raise
diff --git a/rbc/tests/heavydb/test_udtf.py b/rbc/tests/heavydb/test_udtf.py
index 9aa1ef822..39458fcd0 100644
--- a/rbc/tests/heavydb/test_udtf.py
+++ b/rbc/tests/heavydb/test_udtf.py
@@ -1,3 +1,6 @@
+# SPDX-FileCopyrightText: Copyright (c) 2026, NVIDIA CORPORATION & AFFILIATES. All rights reserved.
+# SPDX-License-Identifier: Apache-2.0
+
import pytest
from rbc.errors import NumbaTypeError, HeavyDBServerError
from rbc.tests import heavydb_fixture, sql_execute
diff --git a/rbc/tests/test_ci.py b/rbc/tests/test_ci.py
index ed5cee9fc..823e763fd 100644
--- a/rbc/tests/test_ci.py
+++ b/rbc/tests/test_ci.py
@@ -1,3 +1,6 @@
+# SPDX-FileCopyrightText: Copyright (c) 2026, NVIDIA CORPORATION & AFFILIATES. All rights reserved.
+# SPDX-License-Identifier: Apache-2.0
+
import os
import sys
import pytest
diff --git a/rbc/tests/test_externals_cmath.py b/rbc/tests/test_externals_cmath.py
index 2cb0ec303..701c4154b 100644
--- a/rbc/tests/test_externals_cmath.py
+++ b/rbc/tests/test_externals_cmath.py
@@ -1,3 +1,6 @@
+# SPDX-FileCopyrightText: Copyright (c) 2026, NVIDIA CORPORATION & AFFILIATES. All rights reserved.
+# SPDX-License-Identifier: Apache-2.0
+
import sys
import atexit
import pytest
diff --git a/rbc/tests/test_externals_libdevice.py b/rbc/tests/test_externals_libdevice.py
index 223c60473..515a841a9 100644
--- a/rbc/tests/test_externals_libdevice.py
+++ b/rbc/tests/test_externals_libdevice.py
@@ -1,3 +1,6 @@
+# SPDX-FileCopyrightText: Copyright (c) 2026, NVIDIA CORPORATION & AFFILIATES. All rights reserved.
+# SPDX-License-Identifier: Apache-2.0
+
import pytest
from functools import reduce
from typing import Tuple
diff --git a/rbc/tests/test_libcudart_ctypes.py b/rbc/tests/test_libcudart_ctypes.py
index 62e543017..467c6e7cb 100644
--- a/rbc/tests/test_libcudart_ctypes.py
+++ b/rbc/tests/test_libcudart_ctypes.py
@@ -1,3 +1,6 @@
+# SPDX-FileCopyrightText: Copyright (c) 2026, NVIDIA CORPORATION & AFFILIATES. All rights reserved.
+# SPDX-License-Identifier: Apache-2.0
+
import pytest
diff --git a/rbc/tests/test_numpy_rjit.py b/rbc/tests/test_numpy_rjit.py
index 516d198e1..c065e25a0 100644
--- a/rbc/tests/test_numpy_rjit.py
+++ b/rbc/tests/test_numpy_rjit.py
@@ -1,3 +1,6 @@
+# SPDX-FileCopyrightText: Copyright (c) 2026, NVIDIA CORPORATION & AFFILIATES. All rights reserved.
+# SPDX-License-Identifier: Apache-2.0
+
import atexit
import pytest
from rbc.remotejit import RemoteJIT
diff --git a/rbc/tests/test_remotejit.py b/rbc/tests/test_remotejit.py
index 25155d524..2b1dc2b8b 100644
--- a/rbc/tests/test_remotejit.py
+++ b/rbc/tests/test_remotejit.py
@@ -1,3 +1,6 @@
+# SPDX-FileCopyrightText: Copyright (c) 2026, NVIDIA CORPORATION & AFFILIATES. All rights reserved.
+# SPDX-License-Identifier: Apache-2.0
+
import os
import atexit
import pytest
diff --git a/rbc/tests/test_targetinfo.py b/rbc/tests/test_targetinfo.py
index df1135e35..d88747172 100644
--- a/rbc/tests/test_targetinfo.py
+++ b/rbc/tests/test_targetinfo.py
@@ -1,3 +1,6 @@
+# SPDX-FileCopyrightText: Copyright (c) 2026, NVIDIA CORPORATION & AFFILIATES. All rights reserved.
+# SPDX-License-Identifier: Apache-2.0
+
from rbc.targetinfo import TargetInfo
diff --git a/rbc/tests/test_thrift.py b/rbc/tests/test_thrift.py
index ec853efa7..4fb692941 100644
--- a/rbc/tests/test_thrift.py
+++ b/rbc/tests/test_thrift.py
@@ -1,3 +1,6 @@
+# SPDX-FileCopyrightText: Copyright (c) 2026, NVIDIA CORPORATION & AFFILIATES. All rights reserved.
+# SPDX-License-Identifier: Apache-2.0
+
import os
import pytest
diff --git a/rbc/tests/test_thrift_multiplexed.py b/rbc/tests/test_thrift_multiplexed.py
index a2f5e5e4f..0b7c76beb 100644
--- a/rbc/tests/test_thrift_multiplexed.py
+++ b/rbc/tests/test_thrift_multiplexed.py
@@ -1,3 +1,6 @@
+# SPDX-FileCopyrightText: Copyright (c) 2026, NVIDIA CORPORATION & AFFILIATES. All rights reserved.
+# SPDX-License-Identifier: Apache-2.0
+
import os
import pytest
diff --git a/rbc/tests/test_typesystem.py b/rbc/tests/test_typesystem.py
index 0fea032ef..e4ea619e4 100644
--- a/rbc/tests/test_typesystem.py
+++ b/rbc/tests/test_typesystem.py
@@ -1,3 +1,6 @@
+# SPDX-FileCopyrightText: Copyright (c) 2026, NVIDIA CORPORATION & AFFILIATES. All rights reserved.
+# SPDX-License-Identifier: Apache-2.0
+
try:
import numba as nb
nb_NA_message = ''
diff --git a/rbc/tests/test_unicodedbtype.py b/rbc/tests/test_unicodedbtype.py
index 79ada91ec..f5498376e 100644
--- a/rbc/tests/test_unicodedbtype.py
+++ b/rbc/tests/test_unicodedbtype.py
@@ -1,3 +1,6 @@
+# SPDX-FileCopyrightText: Copyright (c) 2026, NVIDIA CORPORATION & AFFILIATES. All rights reserved.
+# SPDX-License-Identifier: Apache-2.0
+
import pytest
from rbc.irtools import read_unicodetype_db
diff --git a/rbc/tests/test_utils.py b/rbc/tests/test_utils.py
index 10a4fa5c3..b0f3c2390 100644
--- a/rbc/tests/test_utils.py
+++ b/rbc/tests/test_utils.py
@@ -1,3 +1,6 @@
+# SPDX-FileCopyrightText: Copyright (c) 2026, NVIDIA CORPORATION & AFFILIATES. All rights reserved.
+# SPDX-License-Identifier: Apache-2.0
+
from rbc.utils import is_localhost, get_local_ip, triple_matches, check_returns_none
diff --git a/rbc/thrift/__init__.py b/rbc/thrift/__init__.py
index 1aafde0bd..eff5e0a3b 100644
--- a/rbc/thrift/__init__.py
+++ b/rbc/thrift/__init__.py
@@ -1,3 +1,6 @@
+# SPDX-FileCopyrightText: Copyright (c) 2026, NVIDIA CORPORATION & AFFILIATES. All rights reserved.
+# SPDX-License-Identifier: Apache-2.0
+
from .server import Server # noqa: F401
from .client import Client # noqa: F401
diff --git a/rbc/thrift/client.py b/rbc/thrift/client.py
index 5f16e09b0..4af538b13 100644
--- a/rbc/thrift/client.py
+++ b/rbc/thrift/client.py
@@ -1,3 +1,6 @@
+# SPDX-FileCopyrightText: Copyright (c) 2026, NVIDIA CORPORATION & AFFILIATES. All rights reserved.
+# SPDX-License-Identifier: Apache-2.0
+
"""Client implements API for calling methods defined in multiplex
thrift server. The clients thrift configuration will be downloaded
from the server (the server has to implement a service `info` with a
diff --git a/rbc/thrift/dispatcher.py b/rbc/thrift/dispatcher.py
index 6bd4d06e2..671e640b1 100644
--- a/rbc/thrift/dispatcher.py
+++ b/rbc/thrift/dispatcher.py
@@ -1,3 +1,6 @@
+# SPDX-FileCopyrightText: Copyright (c) 2026, NVIDIA CORPORATION & AFFILIATES. All rights reserved.
+# SPDX-License-Identifier: Apache-2.0
+
"""Dispatcher class implements RPC methods that are executed on the
server.
"""
diff --git a/rbc/thrift/server.py b/rbc/thrift/server.py
index fda0623ff..bfcaaa657 100644
--- a/rbc/thrift/server.py
+++ b/rbc/thrift/server.py
@@ -1,3 +1,6 @@
+# SPDX-FileCopyrightText: Copyright (c) 2026, NVIDIA CORPORATION & AFFILIATES. All rights reserved.
+# SPDX-License-Identifier: Apache-2.0
+
"""Server implements multiplex thrift server, that is, there may
exists multiple thrift services in the thrift configurarion files.
diff --git a/rbc/thrift/types.py b/rbc/thrift/types.py
index 5e74d69bf..b43034b61 100644
--- a/rbc/thrift/types.py
+++ b/rbc/thrift/types.py
@@ -1,3 +1,6 @@
+# SPDX-FileCopyrightText: Copyright (c) 2026, NVIDIA CORPORATION & AFFILIATES. All rights reserved.
+# SPDX-License-Identifier: Apache-2.0
+
"""This module implements the bi-directional conversations between
objects defined by thrift module and Python objects.
diff --git a/rbc/thrift/utils.py b/rbc/thrift/utils.py
index 82b265506..4ea1de0c3 100644
--- a/rbc/thrift/utils.py
+++ b/rbc/thrift/utils.py
@@ -1,3 +1,6 @@
+# SPDX-FileCopyrightText: Copyright (c) 2026, NVIDIA CORPORATION & AFFILIATES. All rights reserved.
+# SPDX-License-Identifier: Apache-2.0
+
import inspect
import os
import re
diff --git a/rbc/typesystem.py b/rbc/typesystem.py
index 650dba5eb..c0a6ea21d 100644
--- a/rbc/typesystem.py
+++ b/rbc/typesystem.py
@@ -1,3 +1,6 @@
+# SPDX-FileCopyrightText: Copyright (c) 2026, NVIDIA CORPORATION & AFFILIATES. All rights reserved.
+# SPDX-License-Identifier: Apache-2.0
+
"""Provides Type structures.
"""
# Author: Pearu Peterson
diff --git a/rbc/utils.py b/rbc/utils.py
index 9b09e4aeb..e0cd64f65 100644
--- a/rbc/utils.py
+++ b/rbc/utils.py
@@ -1,3 +1,6 @@
+# SPDX-FileCopyrightText: Copyright (c) 2026, NVIDIA CORPORATION & AFFILIATES. All rights reserved.
+# SPDX-License-Identifier: Apache-2.0
+
"""Collection of helper functions
"""
diff --git a/setup.py b/setup.py
index afa535208..2f7d43670 100644
--- a/setup.py
+++ b/setup.py
@@ -1,3 +1,6 @@
+# SPDX-FileCopyrightText: Copyright (c) 2026, NVIDIA CORPORATION & AFFILIATES. All rights reserved.
+# SPDX-License-Identifier: Apache-2.0
+
import os
import sys
import versioneer
diff --git a/utils/pypi-release-test.sh b/utils/pypi-release-test.sh
index 88dfdf1c6..b468a3dba 100644
--- a/utils/pypi-release-test.sh
+++ b/utils/pypi-release-test.sh
@@ -1,3 +1,6 @@
+# SPDX-FileCopyrightText: Copyright (c) 2026, NVIDIA CORPORATION & AFFILIATES. All rights reserved.
+# SPDX-License-Identifier: Apache-2.0
+
if [[ $# -eq 0 ]]; then
echo 'usage: ./pypi-release version'
exit 1
diff --git a/utils/pypi-release.sh b/utils/pypi-release.sh
index 346b55051..eb07160aa 100644
--- a/utils/pypi-release.sh
+++ b/utils/pypi-release.sh
@@ -1,3 +1,6 @@
+# SPDX-FileCopyrightText: Copyright (c) 2026, NVIDIA CORPORATION & AFFILIATES. All rights reserved.
+# SPDX-License-Identifier: Apache-2.0
+
if [[ $# -eq 0 ]]; then
echo 'usage: ./pypi-release version'
exit 1
diff --git a/utils/remotenumba.py b/utils/remotenumba.py
index 8bcb00370..14aa98f02 100644
--- a/utils/remotenumba.py
+++ b/utils/remotenumba.py
@@ -1,3 +1,6 @@
+# SPDX-FileCopyrightText: Copyright (c) 2026, NVIDIA CORPORATION & AFFILIATES. All rights reserved.
+# SPDX-License-Identifier: Apache-2.0
+
"""
Requires:
llvmdev-7.0.1 with all targets enabled
diff --git a/utils/scan_for_extern_C.py b/utils/scan_for_extern_C.py
index 9aaa7145c..637b190b3 100644
--- a/utils/scan_for_extern_C.py
+++ b/utils/scan_for_extern_C.py
@@ -1,3 +1,6 @@
+# SPDX-FileCopyrightText: Copyright (c) 2026, NVIDIA CORPORATION & AFFILIATES. All rights reserved.
+# SPDX-License-Identifier: Apache-2.0
+
import os
import re
diff --git a/utils/start_omniscidb.sh b/utils/start_omniscidb.sh
index 0d1bbe17b..ef37a85fb 100755
--- a/utils/start_omniscidb.sh
+++ b/utils/start_omniscidb.sh
@@ -1,4 +1,7 @@
#!/bin/bash
+# SPDX-FileCopyrightText: Copyright (c) 2026, NVIDIA CORPORATION & AFFILIATES. All rights reserved.
+# SPDX-License-Identifier: Apache-2.0
+
#
# Run omniscidb server from conda environment (requires linux)
#
diff --git a/utils/tag-version.sh b/utils/tag-version.sh
index 4b9e6fbc8..0d3ac0b13 100755
--- a/utils/tag-version.sh
+++ b/utils/tag-version.sh
@@ -1,4 +1,7 @@
#!/bin/bash
+# SPDX-FileCopyrightText: Copyright (c) 2026, NVIDIA CORPORATION & AFFILIATES. All rights reserved.
+# SPDX-License-Identifier: Apache-2.0
+
if [[ $# -eq 0 ]]; then
echo 'usage: ./gh-release version'
exit 1
diff --git a/versioneer.py b/versioneer.py
index 64fea1c89..2606cf1b7 100644
--- a/versioneer.py
+++ b/versioneer.py
@@ -1,3 +1,6 @@
+# SPDX-FileCopyrightText: Copyright (c) 2026, NVIDIA CORPORATION & AFFILIATES. All rights reserved.
+# SPDX-License-Identifier: Apache-2.0
+
# Version: 0.18