You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@sdap.apache.org by rk...@apache.org on 2023/03/13 18:33:52 UTC

[incubator-sdap-in-situ-data-services] 01/02: Pass of adding ASF header comments

This is an automated email from the ASF dual-hosted git repository.

rkk pushed a commit to branch SDAP-445-asf-compliance
in repository https://gitbox.apache.org/repos/asf/incubator-sdap-in-situ-data-services.git

commit 601c2a4415fc7cf7f763590ddb665921a374e770
Author: rileykk <ri...@jpl.nasa.gov>
AuthorDate: Mon Mar 13 11:28:36 2023 -0700

    Pass of adding ASF header comments
---
 ci.cd/Makefile                                          | 15 +++++++++++++++
 ci.cd/create_s3_zip.sh                                  | 15 +++++++++++++++
 ci.cd/lambda_docker_upload.sh                           | 15 +++++++++++++++
 ci.cd/local_upload.sh                                   | 16 ++++++++++++++++
 docker/parquet.lambda.Dockerfile                        | 15 +++++++++++++++
 docker/parquet.spark.3.1.2.r70.Dockerfile               | 15 +++++++++++++++
 docker/parquet.spark.3.2.0.r44.Dockerfile               | 15 +++++++++++++++
 etc/lambda-spark/spark-class                            | 17 +++++++++++++++++
 k8s_spark/k8s_spark/org.alues.yaml                      | 15 +++++++++++++++
 k8s_spark/parquet.spark.helm/Chart.yaml                 | 15 +++++++++++++++
 k8s_spark/parquet.spark.helm/templates/_helpers.tpl     | 17 +++++++++++++++++
 k8s_spark/parquet.spark.helm/templates/deployment.yaml  | 15 +++++++++++++++
 k8s_spark/parquet.spark.helm/templates/hpa.yaml         | 15 +++++++++++++++
 k8s_spark/parquet.spark.helm/templates/ingress.yaml     | 15 +++++++++++++++
 k8s_spark/parquet.spark.helm/templates/secret.yaml      | 15 +++++++++++++++
 k8s_spark/parquet.spark.helm/templates/service.yaml     | 15 +++++++++++++++
 .../parquet.spark.helm/templates/serviceaccount.yaml    | 15 +++++++++++++++
 .../templates/tests/test-connection.yaml                | 15 +++++++++++++++
 k8s_spark/parquet.spark.helm/values.yaml                | 15 +++++++++++++++
 local.spark.cluster/build.sh                            | 15 +++++++++++++++
 local.spark.cluster/cluster-base.Dockerfile             | 15 +++++++++++++++
 local.spark.cluster/docker-compose.yml                  | 15 +++++++++++++++
 local.spark.cluster/jupyterlab.Dockerfile               | 15 +++++++++++++++
 local.spark.cluster/parquet-flask.Dockerfile            | 15 +++++++++++++++
 local.spark.cluster/spark-base.Dockerfile               | 15 +++++++++++++++
 local.spark.cluster/spark-master.Dockerfile             | 15 +++++++++++++++
 local.spark.cluster/spark-worker.Dockerfile             | 15 +++++++++++++++
 one_offs/local_flask.py                                 | 15 +++++++++++++++
 one_offs/py_geo_hash_test.py                            | 15 +++++++++++++++
 one_offs/trigger.s3.ingest.py                           | 15 +++++++++++++++
 parquet_cli/__init__.py                                 | 15 +++++++++++++++
 parquet_cli/ingest_s3/__init__.py                       | 15 +++++++++++++++
 parquet_cli/ingest_s3/__main__.py                       | 15 +++++++++++++++
 parquet_flask/authenticator/__init__.py                 | 15 +++++++++++++++
 parquet_flask/authenticator/authenticator_abstract.py   | 15 +++++++++++++++
 .../authenticator/authenticator_aws_secret_manager.py   | 15 +++++++++++++++
 parquet_flask/authenticator/authenticator_factory.py    | 15 +++++++++++++++
 parquet_flask/authenticator/authenticator_filebased.py  | 15 +++++++++++++++
 .../authenticator/authenticator_pass_through.py         | 15 +++++++++++++++
 parquet_flask/aws/aws_secret_manager.py                 | 15 +++++++++++++++
 parquet_flask/aws/es_abstract.py                        | 15 +++++++++++++++
 parquet_flask/aws/es_factory.py                         | 15 +++++++++++++++
 parquet_flask/aws/es_middleware.py                      | 15 +++++++++++++++
 parquet_flask/aws/es_middleware_aws.py                  | 15 +++++++++++++++
 parquet_flask/cdms_lambda_func/__init__.py              | 15 +++++++++++++++
 parquet_flask/cdms_lambda_func/cdms_lambda_constants.py | 15 +++++++++++++++
 parquet_flask/cdms_lambda_func/index_to_es/__init__.py  | 15 +++++++++++++++
 .../cdms_lambda_func/index_to_es/execute_lambda.py      | 15 +++++++++++++++
 .../index_to_es/parquet_file_es_indexer.py              | 15 +++++++++++++++
 .../index_to_es/parquet_stat_extractor.py               | 15 +++++++++++++++
 .../cdms_lambda_func/index_to_es/s3_stat_extractor.py   | 15 +++++++++++++++
 .../cdms_lambda_func/ingest_s3_to_cdms/__init__.py      | 15 +++++++++++++++
 .../ingest_s3_to_cdms/execute_lambda.py                 | 15 +++++++++++++++
 .../ingest_s3_to_cdms/ingest_s3_to_cdms.py              | 15 +++++++++++++++
 parquet_flask/cdms_lambda_func/lambda_func_env.py       | 15 +++++++++++++++
 .../cdms_lambda_func/lambda_logger_generator.py         | 15 +++++++++++++++
 parquet_flask/cdms_lambda_func/s3_records/__init__.py   | 15 +++++++++++++++
 parquet_flask/cdms_lambda_func/s3_records/s3_2_sqs.py   | 15 +++++++++++++++
 .../s3_records/s3_event_validator_abstract.py           | 15 +++++++++++++++
 parquet_flask/io_logic/cdms_schema.py                   | 15 +++++++++++++++
 parquet_flask/io_logic/parquet_paths_es_retriever.py    | 15 +++++++++++++++
 .../io_logic/parquet_query_condition_management_v3.py   | 15 +++++++++++++++
 .../io_logic/parquet_query_condition_management_v4.py   | 15 +++++++++++++++
 parquet_flask/io_logic/partitioned_parquet_path.py      | 15 +++++++++++++++
 parquet_flask/io_logic/spark_constants.py               | 15 +++++++++++++++
 parquet_flask/io_logic/sub_collection_statistics.py     | 15 +++++++++++++++
 parquet_flask/parquet_stat_extractor/__init__.py        | 15 +++++++++++++++
 .../parquet_stat_extractor/local_spark_session.py       | 15 +++++++++++++++
 .../local_statistics_retriever.py                       | 15 +++++++++++++++
 .../parquet_stat_extractor/statistics_retriever.py      | 15 +++++++++++++++
 .../statistics_retriever_wrapper.py                     | 15 +++++++++++++++
 parquet_flask/utils/factory_abstract.py                 | 15 +++++++++++++++
 parquet_flask/utils/spatial_utils.py                    | 15 +++++++++++++++
 parquet_flask/v1/__init__.py                            |  1 +
 parquet_flask/v1/authenticator_decorator.py             | 15 +++++++++++++++
 parquet_flask/v1/cdms_schema.py                         | 15 +++++++++++++++
 .../v1/insitu_query_swagger/insitu-spec-0.0.1.yml       | 15 +++++++++++++++
 rotate_keys.bash                                        | 15 +++++++++++++++
 tests/__init__.py                                       | 15 +++++++++++++++
 tests/back_to_basis/__init__.py                         | 15 +++++++++++++++
 tests/back_to_basis/local_spark.py                      | 15 +++++++++++++++
 tests/back_to_basis/s3_read.py                          | 15 +++++++++++++++
 tests/back_to_basis/s3_spark.py                         | 15 +++++++++++++++
 tests/bench_mark/__init__.py                            | 15 +++++++++++++++
 tests/bench_mark/bench_mark.py                          | 15 +++++++++++++++
 tests/bench_mark/bench_parallel_process.py              | 15 +++++++++++++++
 tests/bench_mark/func_exec_time_decorator.py            | 15 +++++++++++++++
 tests/get_aws_creds.py                                  | 15 +++++++++++++++
 tests/parquet_flask/__init__.py                         | 15 +++++++++++++++
 tests/parquet_flask/aws/__init__.py                     | 15 +++++++++++++++
 .../parquet_flask/aws/manual_test_es_middleware_aws.py  | 15 +++++++++++++++
 tests/parquet_flask/cdms_lambda_func/__init__.py        | 15 +++++++++++++++
 .../cdms_lambda_func/index_to_es/__init__.py            | 15 +++++++++++++++
 .../index_to_es/manual_test_parquet_file_es_indexer.py  | 15 +++++++++++++++
 .../index_to_es/test_parquet_stat_extractor.py          | 15 +++++++++++++++
 .../index_to_es/test_s3_stat_extractor.py               | 15 +++++++++++++++
 .../cdms_lambda_func/s3_records/__init__.py             | 15 +++++++++++++++
 .../cdms_lambda_func/s3_records/test_s3_s2_sqs.py       | 15 +++++++++++++++
 tests/parquet_flask/io_logic/__init__.py                | 15 +++++++++++++++
 .../io_logic/manual_test_parquet_paths_es_retriever.py  | 15 +++++++++++++++
 tests/parquet_flask/io_logic/test_cdms_schema.py        | 15 +++++++++++++++
 tests/parquet_flask/io_logic/test_ingest_new_file.py    | 15 +++++++++++++++
 tests/parquet_flask/io_logic/test_metadata_tbl_es.py    | 15 +++++++++++++++
 .../test_parquet_query_condition_management_v3.py       | 15 +++++++++++++++
 .../io_logic/test_partitioned_parquet_path.py           | 15 +++++++++++++++
 tests/parquet_flask/parquet_stat_extractor/__init__.py  | 15 +++++++++++++++
 .../test_local_statistics_retriever.py                  | 15 +++++++++++++++
 .../parquet_stat_extractor/test_statistics_retriever.py | 15 +++++++++++++++
 tests/parquet_flask/utils/__init__.py                   | 15 +++++++++++++++
 tests/parquet_flask/utils/test_general_utils.py         | 15 +++++++++++++++
 tests/parquet_flask/utils/test_spatial_utils.py         | 15 +++++++++++++++
 111 files changed, 1656 insertions(+)

diff --git a/ci.cd/Makefile b/ci.cd/Makefile
index 1903e04..7b0d697 100644
--- a/ci.cd/Makefile
+++ b/ci.cd/Makefile
@@ -1,3 +1,18 @@
+# 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.
+
 export IMAGE_PREFIX ?= waiphyojpl
 export NAME ?= uds
 export LAMBDA_NAME ?= parquet_lambda
diff --git a/ci.cd/create_s3_zip.sh b/ci.cd/create_s3_zip.sh
index 4bdb9fc..9b198c6 100755
--- a/ci.cd/create_s3_zip.sh
+++ b/ci.cd/create_s3_zip.sh
@@ -1,5 +1,20 @@
 #!/usr/bin/env bash
 
+# 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.
+
 apt-get update -y && apt-get install zip -y
 
 ZIP_NAME='cdms_lambda_functions'
diff --git a/ci.cd/lambda_docker_upload.sh b/ci.cd/lambda_docker_upload.sh
index 38d1a9c..e463a6b 100644
--- a/ci.cd/lambda_docker_upload.sh
+++ b/ci.cd/lambda_docker_upload.sh
@@ -1,5 +1,20 @@
 #!/bin/bash
 
+# 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.
+
 
 aws ecr get-login-password --region us-west-2 | docker login --username AWS --password-stdin 848373852523.dkr.ecr.us-west-2.amazonaws.com
 docker tag ${DOCKER_IMAGE}:${DOCKER_TAG} 848373852523.dkr.ecr.us-west-2.amazonaws.com/cdms:${DOCKER_TAG}
diff --git a/ci.cd/local_upload.sh b/ci.cd/local_upload.sh
index 0a95db3..b6e6b63 100755
--- a/ci.cd/local_upload.sh
+++ b/ci.cd/local_upload.sh
@@ -1,4 +1,20 @@
 #!/usr/bin/env bash
+
+# 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.
+
 ZIP_NAME='cdms_lambda_functions'
 software_version=`python3 setup.py --version`
 zip_file="${PWD}/${ZIP_NAME}__${software_version}.zip"
diff --git a/docker/parquet.lambda.Dockerfile b/docker/parquet.lambda.Dockerfile
index b96102e..83c8984 100644
--- a/docker/parquet.lambda.Dockerfile
+++ b/docker/parquet.lambda.Dockerfile
@@ -1,3 +1,18 @@
+# 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 public.ecr.aws/lambda/python:3.7
 
 # Reference: https://aws.plainenglish.io/spark-on-aws-lambda-c65877c0ac96
diff --git a/docker/parquet.spark.3.1.2.r70.Dockerfile b/docker/parquet.spark.3.1.2.r70.Dockerfile
index cdedccc..13176a2 100644
--- a/docker/parquet.spark.3.1.2.r70.Dockerfile
+++ b/docker/parquet.spark.3.1.2.r70.Dockerfile
@@ -1,3 +1,18 @@
+# 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 bitnami/spark:3.1.2-debian-10-r70
 
 USER root
diff --git a/docker/parquet.spark.3.2.0.r44.Dockerfile b/docker/parquet.spark.3.2.0.r44.Dockerfile
index ac58f2a..a15a756 100644
--- a/docker/parquet.spark.3.2.0.r44.Dockerfile
+++ b/docker/parquet.spark.3.2.0.r44.Dockerfile
@@ -1,3 +1,18 @@
+# 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 bitnami/spark:3.2.0-debian-10-r44
 
 USER root
diff --git a/etc/lambda-spark/spark-class b/etc/lambda-spark/spark-class
index f711d4b..1780a26 100644
--- a/etc/lambda-spark/spark-class
+++ b/etc/lambda-spark/spark-class
@@ -1,4 +1,21 @@
 #!/usr/bin/env bash
+
+# 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.
+
+
 SPARK_ENV_SH=${SPARK_HOME}/spark-env.sh
 if [[ -f "${SPARK_ENV_SH}" ]]; then
     set -a
diff --git a/k8s_spark/k8s_spark/org.alues.yaml b/k8s_spark/k8s_spark/org.alues.yaml
index 1db3e20..f9d1efd 100644
--- a/k8s_spark/k8s_spark/org.alues.yaml
+++ b/k8s_spark/k8s_spark/org.alues.yaml
@@ -1,3 +1,18 @@
+# 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.
+
 ## @section Global parameters
 ## Global Docker image parameters
 ## Please, note that this will override the image parameters, including dependencies, configured to use the global value
diff --git a/k8s_spark/parquet.spark.helm/Chart.yaml b/k8s_spark/parquet.spark.helm/Chart.yaml
index 7fc85df..58ae0fd 100644
--- a/k8s_spark/parquet.spark.helm/Chart.yaml
+++ b/k8s_spark/parquet.spark.helm/Chart.yaml
@@ -1,3 +1,18 @@
+# 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.
+
 apiVersion: v2
 name: parquet-spark-helm
 description: A Helm chart for Kubernetes
diff --git a/k8s_spark/parquet.spark.helm/templates/_helpers.tpl b/k8s_spark/parquet.spark.helm/templates/_helpers.tpl
index c94b8c7..3da5340 100644
--- a/k8s_spark/parquet.spark.helm/templates/_helpers.tpl
+++ b/k8s_spark/parquet.spark.helm/templates/_helpers.tpl
@@ -1,3 +1,20 @@
+{{/*
+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.
+*/}}
+
 {{/*
 Expand the name of the chart.
 */}}
diff --git a/k8s_spark/parquet.spark.helm/templates/deployment.yaml b/k8s_spark/parquet.spark.helm/templates/deployment.yaml
index 8896e6a..8571ab9 100644
--- a/k8s_spark/parquet.spark.helm/templates/deployment.yaml
+++ b/k8s_spark/parquet.spark.helm/templates/deployment.yaml
@@ -1,3 +1,18 @@
+# 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.
+
 apiVersion: apps/v1
 kind: Deployment
 metadata:
diff --git a/k8s_spark/parquet.spark.helm/templates/hpa.yaml b/k8s_spark/parquet.spark.helm/templates/hpa.yaml
index feef8f1..d784f61 100644
--- a/k8s_spark/parquet.spark.helm/templates/hpa.yaml
+++ b/k8s_spark/parquet.spark.helm/templates/hpa.yaml
@@ -1,3 +1,18 @@
+# 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.
+
 {{- if .Values.autoscaling.enabled }}
 apiVersion: autoscaling/v2beta1
 kind: HorizontalPodAutoscaler
diff --git a/k8s_spark/parquet.spark.helm/templates/ingress.yaml b/k8s_spark/parquet.spark.helm/templates/ingress.yaml
index ac58a0a..a97bfdb 100644
--- a/k8s_spark/parquet.spark.helm/templates/ingress.yaml
+++ b/k8s_spark/parquet.spark.helm/templates/ingress.yaml
@@ -1,3 +1,18 @@
+# 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.
+
 {{- if .Values.ingress.enabled -}}
 
 {{- $fullName := include "parquet.spark.helm.fullname" . -}}
diff --git a/k8s_spark/parquet.spark.helm/templates/secret.yaml b/k8s_spark/parquet.spark.helm/templates/secret.yaml
index ba953bb..880e0a4 100644
--- a/k8s_spark/parquet.spark.helm/templates/secret.yaml
+++ b/k8s_spark/parquet.spark.helm/templates/secret.yaml
@@ -1,3 +1,18 @@
+# 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.
+
 {{ with .Values.aws_creds }}
 apiVersion: v1
 kind: Secret
diff --git a/k8s_spark/parquet.spark.helm/templates/service.yaml b/k8s_spark/parquet.spark.helm/templates/service.yaml
index f78df71..6677139 100644
--- a/k8s_spark/parquet.spark.helm/templates/service.yaml
+++ b/k8s_spark/parquet.spark.helm/templates/service.yaml
@@ -1,3 +1,18 @@
+# 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.
+
 apiVersion: v1
 kind: Service
 metadata:
diff --git a/k8s_spark/parquet.spark.helm/templates/serviceaccount.yaml b/k8s_spark/parquet.spark.helm/templates/serviceaccount.yaml
index dbb2c21..8cd2d2c 100644
--- a/k8s_spark/parquet.spark.helm/templates/serviceaccount.yaml
+++ b/k8s_spark/parquet.spark.helm/templates/serviceaccount.yaml
@@ -1,3 +1,18 @@
+# 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.
+
 {{- if .Values.serviceAccount.create -}}
 apiVersion: v1
 kind: ServiceAccount
diff --git a/k8s_spark/parquet.spark.helm/templates/tests/test-connection.yaml b/k8s_spark/parquet.spark.helm/templates/tests/test-connection.yaml
index e9fbcd5..d9fe0c8 100644
--- a/k8s_spark/parquet.spark.helm/templates/tests/test-connection.yaml
+++ b/k8s_spark/parquet.spark.helm/templates/tests/test-connection.yaml
@@ -1,3 +1,18 @@
+# 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.
+
 apiVersion: v1
 kind: Pod
 metadata:
diff --git a/k8s_spark/parquet.spark.helm/values.yaml b/k8s_spark/parquet.spark.helm/values.yaml
index f9be60c..e7098fc 100644
--- a/k8s_spark/parquet.spark.helm/values.yaml
+++ b/k8s_spark/parquet.spark.helm/values.yaml
@@ -1,3 +1,18 @@
+# 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.
+
 # Default values for parquet.spark.helm.
 # This is a YAML-formatted file.
 # Declare variables to be passed into your templates.
diff --git a/local.spark.cluster/build.sh b/local.spark.cluster/build.sh
index b83eb01..8fb5dab 100755
--- a/local.spark.cluster/build.sh
+++ b/local.spark.cluster/build.sh
@@ -1,3 +1,18 @@
+# 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.
+
 # -- Software Stack Version
 
 SPARK_VERSION="3.0.0"
diff --git a/local.spark.cluster/cluster-base.Dockerfile b/local.spark.cluster/cluster-base.Dockerfile
index 3e62afb..83b229d 100644
--- a/local.spark.cluster/cluster-base.Dockerfile
+++ b/local.spark.cluster/cluster-base.Dockerfile
@@ -1,3 +1,18 @@
+# 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.
+
 ARG debian_buster_image_tag=8-jre-slim
 FROM openjdk:${debian_buster_image_tag}
 
diff --git a/local.spark.cluster/docker-compose.yml b/local.spark.cluster/docker-compose.yml
index 188634a..bcdf4d0 100644
--- a/local.spark.cluster/docker-compose.yml
+++ b/local.spark.cluster/docker-compose.yml
@@ -1,3 +1,18 @@
+# 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.
+
 version: "3.6"
 x-services-volume:
   &shared-workspace
diff --git a/local.spark.cluster/jupyterlab.Dockerfile b/local.spark.cluster/jupyterlab.Dockerfile
index aaf805c..501cde0 100644
--- a/local.spark.cluster/jupyterlab.Dockerfile
+++ b/local.spark.cluster/jupyterlab.Dockerfile
@@ -1,3 +1,18 @@
+# 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 cluster-base
 
 # -- Layer: JupyterLab
diff --git a/local.spark.cluster/parquet-flask.Dockerfile b/local.spark.cluster/parquet-flask.Dockerfile
index c74e6f3..e038ab4 100644
--- a/local.spark.cluster/parquet-flask.Dockerfile
+++ b/local.spark.cluster/parquet-flask.Dockerfile
@@ -1,3 +1,18 @@
+# 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 spark-base
 
 RUN mkdir /usr/app
diff --git a/local.spark.cluster/spark-base.Dockerfile b/local.spark.cluster/spark-base.Dockerfile
index ba4a405..90d3623 100644
--- a/local.spark.cluster/spark-base.Dockerfile
+++ b/local.spark.cluster/spark-base.Dockerfile
@@ -1,3 +1,18 @@
+# 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 cluster-base
 
 # -- Layer: Apache Spark
diff --git a/local.spark.cluster/spark-master.Dockerfile b/local.spark.cluster/spark-master.Dockerfile
index 05d37a5..2ad2526 100644
--- a/local.spark.cluster/spark-master.Dockerfile
+++ b/local.spark.cluster/spark-master.Dockerfile
@@ -1,3 +1,18 @@
+# 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 spark-base
 
 # -- Runtime
diff --git a/local.spark.cluster/spark-worker.Dockerfile b/local.spark.cluster/spark-worker.Dockerfile
index a56a048..ae09a3c 100644
--- a/local.spark.cluster/spark-worker.Dockerfile
+++ b/local.spark.cluster/spark-worker.Dockerfile
@@ -1,3 +1,18 @@
+# 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 spark-base
 
 # -- Runtime
diff --git a/one_offs/local_flask.py b/one_offs/local_flask.py
index 7553cdf..70670f9 100644
--- a/one_offs/local_flask.py
+++ b/one_offs/local_flask.py
@@ -1,3 +1,18 @@
+# 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.
+
 import os
 
 from parquet_flask.__main__ import flask_me
diff --git a/one_offs/py_geo_hash_test.py b/one_offs/py_geo_hash_test.py
index d59bc21..3c63625 100644
--- a/one_offs/py_geo_hash_test.py
+++ b/one_offs/py_geo_hash_test.py
@@ -1,3 +1,18 @@
+# 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 collections import defaultdict
 
 import pygeohash
diff --git a/one_offs/trigger.s3.ingest.py b/one_offs/trigger.s3.ingest.py
index acc0fbb..e081f29 100644
--- a/one_offs/trigger.s3.ingest.py
+++ b/one_offs/trigger.s3.ingest.py
@@ -1,3 +1,18 @@
+# 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.
+
 import os
 
 from flask import Flask
diff --git a/parquet_cli/__init__.py b/parquet_cli/__init__.py
index e69de29..8afd240 100644
--- a/parquet_cli/__init__.py
+++ b/parquet_cli/__init__.py
@@ -0,0 +1,15 @@
+# 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.
+
diff --git a/parquet_cli/ingest_s3/__init__.py b/parquet_cli/ingest_s3/__init__.py
index e69de29..8afd240 100644
--- a/parquet_cli/ingest_s3/__init__.py
+++ b/parquet_cli/ingest_s3/__init__.py
@@ -0,0 +1,15 @@
+# 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.
+
diff --git a/parquet_cli/ingest_s3/__main__.py b/parquet_cli/ingest_s3/__main__.py
index c4a2948..205f0ac 100644
--- a/parquet_cli/ingest_s3/__main__.py
+++ b/parquet_cli/ingest_s3/__main__.py
@@ -1,3 +1,18 @@
+# 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.
+
 import argparse
 import base64
 import logging
diff --git a/parquet_flask/authenticator/__init__.py b/parquet_flask/authenticator/__init__.py
index e69de29..8afd240 100644
--- a/parquet_flask/authenticator/__init__.py
+++ b/parquet_flask/authenticator/__init__.py
@@ -0,0 +1,15 @@
+# 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.
+
diff --git a/parquet_flask/authenticator/authenticator_abstract.py b/parquet_flask/authenticator/authenticator_abstract.py
index e1e3be0..9a9693b 100644
--- a/parquet_flask/authenticator/authenticator_abstract.py
+++ b/parquet_flask/authenticator/authenticator_abstract.py
@@ -1,3 +1,18 @@
+# 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 abc import ABC, abstractmethod
 from typing import Union
 
diff --git a/parquet_flask/authenticator/authenticator_aws_secret_manager.py b/parquet_flask/authenticator/authenticator_aws_secret_manager.py
index 73d92d6..80932f1 100644
--- a/parquet_flask/authenticator/authenticator_aws_secret_manager.py
+++ b/parquet_flask/authenticator/authenticator_aws_secret_manager.py
@@ -1,3 +1,18 @@
+# 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.
+
 import base64
 import json
 from typing import Union
diff --git a/parquet_flask/authenticator/authenticator_factory.py b/parquet_flask/authenticator/authenticator_factory.py
index c624250..7baec63 100644
--- a/parquet_flask/authenticator/authenticator_factory.py
+++ b/parquet_flask/authenticator/authenticator_factory.py
@@ -1,3 +1,18 @@
+# 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 parquet_flask.authenticator.authenticator_aws_secret_manager import AuthenticatorAwsSecretManager
 from parquet_flask.authenticator.authenticator_filebased import AuthenticatorFileBased
 from parquet_flask.authenticator.authenticator_pass_through import AuthenticatorPassThrough
diff --git a/parquet_flask/authenticator/authenticator_filebased.py b/parquet_flask/authenticator/authenticator_filebased.py
index 2560ffb..0444e61 100644
--- a/parquet_flask/authenticator/authenticator_filebased.py
+++ b/parquet_flask/authenticator/authenticator_filebased.py
@@ -1,3 +1,18 @@
+# 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.
+
 import base64
 from typing import Union
 
diff --git a/parquet_flask/authenticator/authenticator_pass_through.py b/parquet_flask/authenticator/authenticator_pass_through.py
index 77f7590..f662967 100644
--- a/parquet_flask/authenticator/authenticator_pass_through.py
+++ b/parquet_flask/authenticator/authenticator_pass_through.py
@@ -1,3 +1,18 @@
+# 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 typing import Union
 
 from parquet_flask.authenticator.authenticator_abstract import AuthenticatorAbstract
diff --git a/parquet_flask/aws/aws_secret_manager.py b/parquet_flask/aws/aws_secret_manager.py
index 642106a..a300698 100644
--- a/parquet_flask/aws/aws_secret_manager.py
+++ b/parquet_flask/aws/aws_secret_manager.py
@@ -1,3 +1,18 @@
+# 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.
+
 import base64
 
 from botocore.exceptions import ClientError
diff --git a/parquet_flask/aws/es_abstract.py b/parquet_flask/aws/es_abstract.py
index 701a022..532537a 100644
--- a/parquet_flask/aws/es_abstract.py
+++ b/parquet_flask/aws/es_abstract.py
@@ -1,3 +1,18 @@
+# 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 abc import ABC, abstractmethod
 from typing import Any, Union, Callable
 
diff --git a/parquet_flask/aws/es_factory.py b/parquet_flask/aws/es_factory.py
index 62cc418..7ba3a26 100644
--- a/parquet_flask/aws/es_factory.py
+++ b/parquet_flask/aws/es_factory.py
@@ -1,3 +1,18 @@
+# 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 parquet_flask.utils.factory_abstract import FactoryAbstract
 
 
diff --git a/parquet_flask/aws/es_middleware.py b/parquet_flask/aws/es_middleware.py
index ede243b..0d4e34b 100644
--- a/parquet_flask/aws/es_middleware.py
+++ b/parquet_flask/aws/es_middleware.py
@@ -1,3 +1,18 @@
+# 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.
+
 import logging
 
 from elasticsearch import Elasticsearch
diff --git a/parquet_flask/aws/es_middleware_aws.py b/parquet_flask/aws/es_middleware_aws.py
index abf018d..30187bb 100644
--- a/parquet_flask/aws/es_middleware_aws.py
+++ b/parquet_flask/aws/es_middleware_aws.py
@@ -1,3 +1,18 @@
+# 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.
+
 import logging
 
 from elasticsearch import Elasticsearch, RequestsHttpConnection
diff --git a/parquet_flask/cdms_lambda_func/__init__.py b/parquet_flask/cdms_lambda_func/__init__.py
index e69de29..8afd240 100644
--- a/parquet_flask/cdms_lambda_func/__init__.py
+++ b/parquet_flask/cdms_lambda_func/__init__.py
@@ -0,0 +1,15 @@
+# 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.
+
diff --git a/parquet_flask/cdms_lambda_func/cdms_lambda_constants.py b/parquet_flask/cdms_lambda_func/cdms_lambda_constants.py
index 4109966..a37b8e8 100644
--- a/parquet_flask/cdms_lambda_func/cdms_lambda_constants.py
+++ b/parquet_flask/cdms_lambda_func/cdms_lambda_constants.py
@@ -1,3 +1,18 @@
+# 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.
+
 class CdmsLambdaConstants:
     es_url = 'es_url'
     es_index = 'es_index'
diff --git a/parquet_flask/cdms_lambda_func/index_to_es/__init__.py b/parquet_flask/cdms_lambda_func/index_to_es/__init__.py
index e69de29..8afd240 100644
--- a/parquet_flask/cdms_lambda_func/index_to_es/__init__.py
+++ b/parquet_flask/cdms_lambda_func/index_to_es/__init__.py
@@ -0,0 +1,15 @@
+# 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.
+
diff --git a/parquet_flask/cdms_lambda_func/index_to_es/execute_lambda.py b/parquet_flask/cdms_lambda_func/index_to_es/execute_lambda.py
index ce32edf..67d14e5 100644
--- a/parquet_flask/cdms_lambda_func/index_to_es/execute_lambda.py
+++ b/parquet_flask/cdms_lambda_func/index_to_es/execute_lambda.py
@@ -1,3 +1,18 @@
+# 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.
+
 import os
 
 from parquet_flask.cdms_lambda_func.lambda_logger_generator import LambdaLoggerGenerator
diff --git a/parquet_flask/cdms_lambda_func/index_to_es/parquet_file_es_indexer.py b/parquet_flask/cdms_lambda_func/index_to_es/parquet_file_es_indexer.py
index 6075ffd..523adfa 100644
--- a/parquet_flask/cdms_lambda_func/index_to_es/parquet_file_es_indexer.py
+++ b/parquet_flask/cdms_lambda_func/index_to_es/parquet_file_es_indexer.py
@@ -1,3 +1,18 @@
+# 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.
+
 import os
 
 from parquet_flask.parquet_stat_extractor.local_statistics_retriever import LocalStatisticsRetriever
diff --git a/parquet_flask/cdms_lambda_func/index_to_es/parquet_stat_extractor.py b/parquet_flask/cdms_lambda_func/index_to_es/parquet_stat_extractor.py
index c96b945..5255be1 100644
--- a/parquet_flask/cdms_lambda_func/index_to_es/parquet_stat_extractor.py
+++ b/parquet_flask/cdms_lambda_func/index_to_es/parquet_stat_extractor.py
@@ -1,3 +1,18 @@
+# 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.
+
 import json
 import os
 
diff --git a/parquet_flask/cdms_lambda_func/index_to_es/s3_stat_extractor.py b/parquet_flask/cdms_lambda_func/index_to_es/s3_stat_extractor.py
index 6cd9615..9c7c6d4 100644
--- a/parquet_flask/cdms_lambda_func/index_to_es/s3_stat_extractor.py
+++ b/parquet_flask/cdms_lambda_func/index_to_es/s3_stat_extractor.py
@@ -1,3 +1,18 @@
+# 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 parquet_flask.io_logic.cdms_constants import CDMSConstants
 
 
diff --git a/parquet_flask/cdms_lambda_func/ingest_s3_to_cdms/__init__.py b/parquet_flask/cdms_lambda_func/ingest_s3_to_cdms/__init__.py
index e69de29..8afd240 100644
--- a/parquet_flask/cdms_lambda_func/ingest_s3_to_cdms/__init__.py
+++ b/parquet_flask/cdms_lambda_func/ingest_s3_to_cdms/__init__.py
@@ -0,0 +1,15 @@
+# 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.
+
diff --git a/parquet_flask/cdms_lambda_func/ingest_s3_to_cdms/execute_lambda.py b/parquet_flask/cdms_lambda_func/ingest_s3_to_cdms/execute_lambda.py
index 85c2c92..c272272 100644
--- a/parquet_flask/cdms_lambda_func/ingest_s3_to_cdms/execute_lambda.py
+++ b/parquet_flask/cdms_lambda_func/ingest_s3_to_cdms/execute_lambda.py
@@ -1,3 +1,18 @@
+# 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 parquet_flask.cdms_lambda_func.ingest_s3_to_cdms.ingest_s3_to_cdms import IngestS3ToCdms
 
 
diff --git a/parquet_flask/cdms_lambda_func/ingest_s3_to_cdms/ingest_s3_to_cdms.py b/parquet_flask/cdms_lambda_func/ingest_s3_to_cdms/ingest_s3_to_cdms.py
index 8188564..3c9d88b 100644
--- a/parquet_flask/cdms_lambda_func/ingest_s3_to_cdms/ingest_s3_to_cdms.py
+++ b/parquet_flask/cdms_lambda_func/ingest_s3_to_cdms/ingest_s3_to_cdms.py
@@ -1,3 +1,18 @@
+# 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.
+
 import base64
 import json
 import os
diff --git a/parquet_flask/cdms_lambda_func/lambda_func_env.py b/parquet_flask/cdms_lambda_func/lambda_func_env.py
index c67d167..e5e246d 100644
--- a/parquet_flask/cdms_lambda_func/lambda_func_env.py
+++ b/parquet_flask/cdms_lambda_func/lambda_func_env.py
@@ -1,3 +1,18 @@
+# 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.
+
 class LambdaFuncEnv:
     LOG_LEVEL = 'LOG_LEVEL'
     PARQUET_META_TBL_NAME = 'PARQUET_META_TBL_NAME'
diff --git a/parquet_flask/cdms_lambda_func/lambda_logger_generator.py b/parquet_flask/cdms_lambda_func/lambda_logger_generator.py
index e00c10d..239df9d 100644
--- a/parquet_flask/cdms_lambda_func/lambda_logger_generator.py
+++ b/parquet_flask/cdms_lambda_func/lambda_logger_generator.py
@@ -1,3 +1,18 @@
+# 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.
+
 import logging
 import os
 import sys
diff --git a/parquet_flask/cdms_lambda_func/s3_records/__init__.py b/parquet_flask/cdms_lambda_func/s3_records/__init__.py
index e69de29..8afd240 100644
--- a/parquet_flask/cdms_lambda_func/s3_records/__init__.py
+++ b/parquet_flask/cdms_lambda_func/s3_records/__init__.py
@@ -0,0 +1,15 @@
+# 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.
+
diff --git a/parquet_flask/cdms_lambda_func/s3_records/s3_2_sqs.py b/parquet_flask/cdms_lambda_func/s3_records/s3_2_sqs.py
index c2ca16b..09c9c1d 100644
--- a/parquet_flask/cdms_lambda_func/s3_records/s3_2_sqs.py
+++ b/parquet_flask/cdms_lambda_func/s3_records/s3_2_sqs.py
@@ -1,3 +1,18 @@
+# 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.
+
 """
 {
   "Records": [
diff --git a/parquet_flask/cdms_lambda_func/s3_records/s3_event_validator_abstract.py b/parquet_flask/cdms_lambda_func/s3_records/s3_event_validator_abstract.py
index 27fc98a..24152dc 100644
--- a/parquet_flask/cdms_lambda_func/s3_records/s3_event_validator_abstract.py
+++ b/parquet_flask/cdms_lambda_func/s3_records/s3_event_validator_abstract.py
@@ -1,3 +1,18 @@
+# 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 abc import ABC, abstractmethod
 
 
diff --git a/parquet_flask/io_logic/cdms_schema.py b/parquet_flask/io_logic/cdms_schema.py
index 8b98556..810546a 100644
--- a/parquet_flask/io_logic/cdms_schema.py
+++ b/parquet_flask/io_logic/cdms_schema.py
@@ -1,3 +1,18 @@
+# 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 pyspark.sql.types import StructType, StructField, DoubleType, StringType, MapType, LongType, TimestampType, \
     IntegerType
 
diff --git a/parquet_flask/io_logic/parquet_paths_es_retriever.py b/parquet_flask/io_logic/parquet_paths_es_retriever.py
index 8302226..33e05fc 100644
--- a/parquet_flask/io_logic/parquet_paths_es_retriever.py
+++ b/parquet_flask/io_logic/parquet_paths_es_retriever.py
@@ -1,3 +1,18 @@
+# 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.
+
 import logging
 from collections import defaultdict
 
diff --git a/parquet_flask/io_logic/parquet_query_condition_management_v3.py b/parquet_flask/io_logic/parquet_query_condition_management_v3.py
index d6212b3..17e9b05 100644
--- a/parquet_flask/io_logic/parquet_query_condition_management_v3.py
+++ b/parquet_flask/io_logic/parquet_query_condition_management_v3.py
@@ -1,3 +1,18 @@
+# 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.
+
 import logging
 
 from parquet_flask.io_logic.ingest_new_file import GEOSPATIAL_INTERVAL
diff --git a/parquet_flask/io_logic/parquet_query_condition_management_v4.py b/parquet_flask/io_logic/parquet_query_condition_management_v4.py
index fd6d669..4d55825 100644
--- a/parquet_flask/io_logic/parquet_query_condition_management_v4.py
+++ b/parquet_flask/io_logic/parquet_query_condition_management_v4.py
@@ -1,3 +1,18 @@
+# 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.
+
 import logging
 
 from parquet_flask.io_logic.parquet_paths_es_retriever import ParquetPathsEsRetriever
diff --git a/parquet_flask/io_logic/partitioned_parquet_path.py b/parquet_flask/io_logic/partitioned_parquet_path.py
index e7ef4e8..2bf9d3d 100644
--- a/parquet_flask/io_logic/partitioned_parquet_path.py
+++ b/parquet_flask/io_logic/partitioned_parquet_path.py
@@ -1,3 +1,18 @@
+# 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 copy import copy
 
 from parquet_flask.io_logic.cdms_constants import CDMSConstants
diff --git a/parquet_flask/io_logic/spark_constants.py b/parquet_flask/io_logic/spark_constants.py
index f4e9495..5b7ef57 100644
--- a/parquet_flask/io_logic/spark_constants.py
+++ b/parquet_flask/io_logic/spark_constants.py
@@ -1,3 +1,18 @@
+# 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.
+
 class SparkConstants:
     SIMPLE_CRED = 'org.apache.hadoop.fs.s3a.SimpleAWSCredentialsProvider'
     TEMP_CRED = 'org.apache.hadoop.fs.s3a.TemporaryAWSCredentialsProvider'
diff --git a/parquet_flask/io_logic/sub_collection_statistics.py b/parquet_flask/io_logic/sub_collection_statistics.py
index 5b63375..9c08cfa 100644
--- a/parquet_flask/io_logic/sub_collection_statistics.py
+++ b/parquet_flask/io_logic/sub_collection_statistics.py
@@ -1,3 +1,18 @@
+# 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.
+
 import json
 import logging
 
diff --git a/parquet_flask/parquet_stat_extractor/__init__.py b/parquet_flask/parquet_stat_extractor/__init__.py
index e69de29..8afd240 100644
--- a/parquet_flask/parquet_stat_extractor/__init__.py
+++ b/parquet_flask/parquet_stat_extractor/__init__.py
@@ -0,0 +1,15 @@
+# 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.
+
diff --git a/parquet_flask/parquet_stat_extractor/local_spark_session.py b/parquet_flask/parquet_stat_extractor/local_spark_session.py
index a2cafea..ef8d276 100644
--- a/parquet_flask/parquet_stat_extractor/local_spark_session.py
+++ b/parquet_flask/parquet_stat_extractor/local_spark_session.py
@@ -1,3 +1,18 @@
+# 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 pyspark.sql import SparkSession
 
 from parquet_flask.utils.singleton import Singleton
diff --git a/parquet_flask/parquet_stat_extractor/local_statistics_retriever.py b/parquet_flask/parquet_stat_extractor/local_statistics_retriever.py
index 6e384f7..bdce588 100644
--- a/parquet_flask/parquet_stat_extractor/local_statistics_retriever.py
+++ b/parquet_flask/parquet_stat_extractor/local_statistics_retriever.py
@@ -1,3 +1,18 @@
+# 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.
+
 import logging
 
 from parquet_flask.parquet_stat_extractor.local_spark_session import LocalSparkSession
diff --git a/parquet_flask/parquet_stat_extractor/statistics_retriever.py b/parquet_flask/parquet_stat_extractor/statistics_retriever.py
index 2b1eceb..44f46df 100644
--- a/parquet_flask/parquet_stat_extractor/statistics_retriever.py
+++ b/parquet_flask/parquet_stat_extractor/statistics_retriever.py
@@ -1,3 +1,18 @@
+# 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.
+
 import logging
 
 from pyspark.sql.dataframe import DataFrame
diff --git a/parquet_flask/parquet_stat_extractor/statistics_retriever_wrapper.py b/parquet_flask/parquet_stat_extractor/statistics_retriever_wrapper.py
index df8d1b8..5d773c6 100644
--- a/parquet_flask/parquet_stat_extractor/statistics_retriever_wrapper.py
+++ b/parquet_flask/parquet_stat_extractor/statistics_retriever_wrapper.py
@@ -1,3 +1,18 @@
+# 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.
+
 import logging
 
 from parquet_flask.utils.file_utils import FileUtils
diff --git a/parquet_flask/utils/factory_abstract.py b/parquet_flask/utils/factory_abstract.py
index 16de81c..46a1df4 100644
--- a/parquet_flask/utils/factory_abstract.py
+++ b/parquet_flask/utils/factory_abstract.py
@@ -1,3 +1,18 @@
+# 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 abc import ABC, abstractmethod
 
 
diff --git a/parquet_flask/utils/spatial_utils.py b/parquet_flask/utils/spatial_utils.py
index d4b5a4f..340f428 100644
--- a/parquet_flask/utils/spatial_utils.py
+++ b/parquet_flask/utils/spatial_utils.py
@@ -1,3 +1,18 @@
+# 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.
+
 import math
 
 
diff --git a/parquet_flask/v1/__init__.py b/parquet_flask/v1/__init__.py
index 7b0ab50..0dd7851 100644
--- a/parquet_flask/v1/__init__.py
+++ b/parquet_flask/v1/__init__.py
@@ -12,6 +12,7 @@
 # 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.
+
 import os
 
 from flask import Blueprint
diff --git a/parquet_flask/v1/authenticator_decorator.py b/parquet_flask/v1/authenticator_decorator.py
index 65328fa..3dd3f77 100644
--- a/parquet_flask/v1/authenticator_decorator.py
+++ b/parquet_flask/v1/authenticator_decorator.py
@@ -1,3 +1,18 @@
+# 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 functools import wraps
 
 from flask import request
diff --git a/parquet_flask/v1/cdms_schema.py b/parquet_flask/v1/cdms_schema.py
index 5a6ded2..5705d56 100644
--- a/parquet_flask/v1/cdms_schema.py
+++ b/parquet_flask/v1/cdms_schema.py
@@ -1,3 +1,18 @@
+# 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.
+
 import logging
 
 from flask_restx import Resource, Namespace, fields
diff --git a/parquet_flask/v1/insitu_query_swagger/insitu-spec-0.0.1.yml b/parquet_flask/v1/insitu_query_swagger/insitu-spec-0.0.1.yml
index 6d171fb..16b1252 100644
--- a/parquet_flask/v1/insitu_query_swagger/insitu-spec-0.0.1.yml
+++ b/parquet_flask/v1/insitu_query_swagger/insitu-spec-0.0.1.yml
@@ -1,3 +1,18 @@
+# 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.
+
 openapi: 3.0.3
 info:
   title: in-situ-data-services
diff --git a/rotate_keys.bash b/rotate_keys.bash
index f48c1ac..c723fe9 100755
--- a/rotate_keys.bash
+++ b/rotate_keys.bash
@@ -1,5 +1,20 @@
 #!/bin/bash
 
+# 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.
+
 # Replace old_access_key with the current access key that will expire.
 # Replace old_secret_key with the current secret key that will expire.
 # Then run the script.
diff --git a/tests/__init__.py b/tests/__init__.py
index e69de29..8afd240 100644
--- a/tests/__init__.py
+++ b/tests/__init__.py
@@ -0,0 +1,15 @@
+# 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.
+
diff --git a/tests/back_to_basis/__init__.py b/tests/back_to_basis/__init__.py
index e69de29..8afd240 100644
--- a/tests/back_to_basis/__init__.py
+++ b/tests/back_to_basis/__init__.py
@@ -0,0 +1,15 @@
+# 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.
+
diff --git a/tests/back_to_basis/local_spark.py b/tests/back_to_basis/local_spark.py
index cab229c..deff824 100644
--- a/tests/back_to_basis/local_spark.py
+++ b/tests/back_to_basis/local_spark.py
@@ -1,3 +1,18 @@
+# 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.
+
 import os
 
 
diff --git a/tests/back_to_basis/s3_read.py b/tests/back_to_basis/s3_read.py
index 7b366ea..d0b75db 100644
--- a/tests/back_to_basis/s3_read.py
+++ b/tests/back_to_basis/s3_read.py
@@ -1,3 +1,18 @@
+# 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 datetime import datetime
 
 import findspark
diff --git a/tests/back_to_basis/s3_spark.py b/tests/back_to_basis/s3_spark.py
index db126a1..0ed81f5 100644
--- a/tests/back_to_basis/s3_spark.py
+++ b/tests/back_to_basis/s3_spark.py
@@ -1,3 +1,18 @@
+# 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.
+
 import json
 
 import findspark
diff --git a/tests/bench_mark/__init__.py b/tests/bench_mark/__init__.py
index e69de29..8afd240 100644
--- a/tests/bench_mark/__init__.py
+++ b/tests/bench_mark/__init__.py
@@ -0,0 +1,15 @@
+# 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.
+
diff --git a/tests/bench_mark/bench_mark.py b/tests/bench_mark/bench_mark.py
index 240dcd8..5f5bd4d 100644
--- a/tests/bench_mark/bench_mark.py
+++ b/tests/bench_mark/bench_mark.py
@@ -1,3 +1,18 @@
+# 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.
+
 import json
 
 import requests
diff --git a/tests/bench_mark/bench_parallel_process.py b/tests/bench_mark/bench_parallel_process.py
index 9dc6c8d..c9bb0b4 100644
--- a/tests/bench_mark/bench_parallel_process.py
+++ b/tests/bench_mark/bench_parallel_process.py
@@ -1,3 +1,18 @@
+# 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.
+
 import json
 from datetime import datetime
 from multiprocessing.context import Process
diff --git a/tests/bench_mark/func_exec_time_decorator.py b/tests/bench_mark/func_exec_time_decorator.py
index 78499cb..e574a36 100644
--- a/tests/bench_mark/func_exec_time_decorator.py
+++ b/tests/bench_mark/func_exec_time_decorator.py
@@ -1,3 +1,18 @@
+# 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.
+
 import logging
 from datetime import datetime
 from functools import wraps
diff --git a/tests/get_aws_creds.py b/tests/get_aws_creds.py
index 53bca0b..8d0e8f9 100644
--- a/tests/get_aws_creds.py
+++ b/tests/get_aws_creds.py
@@ -1,3 +1,18 @@
+# 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.
+
 import configparser
 
 cred_file_path = '/Users/wphyo/.aws/credentials'
diff --git a/tests/parquet_flask/__init__.py b/tests/parquet_flask/__init__.py
index e69de29..8afd240 100644
--- a/tests/parquet_flask/__init__.py
+++ b/tests/parquet_flask/__init__.py
@@ -0,0 +1,15 @@
+# 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.
+
diff --git a/tests/parquet_flask/aws/__init__.py b/tests/parquet_flask/aws/__init__.py
index e69de29..8afd240 100644
--- a/tests/parquet_flask/aws/__init__.py
+++ b/tests/parquet_flask/aws/__init__.py
@@ -0,0 +1,15 @@
+# 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.
+
diff --git a/tests/parquet_flask/aws/manual_test_es_middleware_aws.py b/tests/parquet_flask/aws/manual_test_es_middleware_aws.py
index a88cea8..7fa01bc 100644
--- a/tests/parquet_flask/aws/manual_test_es_middleware_aws.py
+++ b/tests/parquet_flask/aws/manual_test_es_middleware_aws.py
@@ -1,3 +1,18 @@
+# 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.
+
 import os
 
 from tests.get_aws_creds import export_as_env
diff --git a/tests/parquet_flask/cdms_lambda_func/__init__.py b/tests/parquet_flask/cdms_lambda_func/__init__.py
index e69de29..8afd240 100644
--- a/tests/parquet_flask/cdms_lambda_func/__init__.py
+++ b/tests/parquet_flask/cdms_lambda_func/__init__.py
@@ -0,0 +1,15 @@
+# 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.
+
diff --git a/tests/parquet_flask/cdms_lambda_func/index_to_es/__init__.py b/tests/parquet_flask/cdms_lambda_func/index_to_es/__init__.py
index e69de29..8afd240 100644
--- a/tests/parquet_flask/cdms_lambda_func/index_to_es/__init__.py
+++ b/tests/parquet_flask/cdms_lambda_func/index_to_es/__init__.py
@@ -0,0 +1,15 @@
+# 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.
+
diff --git a/tests/parquet_flask/cdms_lambda_func/index_to_es/manual_test_parquet_file_es_indexer.py b/tests/parquet_flask/cdms_lambda_func/index_to_es/manual_test_parquet_file_es_indexer.py
index daca856..04b41a8 100644
--- a/tests/parquet_flask/cdms_lambda_func/index_to_es/manual_test_parquet_file_es_indexer.py
+++ b/tests/parquet_flask/cdms_lambda_func/index_to_es/manual_test_parquet_file_es_indexer.py
@@ -1,3 +1,18 @@
+# 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.
+
 import json
 import os
 
diff --git a/tests/parquet_flask/cdms_lambda_func/index_to_es/test_parquet_stat_extractor.py b/tests/parquet_flask/cdms_lambda_func/index_to_es/test_parquet_stat_extractor.py
index de96b2e..ccd96e8 100644
--- a/tests/parquet_flask/cdms_lambda_func/index_to_es/test_parquet_stat_extractor.py
+++ b/tests/parquet_flask/cdms_lambda_func/index_to_es/test_parquet_stat_extractor.py
@@ -1,3 +1,18 @@
+# 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.
+
 import os
 from unittest import TestCase
 
diff --git a/tests/parquet_flask/cdms_lambda_func/index_to_es/test_s3_stat_extractor.py b/tests/parquet_flask/cdms_lambda_func/index_to_es/test_s3_stat_extractor.py
index 06ae0ae..3585a7f 100644
--- a/tests/parquet_flask/cdms_lambda_func/index_to_es/test_s3_stat_extractor.py
+++ b/tests/parquet_flask/cdms_lambda_func/index_to_es/test_s3_stat_extractor.py
@@ -1,3 +1,18 @@
+# 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.
+
 import json
 from unittest import TestCase
 
diff --git a/tests/parquet_flask/cdms_lambda_func/s3_records/__init__.py b/tests/parquet_flask/cdms_lambda_func/s3_records/__init__.py
index e69de29..8afd240 100644
--- a/tests/parquet_flask/cdms_lambda_func/s3_records/__init__.py
+++ b/tests/parquet_flask/cdms_lambda_func/s3_records/__init__.py
@@ -0,0 +1,15 @@
+# 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.
+
diff --git a/tests/parquet_flask/cdms_lambda_func/s3_records/test_s3_s2_sqs.py b/tests/parquet_flask/cdms_lambda_func/s3_records/test_s3_s2_sqs.py
index 69f69fc..7b91bf8 100644
--- a/tests/parquet_flask/cdms_lambda_func/s3_records/test_s3_s2_sqs.py
+++ b/tests/parquet_flask/cdms_lambda_func/s3_records/test_s3_s2_sqs.py
@@ -1,3 +1,18 @@
+# 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 unittest import TestCase
 
 from parquet_flask.cdms_lambda_func.s3_records.s3_2_sqs import S3ToSqs
diff --git a/tests/parquet_flask/io_logic/__init__.py b/tests/parquet_flask/io_logic/__init__.py
index e69de29..8afd240 100644
--- a/tests/parquet_flask/io_logic/__init__.py
+++ b/tests/parquet_flask/io_logic/__init__.py
@@ -0,0 +1,15 @@
+# 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.
+
diff --git a/tests/parquet_flask/io_logic/manual_test_parquet_paths_es_retriever.py b/tests/parquet_flask/io_logic/manual_test_parquet_paths_es_retriever.py
index f727a81..59749e5 100644
--- a/tests/parquet_flask/io_logic/manual_test_parquet_paths_es_retriever.py
+++ b/tests/parquet_flask/io_logic/manual_test_parquet_paths_es_retriever.py
@@ -1,3 +1,18 @@
+# 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.
+
 import os
 
 os.environ['master_spark_url'] = ''
diff --git a/tests/parquet_flask/io_logic/test_cdms_schema.py b/tests/parquet_flask/io_logic/test_cdms_schema.py
index 9d2557c..ba8360b 100644
--- a/tests/parquet_flask/io_logic/test_cdms_schema.py
+++ b/tests/parquet_flask/io_logic/test_cdms_schema.py
@@ -1,3 +1,18 @@
+# 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.
+
 import unittest
 import os
 
diff --git a/tests/parquet_flask/io_logic/test_ingest_new_file.py b/tests/parquet_flask/io_logic/test_ingest_new_file.py
index 39a293b..7aa5bd5 100644
--- a/tests/parquet_flask/io_logic/test_ingest_new_file.py
+++ b/tests/parquet_flask/io_logic/test_ingest_new_file.py
@@ -1,3 +1,18 @@
+# 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.
+
 import json
 import os
 from unittest import TestCase
diff --git a/tests/parquet_flask/io_logic/test_metadata_tbl_es.py b/tests/parquet_flask/io_logic/test_metadata_tbl_es.py
index 8248035..33e2af5 100644
--- a/tests/parquet_flask/io_logic/test_metadata_tbl_es.py
+++ b/tests/parquet_flask/io_logic/test_metadata_tbl_es.py
@@ -1,3 +1,18 @@
+# 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 time import sleep
 from unittest import TestCase
 
diff --git a/tests/parquet_flask/io_logic/test_parquet_query_condition_management_v3.py b/tests/parquet_flask/io_logic/test_parquet_query_condition_management_v3.py
index be83550..8de1c20 100644
--- a/tests/parquet_flask/io_logic/test_parquet_query_condition_management_v3.py
+++ b/tests/parquet_flask/io_logic/test_parquet_query_condition_management_v3.py
@@ -1,3 +1,18 @@
+# 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.
+
 import unittest
 
 from parquet_flask.io_logic.parquet_query_condition_management_v3 import ParquetQueryConditionManagementV3
diff --git a/tests/parquet_flask/io_logic/test_partitioned_parquet_path.py b/tests/parquet_flask/io_logic/test_partitioned_parquet_path.py
index 3a553e3..5301250 100644
--- a/tests/parquet_flask/io_logic/test_partitioned_parquet_path.py
+++ b/tests/parquet_flask/io_logic/test_partitioned_parquet_path.py
@@ -1,3 +1,18 @@
+# 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.
+
 import unittest
 
 from parquet_flask.io_logic.partitioned_parquet_path import PartitionedParquetPath
diff --git a/tests/parquet_flask/parquet_stat_extractor/__init__.py b/tests/parquet_flask/parquet_stat_extractor/__init__.py
index e69de29..8afd240 100644
--- a/tests/parquet_flask/parquet_stat_extractor/__init__.py
+++ b/tests/parquet_flask/parquet_stat_extractor/__init__.py
@@ -0,0 +1,15 @@
+# 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.
+
diff --git a/tests/parquet_flask/parquet_stat_extractor/test_local_statistics_retriever.py b/tests/parquet_flask/parquet_stat_extractor/test_local_statistics_retriever.py
index 3681647..d2c8d6a 100644
--- a/tests/parquet_flask/parquet_stat_extractor/test_local_statistics_retriever.py
+++ b/tests/parquet_flask/parquet_stat_extractor/test_local_statistics_retriever.py
@@ -1,3 +1,18 @@
+# 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.
+
 import unittest
 
 from parquet_flask.parquet_stat_extractor.local_statistics_retriever import LocalStatisticsRetriever
diff --git a/tests/parquet_flask/parquet_stat_extractor/test_statistics_retriever.py b/tests/parquet_flask/parquet_stat_extractor/test_statistics_retriever.py
index 57f0640..c649bd0 100644
--- a/tests/parquet_flask/parquet_stat_extractor/test_statistics_retriever.py
+++ b/tests/parquet_flask/parquet_stat_extractor/test_statistics_retriever.py
@@ -1,3 +1,18 @@
+# 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 unittest import TestCase
 
 from pyspark.sql import SparkSession
diff --git a/tests/parquet_flask/utils/__init__.py b/tests/parquet_flask/utils/__init__.py
index e69de29..8afd240 100644
--- a/tests/parquet_flask/utils/__init__.py
+++ b/tests/parquet_flask/utils/__init__.py
@@ -0,0 +1,15 @@
+# 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.
+
diff --git a/tests/parquet_flask/utils/test_general_utils.py b/tests/parquet_flask/utils/test_general_utils.py
index 90c65e6..513a326 100644
--- a/tests/parquet_flask/utils/test_general_utils.py
+++ b/tests/parquet_flask/utils/test_general_utils.py
@@ -1,3 +1,18 @@
+# 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.
+
 import unittest
 
 from parquet_flask.utils.general_utils import GeneralUtils
diff --git a/tests/parquet_flask/utils/test_spatial_utils.py b/tests/parquet_flask/utils/test_spatial_utils.py
index 7498d7a..c547431 100644
--- a/tests/parquet_flask/utils/test_spatial_utils.py
+++ b/tests/parquet_flask/utils/test_spatial_utils.py
@@ -1,3 +1,18 @@
+# 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.
+
 import unittest
 
 from parquet_flask.utils.spatial_utils import SpatialUtils