Skip to content

Commit

Permalink
Add a copyright checker as a pylint plugin (quantumlib#4577)
Browse files Browse the repository at this point in the history
This PR implements a pylint checker that automatically checks the copyright notice at the beginning of a python file. This task is proposed in [Issue 4564](quantumlib#4564).

The PR consists of the following parts:
1. The implemented pylint checker (dev_tools/pylint_copyright_checker.py) and its test file (dev_tools/pylint_copyright_checker_test.py). The checker reports a message with id "R0001" if there is no copyright notice or the notice does not conform to the standard one. The letter 'R' represents refactoring. The checking can be disabled in the file with pragma `# pylint: disable=wrong-copyright-notice`
2. Modification of pylint-related files (check/pylint, check/pylint-changed-files, dev_tools/conf/.pylintrc) to integrate the new checker into the workflow.
3. Python files that failed in this check. Some copyright notices were wrong (e.g. cirq-core/cirq/circuits/circuit_dag.py and cirq-core/cirq/ops/qubit_order_test.py), and they are corrected. Some files did not have a copyright notice. In this case, the "disable" pragma is added. Note that not all the files need to have a copyright notice, [probably](https://softwareengineering.stackexchange.com/a/19653/322605). After the modification, these files can pass pylint checking again.
  • Loading branch information
yjt98765 authored and rht committed May 1, 2023
1 parent 69f8e86 commit 62cf6a3
Show file tree
Hide file tree
Showing 237 changed files with 511 additions and 206 deletions.
3 changes: 2 additions & 1 deletion check/pylint
Original file line number Diff line number Diff line change
Expand Up @@ -13,4 +13,5 @@ cd "$(git rev-parse --show-toplevel)"

CIRQ_MODULES=$(env PYTHONPATH=. python dev_tools/modules.py list --mode package-path)

pylint --rcfile=dev_tools/conf/.pylintrc $@ $CIRQ_MODULES dev_tools examples
# Add dev_tools to $PYTHONPATH so that pylint can find custom checkers
env PYTHONPATH=dev_tools pylint --rcfile=dev_tools/conf/.pylintrc $@ $CIRQ_MODULES dev_tools examples
2 changes: 1 addition & 1 deletion check/pylint-changed-files
Original file line number Diff line number Diff line change
Expand Up @@ -64,5 +64,5 @@ echo "Found ${num_changed} lintable files associated with changes." >&2
if [ "${num_changed}" -eq 0 ]; then
exit 0
fi
pylint --rcfile=dev_tools/conf/.pylintrc ${changed[@]}
env PYTHONPATH=dev_tools pylint --rcfile=dev_tools/conf/.pylintrc ${changed[@]}

1 change: 1 addition & 0 deletions cirq-aqt/cirq_aqt/_version_test.py
Original file line number Diff line number Diff line change
@@ -1,3 +1,4 @@
# pylint: disable=wrong-or-nonexistent-copyright-notice
import cirq_aqt


Expand Down
1 change: 1 addition & 0 deletions cirq-core/cirq/_version_test.py
Original file line number Diff line number Diff line change
@@ -1,3 +1,4 @@
# pylint: disable=wrong-or-nonexistent-copyright-notice
import cirq


Expand Down
2 changes: 1 addition & 1 deletion cirq-core/cirq/circuits/circuit_dag.py
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
# Copyright 2018 The ops Developers
# Copyright 2018 The Cirq Developers
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
Expand Down
2 changes: 1 addition & 1 deletion cirq-core/cirq/contrib/acquaintance/__init__.py
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@
# 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
# https://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,
Expand Down
1 change: 1 addition & 0 deletions cirq-core/cirq/contrib/json.py
Original file line number Diff line number Diff line change
@@ -1,3 +1,4 @@
# pylint: disable=wrong-or-nonexistent-copyright-notice
"""Contains functions for adding JSON serialization and de-serialization for
classes in Contrib.
Expand Down
1 change: 1 addition & 0 deletions cirq-core/cirq/contrib/json_test.py
Original file line number Diff line number Diff line change
@@ -1,3 +1,4 @@
# pylint: disable=wrong-or-nonexistent-copyright-notice
import cirq
from cirq.contrib.quantum_volume import QuantumVolumeResult
from cirq.testing import assert_json_roundtrip_works
Expand Down
2 changes: 1 addition & 1 deletion cirq-core/cirq/contrib/paulistring/clifford_optimize.py
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
# Copyright 2018 The ops Developers
# Copyright 2018 The Cirq Developers
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
Expand Down
2 changes: 1 addition & 1 deletion cirq-core/cirq/contrib/paulistring/convert_gate_set.py
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
# Copyright 2018 The ops Developers
# Copyright 2018 The Cirq Developers
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
Expand Down
2 changes: 1 addition & 1 deletion cirq-core/cirq/contrib/paulistring/optimize.py
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
# Copyright 2018 The ops Developers
# Copyright 2018 The Cirq Developers
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
Expand Down
2 changes: 1 addition & 1 deletion cirq-core/cirq/contrib/paulistring/pauli_string_dag.py
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
# Copyright 2018 The ops Developers
# Copyright 2018 The Cirq Developers
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
# Copyright 2018 The ops Developers
# Copyright 2018 The Cirq Developers
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
Expand Down
2 changes: 1 addition & 1 deletion cirq-core/cirq/contrib/paulistring/recombine.py
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
# Copyright 2018 The ops Developers
# Copyright 2018 The Cirq Developers
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
Expand Down
2 changes: 1 addition & 1 deletion cirq-core/cirq/contrib/paulistring/separate.py
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
# Copyright 2018 The ops Developers
# Copyright 2018 The Cirq Developers
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
Expand Down
6 changes: 6 additions & 0 deletions cirq-core/cirq/contrib/qasm_import/_lexer_test.py
Original file line number Diff line number Diff line change
@@ -1,3 +1,9 @@
# Copyright 2021 The Cirq Developers
#
# Licensed 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
#
# https://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
Expand Down
6 changes: 6 additions & 0 deletions cirq-core/cirq/contrib/qasm_import/_parser_test.py
Original file line number Diff line number Diff line change
@@ -1,3 +1,9 @@
# Copyright 2021 The Cirq Developers
#
# Licensed 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
#
# https://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
Expand Down
2 changes: 1 addition & 1 deletion cirq-core/cirq/contrib/qcircuit/__init__.py
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@
# 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
# https://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,
Expand Down
1 change: 1 addition & 0 deletions cirq-core/cirq/contrib/quantum_volume/quantum_volume.py
Original file line number Diff line number Diff line change
@@ -1,3 +1,4 @@
# pylint: disable=wrong-or-nonexistent-copyright-notice
"""Utility functions to run the Quantum Volume benchmark defined by IBM in
https://arxiv.org/abs/1811.12926.
"""
Expand Down
Original file line number Diff line number Diff line change
@@ -1,3 +1,4 @@
# pylint: disable=wrong-or-nonexistent-copyright-notice
"""Tests for the Quantum Volume utilities."""

from unittest.mock import Mock, MagicMock
Expand Down
1 change: 1 addition & 0 deletions cirq-core/cirq/contrib/quimb/__init__.py
Original file line number Diff line number Diff line change
@@ -1,3 +1,4 @@
# pylint: disable=wrong-or-nonexistent-copyright-notice
from cirq.contrib.quimb.state_vector import (
circuit_for_expectation_value,
tensor_expectation_value,
Expand Down
1 change: 1 addition & 0 deletions cirq-core/cirq/contrib/quimb/density_matrix.py
Original file line number Diff line number Diff line change
@@ -1,3 +1,4 @@
# pylint: disable=wrong-or-nonexistent-copyright-notice
from functools import lru_cache
from typing import Sequence, Dict, Union, Tuple, List, Optional

Expand Down
1 change: 1 addition & 0 deletions cirq-core/cirq/contrib/quimb/density_matrix_test.py
Original file line number Diff line number Diff line change
@@ -1,3 +1,4 @@
# pylint: disable=wrong-or-nonexistent-copyright-notice
import numpy as np

import cirq
Expand Down
1 change: 1 addition & 0 deletions cirq-core/cirq/contrib/quimb/grid_circuits.py
Original file line number Diff line number Diff line change
@@ -1,3 +1,4 @@
# pylint: disable=wrong-or-nonexistent-copyright-notice
from typing import Optional, Iterator

import networkx as nx
Expand Down
1 change: 1 addition & 0 deletions cirq-core/cirq/contrib/quimb/grid_circuits_test.py
Original file line number Diff line number Diff line change
@@ -1,3 +1,4 @@
# pylint: disable=wrong-or-nonexistent-copyright-notice
import networkx as nx
import numpy as np
import pytest
Expand Down
1 change: 1 addition & 0 deletions cirq-core/cirq/contrib/quimb/mps_simulator_test.py
Original file line number Diff line number Diff line change
@@ -1,3 +1,4 @@
# pylint: disable=wrong-or-nonexistent-copyright-notice
import itertools
import math
from unittest import mock
Expand Down
1 change: 1 addition & 0 deletions cirq-core/cirq/contrib/quimb/state_vector.py
Original file line number Diff line number Diff line change
@@ -1,3 +1,4 @@
# pylint: disable=wrong-or-nonexistent-copyright-notice
import warnings
from typing import Sequence, Union, List, Tuple, Dict, Optional

Expand Down
1 change: 1 addition & 0 deletions cirq-core/cirq/contrib/quimb/state_vector_test.py
Original file line number Diff line number Diff line change
@@ -1,3 +1,4 @@
# pylint: disable=wrong-or-nonexistent-copyright-notice
import functools
import operator

Expand Down
2 changes: 1 addition & 1 deletion cirq-core/cirq/contrib/quirk/__init__.py
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@
# 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
# https://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,
Expand Down
2 changes: 1 addition & 1 deletion cirq-core/cirq/contrib/quirk/export_to_quirk.py
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@
# 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
# https://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,
Expand Down
2 changes: 1 addition & 1 deletion cirq-core/cirq/contrib/quirk/linearize_circuit.py
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@
# 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
# https://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,
Expand Down
2 changes: 1 addition & 1 deletion cirq-core/cirq/contrib/quirk/quirk_gate.py
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@
# 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
# https://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,
Expand Down
1 change: 1 addition & 0 deletions cirq-core/cirq/contrib/svg/__init__.py
Original file line number Diff line number Diff line change
@@ -1,3 +1,4 @@
# pylint: disable=wrong-or-nonexistent-copyright-notice
from cirq.contrib.svg.svg import (
SVGCircuit,
circuit_to_svg,
Expand Down
1 change: 1 addition & 0 deletions cirq-core/cirq/contrib/svg/svg.py
Original file line number Diff line number Diff line change
@@ -1,3 +1,4 @@
# pylint: disable=wrong-or-nonexistent-copyright-notice
from typing import TYPE_CHECKING, List, Tuple, cast, Dict

import matplotlib.textpath
Expand Down
1 change: 1 addition & 0 deletions cirq-core/cirq/contrib/svg/svg_test.py
Original file line number Diff line number Diff line change
@@ -1,3 +1,4 @@
# pylint: disable=wrong-or-nonexistent-copyright-notice
import pytest
import numpy as np

Expand Down
1 change: 1 addition & 0 deletions cirq-core/cirq/devices/device_test.py
Original file line number Diff line number Diff line change
@@ -1,3 +1,4 @@
# pylint: disable=wrong-or-nonexistent-copyright-notice
import pytest
import cirq

Expand Down
2 changes: 1 addition & 1 deletion cirq-core/cirq/devices/line_qubit.py
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@
# 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
# https://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,
Expand Down
2 changes: 1 addition & 1 deletion cirq-core/cirq/devices/line_qubit_test.py
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@
# 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
# https://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,
Expand Down
1 change: 1 addition & 0 deletions cirq-core/cirq/devices/noise_properties.py
Original file line number Diff line number Diff line change
@@ -1,3 +1,4 @@
# pylint: disable=wrong-or-nonexistent-copyright-notice
import warnings
from typing import Sequence, TYPE_CHECKING, List
from itertools import product
Expand Down
1 change: 1 addition & 0 deletions cirq-core/cirq/devices/noise_properties_test.py
Original file line number Diff line number Diff line change
@@ -1,3 +1,4 @@
# pylint: disable=wrong-or-nonexistent-copyright-notice
import pytest
import cirq
from cirq.testing import assert_equivalent_op_tree
Expand Down
Original file line number Diff line number Diff line change
@@ -1,3 +1,4 @@
# pylint: disable=wrong-or-nonexistent-copyright-notice
import os
import numpy as np
import cirq
Expand Down
1 change: 1 addition & 0 deletions cirq-core/cirq/interop/__init__.py
Original file line number Diff line number Diff line change
@@ -1,3 +1,4 @@
# pylint: disable=wrong-or-nonexistent-copyright-notice
"""Package containing code for interoperating with other quantum software."""

from cirq.interop.quirk import (
Expand Down
2 changes: 1 addition & 1 deletion cirq-core/cirq/interop/quirk/__init__.py
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@
# 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
# https://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,
Expand Down
2 changes: 1 addition & 1 deletion cirq-core/cirq/interop/quirk/cells/__init__.py
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@
# 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
# https://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,
Expand Down
2 changes: 1 addition & 1 deletion cirq-core/cirq/interop/quirk/cells/all_cells.py
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@
# 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
# https://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,
Expand Down
2 changes: 1 addition & 1 deletion cirq-core/cirq/interop/quirk/cells/arithmetic_cells.py
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@
# 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
# https://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,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@
# 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
# https://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,
Expand Down
2 changes: 1 addition & 1 deletion cirq-core/cirq/interop/quirk/cells/cell.py
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@
# 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
# https://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,
Expand Down
2 changes: 1 addition & 1 deletion cirq-core/cirq/interop/quirk/cells/cell_test.py
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@
# 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
# https://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,
Expand Down
2 changes: 1 addition & 1 deletion cirq-core/cirq/interop/quirk/cells/composite_cell.py
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@
# 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
# https://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,
Expand Down
2 changes: 1 addition & 1 deletion cirq-core/cirq/interop/quirk/cells/composite_cell_test.py
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@
# 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
# https://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,
Expand Down
2 changes: 1 addition & 1 deletion cirq-core/cirq/interop/quirk/cells/control_cells.py
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@
# 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
# https://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,
Expand Down
2 changes: 1 addition & 1 deletion cirq-core/cirq/interop/quirk/cells/control_cells_test.py
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@
# 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
# https://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,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@
# 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
# https://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,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@
# 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
# https://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,
Expand Down
2 changes: 1 addition & 1 deletion cirq-core/cirq/interop/quirk/cells/ignored_cells.py
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@
# 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
# https://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,
Expand Down
2 changes: 1 addition & 1 deletion cirq-core/cirq/interop/quirk/cells/ignored_cells_test.py
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@
# 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
# https://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,
Expand Down
Loading

0 comments on commit 62cf6a3

Please sign in to comment.