Repository: automl/DeepCAVE (language: python)

Issue:
Add licence to source files
- Add licence information to all source files.


Discussion / hints:

Fix patch:
diff --git a/CHANGELOG.md b/CHANGELOG.md
index 19bd44da..6bfe58ff 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -1,3 +1,9 @@
+# Version 1.3.1
+
+## Quality of Life
+- Improve documentation on installation of extra requirements.
+- Add licence information to all source files.
+
 # Version 1.3
 
 ## Converters
diff --git a/Makefile b/Makefile
index d0a07f08..3afee1db 100644
--- a/Makefile
+++ b/Makefile
@@ -2,7 +2,7 @@
 # are usually completed in github actions.
 
 SHELL := /bin/bash
-VERSION := 1.3
+VERSION := 1.3.1
 
 NAME := DeepCAVE
 PACKAGE_NAME := deepcave
diff --git a/README.md b/README.md
index 58337710..3354fcc5 100644
--- a/README.md
+++ b/README.md
@@ -25,26 +25,26 @@ conda install -c anaconda swig
 pip install DeepCAVE
 ```
 
-If you want to contribute to DeepCAVE use the following steps instead:
+To load runs created with Optuna or the BOHB optimizer, you need to install the
+respective packages by running:
 ```bash
-git clone https://github.com/automl/DeepCAVE.git
-cd DeepCAVE
-conda create -n DeepCAVE python=3.9
-conda activate DeepCAVE
-conda install -c anaconda swig
-make install-dev
+pip install deepcave[optuna]
+pip install deepcave[bohb]
 ```
 
-If you want to try the examples for recording your results in DeepCAVE format, run this after installing:
+To try the examples for recording your results in DeepCAVE format, run this after installing:
 ```bash
-make install-examples
+pip install deepcave[examples]
 ```
 
-To load runs created with Optuna or the BOHB optimizer, you need to install the
-respective packages by running:
+If you want to contribute to DeepCAVE, use the following steps instead:
 ```bash
-make install-optuna
-make install-bohb
+git clone https://github.com/automl/DeepCAVE.git
+cd DeepCAVE
+conda create -n DeepCAVE python=3.9
+conda activate DeepCAVE
+conda install -c anaconda swig
+make install-dev
 ```
 
 Please visit the [documentation](https://automl.github.io/DeepCAVE/main/installation.html) to get
@@ -132,4 +132,4 @@ If you use DeepCAVE in one of your research projects, please cite our [ReALML@IC
 }
 ```
 
-Copyright (C) 2016-2022  [AutoML Group](http://www.automl.org/).
\ No newline at end of file
+Copyright (C) 2021-2024 The DeepCAVE Authors
diff --git a/configs/local.py b/configs/local.py
index 9540c64d..2e203c96 100644
--- a/configs/local.py
+++ b/configs/local.py
@@ -1,3 +1,17 @@
+# Copyright 2021-2024 The DeepCAVE Authors
+#
+# 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
+#
+#   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 deepcave.config import Config as C
 
 
diff --git a/configs/server.py b/configs/server.py
index c7365928..75d8790a 100644
--- a/configs/server.py
+++ b/configs/server.py
@@ -1,3 +1,17 @@
+# Copyright 2021-2024 The DeepCAVE Authors
+#
+# 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
+#
+#   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 deepcave.config import Config as C
 
 
diff --git a/deepcave/__init__.py b/deepcave/__init__.py
index 3ccaefbc..2e7d2bfe 100644
--- a/deepcave/__init__.py
+++ b/deepcave/__init__.py
@@ -1,3 +1,17 @@
+# Copyright 2021-2024 The DeepCAVE Authors
+#
+# 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
+#
+#   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.
+
 #  noqa: D400
 """
 # DeepCAVE
@@ -18,16 +32,19 @@
 
 name = "DeepCAVE"
 package_name = "deepcave"
-author = "R. Sass and E. Bergman and A. Biedenkapp and F. Hutter and M. Lindauer"
+author = (
+    "S. Segel and H. Graf and E. Bergman and K. Thieme and L. Fehring and A. Tornede and "
+    "R. Sass and A. Biedenkapp and F. Hutter and M. Lindauer"
+)
 author_email = "l.fehring@ai.uni-hannover.de"
-description = "An interactive framework to visualize and analyze your AutoML process in real-time."
+description = "A Visualization and Analysis Tool for Automated Machine Learning."
 url = "automl.org"
 project_urls = {
     "Documentation": "https://automl.github.io/DeepCAVE/main",
     "Source Code": "https://github.com/automl/deepcave",
 }
 copyright = f"Copyright {datetime.date.today().strftime('%Y')}, {author}"
-version = "1.3"
+version = "1.3.1"
 
 _exec_file = sys.argv[0]
 _exec_files = ["server.py", "worker.py", "sphinx-build"]
diff --git a/deepcave/cli.py b/deepcave/cli.py
index ae23c9e1..ec755348 100644
--- a/deepcave/cli.py
+++ b/deepcave/cli.py
@@ -1,3 +1,17 @@
+# Copyright 2021-2024 The DeepCAVE Authors
+#
+# 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
+#
+#   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.
+
 #  noqa: D400
 """
 # CLI
diff --git a/deepcave/config.py b/deepcave/config.py
index 651f12e8..84c6aa58 100644
--- a/deepcave/config.py
+++ b/deepcave/config.py
@@ -1,3 +1,17 @@
+# Copyright 2021-2024 The DeepCAVE Authors
+#
+# 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
+#
+#   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.
+
 #  noqa: D400
 """
 # Config
diff --git a/deepcave/constants.py b/deepcave/constants.py
index abbc92cc..f8bee169 100644
--- a/deepcave/constants.py
+++ b/deepcave/constants.py
@@ -1,3 +1,17 @@
+# Copyright 2021-2024 The DeepCAVE Authors
+#
+# 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
+#
+#   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.
+
 #  noqa: D400
 """
 # Constants
diff --git a/deepcave/custom_queue.py b/deepcave/custom_queue.py
index dcc08b13..323fd37b 100644
--- a/deepcave/custom_queue.py
+++ b/deepcave/custom_queue.py
@@ -1,3 +1,17 @@
+# Copyright 2021-2024 The DeepCAVE Authors
+#
+# 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
+#
+#   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.
+
 #  noqa: D400
 """
 # Custom Queue
diff --git a/deepcave/evaluators/__init__.py b/deepcave/evaluators/__init__.py
index c53c4bf1..c39efbe1 100644
--- a/deepcave/evaluators/__init__.py
+++ b/deepcave/evaluators/__init__.py
@@ -1,3 +1,17 @@
+# Copyright 2021-2024 The DeepCAVE Authors
+#
+# 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
+#
+#   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.
+
 #  noqa: D400
 """
 # evaluators
diff --git a/deepcave/evaluators/ablation.py b/deepcave/evaluators/ablation.py
index 35cff38b..da14b7ba 100644
--- a/deepcave/evaluators/ablation.py
+++ b/deepcave/evaluators/ablation.py
@@ -1,3 +1,17 @@
+# Copyright 2021-2024 The DeepCAVE Authors
+#
+# 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
+#
+#   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.
+
 # noqa: D400
 """
 # Ablation Paths
diff --git a/deepcave/evaluators/epm/__init__.py b/deepcave/evaluators/epm/__init__.py
index a6a3c2e0..5ef0c529 100644
--- a/deepcave/evaluators/epm/__init__.py
+++ b/deepcave/evaluators/epm/__init__.py
@@ -1,3 +1,17 @@
+# Copyright 2021-2024 The DeepCAVE Authors
+#
+# 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
+#
+#   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.
+
 # noqa: D400
 """
 # epm
diff --git a/deepcave/evaluators/epm/fanova_forest.py b/deepcave/evaluators/epm/fanova_forest.py
index 4766e3f6..d97341a4 100644
--- a/deepcave/evaluators/epm/fanova_forest.py
+++ b/deepcave/evaluators/epm/fanova_forest.py
@@ -1,3 +1,17 @@
+# Copyright 2021-2024 The DeepCAVE Authors
+#
+# 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
+#
+#   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.
+
 # noqa: D400
 """
 # FanovaForest
diff --git a/deepcave/evaluators/epm/random_forest.py b/deepcave/evaluators/epm/random_forest.py
index d2d75d42..12ff25c5 100644
--- a/deepcave/evaluators/epm/random_forest.py
+++ b/deepcave/evaluators/epm/random_forest.py
@@ -1,3 +1,17 @@
+# Copyright 2021-2024 The DeepCAVE Authors
+#
+# 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
+#
+#   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.
+
 # noqa: D400
 """
 # RandomForest
diff --git a/deepcave/evaluators/epm/random_forest_surrogate.py b/deepcave/evaluators/epm/random_forest_surrogate.py
index 1bdacab3..fb3646a2 100644
--- a/deepcave/evaluators/epm/random_forest_surrogate.py
+++ b/deepcave/evaluators/epm/random_forest_surrogate.py
@@ -1,3 +1,17 @@
+# Copyright 2021-2024 The DeepCAVE Authors
+#
+# 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
+#
+#   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.
+
 # noqa: D400
 """
 # RandomForest Surrogate
diff --git a/deepcave/evaluators/epm/utils.py b/deepcave/evaluators/epm/utils.py
index 65e2c93a..b2b80dcd 100644
--- a/deepcave/evaluators/epm/utils.py
+++ b/deepcave/evaluators/epm/utils.py
@@ -1,3 +1,17 @@
+# Copyright 2021-2024 The DeepCAVE Authors
+#
+# 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
+#
+#   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.
+
 #  noqa: D400
 """
 # Utils
diff --git a/deepcave/evaluators/fanova.py b/deepcave/evaluators/fanova.py
index e64101d8..5876d9c7 100644
--- a/deepcave/evaluators/fanova.py
+++ b/deepcave/evaluators/fanova.py
@@ -1,3 +1,17 @@
+# Copyright 2021-2024 The DeepCAVE Authors
+#
+# 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
+#
+#   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.
+
 #  noqa: D400
 """
 # fANOVA
diff --git a/deepcave/evaluators/footprint.py b/deepcave/evaluators/footprint.py
index 1652705a..5d19a31d 100644
--- a/deepcave/evaluators/footprint.py
+++ b/deepcave/evaluators/footprint.py
@@ -1,3 +1,17 @@
+# Copyright 2021-2024 The DeepCAVE Authors
+#
+# 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
+#
+#   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.
+
 #  noqa: D400
 """
 # Footprint
diff --git a/deepcave/evaluators/lpi.py b/deepcave/evaluators/lpi.py
index 4e558b11..8565ea28 100644
--- a/deepcave/evaluators/lpi.py
+++ b/deepcave/evaluators/lpi.py
@@ -1,3 +1,17 @@
+# Copyright 2021-2024 The DeepCAVE Authors
+#
+# 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
+#
+#   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.
+
 #  noqa: D400
 """
 # LPI
diff --git a/deepcave/layouts/__init__.py b/deepcave/layouts/__init__.py
index 926b760b..4b2a28d3 100644
--- a/deepcave/layouts/__init__.py
+++ b/deepcave/layouts/__init__.py
@@ -1,3 +1,17 @@
+# Copyright 2021-2024 The DeepCAVE Authors
+#
+# 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
+#
+#   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.
+
 #  noqa: D400
 """
 # Layout
diff --git a/deepcave/layouts/general.py b/deepcave/layouts/general.py
index 53de935b..20c03da9 100644
--- a/deepcave/layouts/general.py
+++ b/deepcave/layouts/general.py
@@ -1,3 +1,17 @@
+# Copyright 2021-2024 The DeepCAVE Authors
+#
+# 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
+#
+#   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.
+
 #  noqa: D400
 """
 # GeneralLayout
diff --git a/deepcave/layouts/header.py b/deepcave/layouts/header.py
index 7d0baeb1..d92aecb3 100644
--- a/deepcave/layouts/header.py
+++ b/deepcave/layouts/header.py
@@ -1,3 +1,17 @@
+# Copyright 2021-2024 The DeepCAVE Authors
+#
+# 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
+#
+#   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.
+
 #  noqa: D400
 """
 # Header
diff --git a/deepcave/layouts/main.py b/deepcave/layouts/main.py
index 892d87fe..027820c1 100644
--- a/deepcave/layouts/main.py
+++ b/deepcave/layouts/main.py
@@ -1,3 +1,17 @@
+# Copyright 2021-2024 The DeepCAVE Authors
+#
+# 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
+#
+#   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.
+
 #  noqa: D400
 """
 # MainLayout
diff --git a/deepcave/layouts/not_found.py b/deepcave/layouts/not_found.py
index 969ea9f0..fba88059 100644
--- a/deepcave/layouts/not_found.py
+++ b/deepcave/layouts/not_found.py
@@ -1,3 +1,17 @@
+# Copyright 2021-2024 The DeepCAVE Authors
+#
+# 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
+#
+#   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.
+
 #  noqa: D400
 """
 # Not_Found
diff --git a/deepcave/layouts/notification.py b/deepcave/layouts/notification.py
index d75f9d79..99c02ab5 100644
--- a/deepcave/layouts/notification.py
+++ b/deepcave/layouts/notification.py
@@ -1,3 +1,17 @@
+# Copyright 2021-2024 The DeepCAVE Authors
+#
+# 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
+#
+#   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.
+
 # noqa: D400
 """
 # Notification
diff --git a/deepcave/layouts/sidebar.py b/deepcave/layouts/sidebar.py
index 4830d2b5..61829ce4 100644
--- a/deepcave/layouts/sidebar.py
+++ b/deepcave/layouts/sidebar.py
@@ -1,3 +1,17 @@
+# Copyright 2021-2024 The DeepCAVE Authors
+#
+# 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
+#
+#   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.
+
 #  noqa: D400
 """
 # SidebarLayout
diff --git a/deepcave/open.py b/deepcave/open.py
index 8c43bb08..ab746a2b 100644
--- a/deepcave/open.py
+++ b/deepcave/open.py
@@ -1,3 +1,17 @@
+# Copyright 2021-2024 The DeepCAVE Authors
+#
+# 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
+#
+#   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.
+
 #  noqa: D400
 """
 # Open
diff --git a/deepcave/plugins/__init__.py b/deepcave/plugins/__init__.py
index 16a8ec52..c933c58a 100644
--- a/deepcave/plugins/__init__.py
+++ b/deepcave/plugins/__init__.py
@@ -1,3 +1,17 @@
+# Copyright 2021-2024 The DeepCAVE Authors
+#
+# 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
+#
+#   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.
+
 #  noqa: D400
 """
 # Plugins
diff --git a/deepcave/plugins/budget/__init__.py b/deepcave/plugins/budget/__init__.py
index 150d0cb1..db09aeb4 100644
--- a/deepcave/plugins/budget/__init__.py
+++ b/deepcave/plugins/budget/__init__.py
@@ -1,3 +1,17 @@
+# Copyright 2021-2024 The DeepCAVE Authors
+#
+# 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
+#
+#   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.
+
 #  noqa: D400
 """
 # budget
diff --git a/deepcave/plugins/budget/budget_correlation.py b/deepcave/plugins/budget/budget_correlation.py
index da360373..9f6c78ba 100644
--- a/deepcave/plugins/budget/budget_correlation.py
+++ b/deepcave/plugins/budget/budget_correlation.py
@@ -1,3 +1,17 @@
+# Copyright 2021-2024 The DeepCAVE Authors
+#
+# 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
+#
+#   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.
+
 #  noqa: D400
 """
 # BudgetCorrelation
diff --git a/deepcave/plugins/dynamic.py b/deepcave/plugins/dynamic.py
index 8df3ffd9..ee4db01b 100644
--- a/deepcave/plugins/dynamic.py
+++ b/deepcave/plugins/dynamic.py
@@ -1,3 +1,17 @@
+# Copyright 2021-2024 The DeepCAVE Authors
+#
+# 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
+#
+#   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.
+
 #  noqa: D400
 """
 # Dynamic
diff --git a/deepcave/plugins/hyperparameter/__init__.py b/deepcave/plugins/hyperparameter/__init__.py
index 89bf9147..77d7e347 100644
--- a/deepcave/plugins/hyperparameter/__init__.py
+++ b/deepcave/plugins/hyperparameter/__init__.py
@@ -1,3 +1,17 @@
+# Copyright 2021-2024 The DeepCAVE Authors
+#
+# 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
+#
+#   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.
+
 #  noqa: D400
 """
 # hyperparameter
diff --git a/deepcave/plugins/hyperparameter/ablation_paths.py b/deepcave/plugins/hyperparameter/ablation_paths.py
index 1805a588..eb68f60e 100644
--- a/deepcave/plugins/hyperparameter/ablation_paths.py
+++ b/deepcave/plugins/hyperparameter/ablation_paths.py
@@ -1,3 +1,17 @@
+# Copyright 2021-2024 The DeepCAVE Authors
+#
+# 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
+#
+#   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.
+
 #  noqa: D400
 """
 # Ablation Paths
diff --git a/deepcave/plugins/hyperparameter/configuration_cube.py b/deepcave/plugins/hyperparameter/configuration_cube.py
index ee6a4051..b05bdeca 100644
--- a/deepcave/plugins/hyperparameter/configuration_cube.py
+++ b/deepcave/plugins/hyperparameter/configuration_cube.py
@@ -1,3 +1,17 @@
+# Copyright 2021-2024 The DeepCAVE Authors
+#
+# 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
+#
+#   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.
+
 #  noqa: D400
 """
 # ConfigurationCube
diff --git a/deepcave/plugins/hyperparameter/importances.py b/deepcave/plugins/hyperparameter/importances.py
index 48d8ecf5..188bbc21 100644
--- a/deepcave/plugins/hyperparameter/importances.py
+++ b/deepcave/plugins/hyperparameter/importances.py
@@ -1,3 +1,17 @@
+# Copyright 2021-2024 The DeepCAVE Authors
+#
+# 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
+#
+#   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.
+
 #  noqa: D400
 """
 # Importances
diff --git a/deepcave/plugins/hyperparameter/parallel_coordinates.py b/deepcave/plugins/hyperparameter/parallel_coordinates.py
index fe13865a..727ed85c 100644
--- a/deepcave/plugins/hyperparameter/parallel_coordinates.py
+++ b/deepcave/plugins/hyperparameter/parallel_coordinates.py
@@ -1,3 +1,17 @@
+# Copyright 2021-2024 The DeepCAVE Authors
+#
+# 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
+#
+#   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.
+
 #  noqa: D400
 
 """
diff --git a/deepcave/plugins/hyperparameter/pdp.py b/deepcave/plugins/hyperparameter/pdp.py
index f272e90b..26505a97 100644
--- a/deepcave/plugins/hyperparameter/pdp.py
+++ b/deepcave/plugins/hyperparameter/pdp.py
@@ -1,3 +1,17 @@
+# Copyright 2021-2024 The DeepCAVE Authors
+#
+# 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
+#
+#   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.
+
 #  noqa: D400
 """
 # PartialDependencies
diff --git a/deepcave/plugins/hyperparameter/symbolic_explanations.py b/deepcave/plugins/hyperparameter/symbolic_explanations.py
index bb45859f..da69e421 100644
--- a/deepcave/plugins/hyperparameter/symbolic_explanations.py
+++ b/deepcave/plugins/hyperparameter/symbolic_explanations.py
@@ -1,3 +1,17 @@
+# Copyright 2021-2024 The DeepCAVE Authors
+#
+# 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
+#
+#   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.
+
 #  noqa: D400
 """
 # SymbolicExplanations
diff --git a/deepcave/plugins/objective/__init__.py b/deepcave/plugins/objective/__init__.py
index 1ebc153f..946c8100 100644
--- a/deepcave/plugins/objective/__init__.py
+++ b/deepcave/plugins/objective/__init__.py
@@ -1,3 +1,17 @@
+# Copyright 2021-2024 The DeepCAVE Authors
+#
+# 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
+#
+#   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.
+
 #  noqa: D400
 """
 # objective
diff --git a/deepcave/plugins/objective/cost_over_time.py b/deepcave/plugins/objective/cost_over_time.py
index 3f7ac82b..b518b86f 100644
--- a/deepcave/plugins/objective/cost_over_time.py
+++ b/deepcave/plugins/objective/cost_over_time.py
@@ -1,3 +1,17 @@
+# Copyright 2021-2024 The DeepCAVE Authors
+#
+# 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
+#
+#   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.
+
 #  noqa: D400
 """
 # CostOverTime
diff --git a/deepcave/plugins/objective/pareto_front.py b/deepcave/plugins/objective/pareto_front.py
index e40cf90a..f8793afc 100644
--- a/deepcave/plugins/objective/pareto_front.py
+++ b/deepcave/plugins/objective/pareto_front.py
@@ -1,3 +1,17 @@
+# Copyright 2021-2024 The DeepCAVE Authors
+#
+# 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
+#
+#   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.
+
 #  noqa: D400
 """
 # ParetoFront
diff --git a/deepcave/plugins/static.py b/deepcave/plugins/static.py
index 5f53ba3e..024e80f3 100644
--- a/deepcave/plugins/static.py
+++ b/deepcave/plugins/static.py
@@ -1,3 +1,17 @@
+# Copyright 2021-2024 The DeepCAVE Authors
+#
+# 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
+#
+#   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.
+
 #  noqa: D400
 """
 # Static
diff --git a/deepcave/plugins/summary/__init__.py b/deepcave/plugins/summary/__init__.py
index 2a11ffac..1422343a 100644
--- a/deepcave/plugins/summary/__init__.py
+++ b/deepcave/plugins/summary/__init__.py
@@ -1,3 +1,17 @@
+# Copyright 2021-2024 The DeepCAVE Authors
+#
+# 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
+#
+#   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.
+
 #  noqa: D400
 """
 # summary
diff --git a/deepcave/plugins/summary/configurations.py b/deepcave/plugins/summary/configurations.py
index ad99414f..14cf4a09 100644
--- a/deepcave/plugins/summary/configurations.py
+++ b/deepcave/plugins/summary/configurations.py
@@ -1,3 +1,17 @@
+# Copyright 2021-2024 The DeepCAVE Authors
+#
+# 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
+#
+#   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.
+
 #  noqa: D400
 """
 # Configurations
diff --git a/deepcave/plugins/summary/footprint.py b/deepcave/plugins/summary/footprint.py
index 3d2710eb..472dae45 100644
--- a/deepcave/plugins/summary/footprint.py
+++ b/deepcave/plugins/summary/footprint.py
@@ -1,3 +1,17 @@
+# Copyright 2021-2024 The DeepCAVE Authors
+#
+# 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
+#
+#   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.
+
 # noqa: D400
 """
 # FootPrint
diff --git a/deepcave/plugins/summary/overview.py b/deepcave/plugins/summary/overview.py
index 78149f3d..1544d914 100644
--- a/deepcave/plugins/summary/overview.py
+++ b/deepcave/plugins/summary/overview.py
@@ -1,3 +1,17 @@
+# Copyright 2021-2024 The DeepCAVE Authors
+#
+# 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
+#
+#   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.
+
 # noqa: D400
 """
 # Overview
diff --git a/deepcave/runs/__init__.py b/deepcave/runs/__init__.py
index cc347971..c3610929 100644
--- a/deepcave/runs/__init__.py
+++ b/deepcave/runs/__init__.py
@@ -1,3 +1,17 @@
+# Copyright 2021-2024 The DeepCAVE Authors
+#
+# 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
+#
+#   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.
+
 #  noqa: D400
 """
 # AbstractRun
diff --git a/deepcave/runs/converters/__init__.py b/deepcave/runs/converters/__init__.py
index 2f5829ff..0c224394 100644
--- a/deepcave/runs/converters/__init__.py
+++ b/deepcave/runs/converters/__init__.py
@@ -1,3 +1,17 @@
+# Copyright 2021-2024 The DeepCAVE Authors
+#
+# 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
+#
+#   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.
+
 #  noqa: D400
 """
 # converters
diff --git a/deepcave/runs/converters/amltk.py b/deepcave/runs/converters/amltk.py
index 984bc09d..3f1becef 100644
--- a/deepcave/runs/converters/amltk.py
+++ b/deepcave/runs/converters/amltk.py
@@ -1,3 +1,17 @@
+# Copyright 2021-2024 The DeepCAVE Authors
+#
+# 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
+#
+#   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.
+
 #  noqa: D400
 """
 # AMLTKRun
diff --git a/deepcave/runs/converters/bohb.py b/deepcave/runs/converters/bohb.py
index 0116a62b..08b2f37c 100644
--- a/deepcave/runs/converters/bohb.py
+++ b/deepcave/runs/converters/bohb.py
@@ -1,3 +1,17 @@
+# Copyright 2021-2024 The DeepCAVE Authors
+#
+# 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
+#
+#   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.
+
 # noqa: D400
 """
 # BOHBRun
@@ -100,7 +114,7 @@ def from_path(cls, path: Union[Path, str]) -> "BOHBRun":
         except ImportError:
             raise ImportError(
                 "The HpBandSter package is required to load BOHB runs. "
-                "Please install it via `make install-bohb`"
+                "Please install it via `pip install deepcave[bohb]`"
             )
 
         bohb = logged_results_to_HBS_result(str(path))
diff --git a/deepcave/runs/converters/dataframe.py b/deepcave/runs/converters/dataframe.py
index 37302620..7cbc0bce 100644
--- a/deepcave/runs/converters/dataframe.py
+++ b/deepcave/runs/converters/dataframe.py
@@ -1,3 +1,17 @@
+# Copyright 2021-2024 The DeepCAVE Authors
+#
+# 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
+#
+#   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.
+
 #  noqa: D400
 """
 # DataFrameRun
diff --git a/deepcave/runs/converters/deepcave.py b/deepcave/runs/converters/deepcave.py
index ff8f70a3..9fedc619 100644
--- a/deepcave/runs/converters/deepcave.py
+++ b/deepcave/runs/converters/deepcave.py
@@ -1,3 +1,17 @@
+# Copyright 2021-2024 The DeepCAVE Authors
+#
+# 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
+#
+#   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.
+
 #  noqa: D400
 """
 # DeepCAVE
diff --git a/deepcave/runs/converters/optuna.py b/deepcave/runs/converters/optuna.py
index c574f966..2d570744 100644
--- a/deepcave/runs/converters/optuna.py
+++ b/deepcave/runs/converters/optuna.py
@@ -1,3 +1,17 @@
+# Copyright 2021-2024 The DeepCAVE Authors
+#
+# 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
+#
+#   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.
+
 #  noqa: D400
 """
 # OptunaRun
@@ -134,7 +148,7 @@ def from_path(cls, path: Union[Path, str]) -> "OptunaRun":
         except ImportError:
             raise ImportError(
                 "The Optuna package is required to load Optuna runs. "
-                "Please install it via `make install-optuna`"
+                "Please install it via `pip install deepcave[optuna]`"
             )
 
         # Load the optuna study from the file path
diff --git a/deepcave/runs/converters/smac3v1.py b/deepcave/runs/converters/smac3v1.py
index 8bad2e75..21afe20c 100644
--- a/deepcave/runs/converters/smac3v1.py
+++ b/deepcave/runs/converters/smac3v1.py
@@ -1,3 +1,17 @@
+# Copyright 2021-2024 The DeepCAVE Authors
+#
+# 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
+#
+#   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.
+
 #  noqa: D400
 """
 # SMAC3v1Run
diff --git a/deepcave/runs/converters/smac3v2.py b/deepcave/runs/converters/smac3v2.py
index 1294c0ef..0c933526 100644
--- a/deepcave/runs/converters/smac3v2.py
+++ b/deepcave/runs/converters/smac3v2.py
@@ -1,3 +1,17 @@
+# Copyright 2021-2024 The DeepCAVE Authors
+#
+# 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
+#
+#   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.
+
 #  noqa: D400
 """
 # SMAC3v2Run
diff --git a/deepcave/runs/exceptions.py b/deepcave/runs/exceptions.py
index be717fdb..35ba80f9 100644
--- a/deepcave/runs/exceptions.py
+++ b/deepcave/runs/exceptions.py
@@ -1,3 +1,17 @@
+# Copyright 2021-2024 The DeepCAVE Authors
+#
+# 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
+#
+#   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.
+
 # noqa: D400
 """
 # Exceptions
diff --git a/deepcave/runs/group.py b/deepcave/runs/group.py
index d8357e83..b6f91926 100644
--- a/deepcave/runs/group.py
+++ b/deepcave/runs/group.py
@@ -1,3 +1,17 @@
+# Copyright 2021-2024 The DeepCAVE Authors
+#
+# 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
+#
+#   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.
+
 #  noqa: D400
 """
 # Group
diff --git a/deepcave/runs/handler.py b/deepcave/runs/handler.py
index 9fcd3c48..27387348 100644
--- a/deepcave/runs/handler.py
+++ b/deepcave/runs/handler.py
@@ -1,3 +1,17 @@
+# Copyright 2021-2024 The DeepCAVE Authors
+#
+# 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
+#
+#   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.
+
 #  noqa: D400
 """
 # Handler
diff --git a/deepcave/runs/objective.py b/deepcave/runs/objective.py
index 1b328806..fcb62915 100644
--- a/deepcave/runs/objective.py
+++ b/deepcave/runs/objective.py
@@ -1,3 +1,17 @@
+# Copyright 2021-2024 The DeepCAVE Authors
+#
+# 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
+#
+#   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.
+
 #  noqa: D400
 """
 # Objective
diff --git a/deepcave/runs/recorder.py b/deepcave/runs/recorder.py
index 4dead954..b93bcf37 100644
--- a/deepcave/runs/recorder.py
+++ b/deepcave/runs/recorder.py
@@ -1,3 +1,17 @@
+# Copyright 2021-2024 The DeepCAVE Authors
+#
+# 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
+#
+#   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.
+
 #  noqa: D400
 """
 # Recorder
diff --git a/deepcave/runs/run.py b/deepcave/runs/run.py
index b4cba4d7..18e3475c 100644
--- a/deepcave/runs/run.py
+++ b/deepcave/runs/run.py
@@ -1,3 +1,17 @@
+# Copyright 2021-2024 The DeepCAVE Authors
+#
+# 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
+#
+#   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.
+
 #  noqa: D400
 """
 # Run
diff --git a/deepcave/runs/status.py b/deepcave/runs/status.py
index 64855fd0..153e3375 100644
--- a/deepcave/runs/status.py
+++ b/deepcave/runs/status.py
@@ -1,3 +1,17 @@
+# Copyright 2021-2024 The DeepCAVE Authors
+#
+# 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
+#
+#   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.
+
 # noqa: D400
 """
 # Status
diff --git a/deepcave/runs/trial.py b/deepcave/runs/trial.py
index 89b298aa..2cb76385 100644
--- a/deepcave/runs/trial.py
+++ b/deepcave/runs/trial.py
@@ -1,3 +1,17 @@
+# Copyright 2021-2024 The DeepCAVE Authors
+#
+# 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
+#
+#   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.
+
 #  noqa: D400
 """
 # Trial
diff --git a/deepcave/server.py b/deepcave/server.py
index e0b56d7a..27d28110 100644
--- a/deepcave/server.py
+++ b/deepcave/server.py
@@ -1,3 +1,17 @@
+# Copyright 2021-2024 The DeepCAVE Authors
+#
+# 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
+#
+#   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.
+
 #  noqa: D400
 """
 # Server
diff --git a/deepcave/utils/__init__.py b/deepcave/utils/__init__.py
index ef990e84..c169ff75 100644
--- a/deepcave/utils/__init__.py
+++ b/deepcave/utils/__init__.py
@@ -1,3 +1,17 @@
+# Copyright 2021-2024 The DeepCAVE Authors
+#
+# 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
+#
+#   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.
+
 #  noqa: D400
 """
 # utils
diff --git a/deepcave/utils/cache.py b/deepcave/utils/cache.py
index ed7f9a44..c4ad6ed5 100644
--- a/deepcave/utils/cache.py
+++ b/deepcave/utils/cache.py
@@ -1,3 +1,17 @@
+# Copyright 2021-2024 The DeepCAVE Authors
+#
+# 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
+#
+#   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.
+
 #  noqa: D400
 """
 # Cache
diff --git a/deepcave/utils/cast.py b/deepcave/utils/cast.py
index 61f13235..dc20d196 100644
--- a/deepcave/utils/cast.py
+++ b/deepcave/utils/cast.py
@@ -1,3 +1,17 @@
+# Copyright 2021-2024 The DeepCAVE Authors
+#
+# 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
+#
+#   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.
+
 #  noqa: D400
 """
 # Cast
diff --git a/deepcave/utils/compression.py b/deepcave/utils/compression.py
index d68b350f..2439a981 100644
--- a/deepcave/utils/compression.py
+++ b/deepcave/utils/compression.py
@@ -1,3 +1,17 @@
+# Copyright 2021-2024 The DeepCAVE Authors
+#
+# 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
+#
+#   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.
+
 #  noqa: D400
 """
 # Compression
diff --git a/deepcave/utils/configs.py b/deepcave/utils/configs.py
index e5a50f81..6e83883f 100644
--- a/deepcave/utils/configs.py
+++ b/deepcave/utils/configs.py
@@ -1,3 +1,17 @@
+# Copyright 2021-2024 The DeepCAVE Authors
+#
+# 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
+#
+#   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.
+
 #  noqa: D400
 """
 # Configs
diff --git a/deepcave/utils/configspace.py b/deepcave/utils/configspace.py
index 99d91b02..8240005a 100644
--- a/deepcave/utils/configspace.py
+++ b/deepcave/utils/configspace.py
@@ -1,3 +1,17 @@
+# Copyright 2021-2024 The DeepCAVE Authors
+#
+# 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
+#
+#   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.
+
 #  noqa: D400
 """
 # ConfigSpace
diff --git a/deepcave/utils/converters.py b/deepcave/utils/converters.py
index e3ac16ba..807378c0 100644
--- a/deepcave/utils/converters.py
+++ b/deepcave/utils/converters.py
@@ -1,3 +1,17 @@
+# Copyright 2021-2024 The DeepCAVE Authors
+#
+# 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
+#
+#   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.
+
 #  noqa: D400
 """
 # Converters
diff --git a/deepcave/utils/dash.py b/deepcave/utils/dash.py
index 1a22b5bd..b3a5dff8 100644
--- a/deepcave/utils/dash.py
+++ b/deepcave/utils/dash.py
@@ -1,3 +1,17 @@
+# Copyright 2021-2024 The DeepCAVE Authors
+#
+# 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
+#
+#   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.
+
 #  noqa: D400
 """
 # Dash
diff --git a/deepcave/utils/data_structures.py b/deepcave/utils/data_structures.py
index c9427e93..e4bded53 100644
--- a/deepcave/utils/data_structures.py
+++ b/deepcave/utils/data_structures.py
@@ -1,3 +1,17 @@
+# Copyright 2021-2024 The DeepCAVE Authors
+#
+# 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
+#
+#   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.
+
 #  noqa: D400
 """
 # Data Structures
diff --git a/deepcave/utils/docs.py b/deepcave/utils/docs.py
index 0aeaadb1..3afa7c2e 100644
--- a/deepcave/utils/docs.py
+++ b/deepcave/utils/docs.py
@@ -1,3 +1,17 @@
+# Copyright 2021-2024 The DeepCAVE Authors
+#
+# 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
+#
+#   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.
+
 #  noqa: D400
 """
 # Docs
diff --git a/deepcave/utils/files.py b/deepcave/utils/files.py
index c0618f2a..320aa16a 100644
--- a/deepcave/utils/files.py
+++ b/deepcave/utils/files.py
@@ -1,3 +1,17 @@
+# Copyright 2021-2024 The DeepCAVE Authors
+#
+# 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
+#
+#   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.
+
 #  noqa: D400
 """
 # Files
diff --git a/deepcave/utils/hash.py b/deepcave/utils/hash.py
index 98e0efa6..6edccddd 100644
--- a/deepcave/utils/hash.py
+++ b/deepcave/utils/hash.py
@@ -1,3 +1,17 @@
+# Copyright 2021-2024 The DeepCAVE Authors
+#
+# 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
+#
+#   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.
+
 #  noqa: D400
 """
 # Hash
diff --git a/deepcave/utils/layout.py b/deepcave/utils/layout.py
index 428440e5..77a316b1 100644
--- a/deepcave/utils/layout.py
+++ b/deepcave/utils/layout.py
@@ -1,3 +1,17 @@
+# Copyright 2021-2024 The DeepCAVE Authors
+#
+# 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
+#
+#   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.
+
 #  noqa: D400
 """
 # Layout
diff --git a/deepcave/utils/logs.py b/deepcave/utils/logs.py
index d7a62c23..1a5953b9 100644
--- a/deepcave/utils/logs.py
+++ b/deepcave/utils/logs.py
@@ -1,3 +1,17 @@
+# Copyright 2021-2024 The DeepCAVE Authors
+#
+# 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
+#
+#   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.
+
 #  noqa: D400
 """
 # Logs
diff --git a/deepcave/utils/notification.py b/deepcave/utils/notification.py
index d5bdfa82..b1b08e78 100644
--- a/deepcave/utils/notification.py
+++ b/deepcave/utils/notification.py
@@ -1,3 +1,17 @@
+# Copyright 2021-2024 The DeepCAVE Authors
+#
+# 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
+#
+#   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.
+
 #  noqa: D400
 """
 # Notification
diff --git a/deepcave/utils/run_caches.py b/deepcave/utils/run_caches.py
index d4d05b74..6df5ab70 100644
--- a/deepcave/utils/run_caches.py
+++ b/deepcave/utils/run_caches.py
@@ -1,3 +1,17 @@
+# Copyright 2021-2024 The DeepCAVE Authors
+#
+# 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
+#
+#   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.
+
 #  noqa: D400
 """
 # RunCaches
diff --git a/deepcave/utils/styled_plotty.py b/deepcave/utils/styled_plotty.py
index d3f2beac..01a8b062 100644
--- a/deepcave/utils/styled_plotty.py
+++ b/deepcave/utils/styled_plotty.py
@@ -1,3 +1,17 @@
+# Copyright 2021-2024 The DeepCAVE Authors
+#
+# 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
+#
+#   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.
+
 # noqa: D400
 """
 # Styled Plotty
diff --git a/deepcave/utils/symbolic_regression.py b/deepcave/utils/symbolic_regression.py
index b236e0c6..0cf666c9 100644
--- a/deepcave/utils/symbolic_regression.py
+++ b/deepcave/utils/symbolic_regression.py
@@ -1,3 +1,17 @@
+# Copyright 2021-2024 The DeepCAVE Authors
+#
+# 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
+#
+#   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.
+
 #  noqa: D400
 """
 # Symbolic Regression
diff --git a/deepcave/utils/url.py b/deepcave/utils/url.py
index 6c5676e6..b9085d78 100644
--- a/deepcave/utils/url.py
+++ b/deepcave/utils/url.py
@@ -1,3 +1,17 @@
+# Copyright 2021-2024 The DeepCAVE Authors
+#
+# 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
+#
+#   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.
+
 #  noqa: D400
 """
 # URL
diff --git a/deepcave/utils/util.py b/deepcave/utils/util.py
index c89a7997..0764d70b 100644
--- a/deepcave/utils/util.py
+++ b/deepcave/utils/util.py
@@ -1,3 +1,17 @@
+# Copyright 2021-2024 The DeepCAVE Authors
+#
+# 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
+#
+#   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.
+
 #  noqa: D400
 """
 # Util
diff --git a/deepcave/worker.py b/deepcave/worker.py
index df83e854..8a92f280 100644
--- a/deepcave/worker.py
+++ b/deepcave/worker.py
@@ -1,3 +1,17 @@
+# Copyright 2021-2024 The DeepCAVE Authors
+#
+# 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
+#
+#   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.
+
 """
 # Worker.
 
diff --git a/docs/converters/bohb.rst b/docs/converters/bohb.rst
index 444bd706..0f289929 100644
--- a/docs/converters/bohb.rst
+++ b/docs/converters/bohb.rst
@@ -5,4 +5,4 @@ To load an BOHB run into DeepCAVE, it is necessary to install HpBandSter, e.g. v
 
    .. code-block:: bash
 
-        make install-bohb
\ No newline at end of file
+        pip install deepcave[bohb]
\ No newline at end of file
diff --git a/docs/converters/optuna.rst b/docs/converters/optuna.rst
index 88de3c31..89467972 100644
--- a/docs/converters/optuna.rst
+++ b/docs/converters/optuna.rst
@@ -26,7 +26,7 @@ Furthermore, to load an Optuna run into DeepCAVE, it is necessary to install Opt
 
    .. code-block:: bash
 
-        make install-optuna
+        pip install deepcave[optuna]
 
 .. warning::
     Loading Optuna runs with conditional search spaces or dynamic hyperparameter value ranges
diff --git a/docs/installation.rst b/docs/installation.rst
index 746adde4..f5bc4ead 100644
--- a/docs/installation.rst
+++ b/docs/installation.rst
@@ -20,6 +20,19 @@ installed directly. If you use a different environment, make sure that
     conda install -c anaconda swig
     pip install DeepCAVE
 
+To load runs created with Optuna or the BOHB optimizer, you need to install the
+respective packages by running:
+
+.. code:: bash
+
+    pip install deepcave[optuna]
+    pip install deepcave[bohb]
+
+To try the examples for recording your results in DeepCAVE format, run this after installing:
+
+.. code:: bash
+
+    pip install deepcave[examples]
 
 If you want to contribute to DeepCAVE, you can clone it from GitHub and install the dev package:
 
@@ -31,6 +44,7 @@ If you want to contribute to DeepCAVE, you can clone it from GitHub and install
     conda install -c anaconda swig
     make install-dev
 
+
 .. warning::
 
     DeepCAVE is officially tested and supported on Linux platforms.
diff --git a/examples/record/README.rst b/examples/record/README.rst
index 1bfcbc37..9ff95830 100644
--- a/examples/record/README.rst
+++ b/examples/record/README.rst
@@ -11,4 +11,4 @@ You can install them via the following command:
 
 .. code-block:: bash
 
-    make install-examples
+    pip install deepcave[examples]


Test patch:
diff --git a/tests/__init__.py b/tests/__init__.py
index e69de29b..e2f6633b 100644
--- a/tests/__init__.py
+++ b/tests/__init__.py
@@ -0,0 +1,13 @@
+# Copyright 2021-2024 The DeepCAVE Authors
+#
+# 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
+#
+#   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/test_evaluators/__init__.py b/tests/test_evaluators/__init__.py
index e69de29b..e2f6633b 100644
--- a/tests/test_evaluators/__init__.py
+++ b/tests/test_evaluators/__init__.py
@@ -0,0 +1,13 @@
+# Copyright 2021-2024 The DeepCAVE Authors
+#
+# 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
+#
+#   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/test_evaluators/test_ablation.py b/tests/test_evaluators/test_ablation.py
index 970b6e56..82fb8611 100644
--- a/tests/test_evaluators/test_ablation.py
+++ b/tests/test_evaluators/test_ablation.py
@@ -1,3 +1,17 @@
+# Copyright 2021-2024 The DeepCAVE Authors
+#
+# 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
+#
+#   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 deepcave.evaluators.ablation import Ablation as Evaluator
diff --git a/tests/test_evaluators/test_epm.py b/tests/test_evaluators/test_epm.py
index 7baf824a..5521d926 100644
--- a/tests/test_evaluators/test_epm.py
+++ b/tests/test_evaluators/test_epm.py
@@ -1,3 +1,17 @@
+# Copyright 2021-2024 The DeepCAVE Authors
+#
+# 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
+#
+#   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 deepcave.constants import COMBINED_COST_NAME
diff --git a/tests/test_evaluators/test_fanova.py b/tests/test_evaluators/test_fanova.py
index 8c5f8a69..e2b68478 100644
--- a/tests/test_evaluators/test_fanova.py
+++ b/tests/test_evaluators/test_fanova.py
@@ -1,3 +1,17 @@
+# Copyright 2021-2024 The DeepCAVE Authors
+#
+# 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
+#
+#   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 deepcave.evaluators.fanova import fANOVA as Evaluator
diff --git a/tests/test_evaluators/test_lpi.py b/tests/test_evaluators/test_lpi.py
index 261be47f..a0af882c 100644
--- a/tests/test_evaluators/test_lpi.py
+++ b/tests/test_evaluators/test_lpi.py
@@ -1,3 +1,17 @@
+# Copyright 2021-2024 The DeepCAVE Authors
+#
+# 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
+#
+#   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 deepcave.evaluators.lpi import LPI as Evaluator
diff --git a/tests/test_evaluators/test_random_forest_surrogate.py b/tests/test_evaluators/test_random_forest_surrogate.py
index 424624bc..43aa6876 100644
--- a/tests/test_evaluators/test_random_forest_surrogate.py
+++ b/tests/test_evaluators/test_random_forest_surrogate.py
@@ -1,3 +1,17 @@
+# Copyright 2021-2024 The DeepCAVE Authors
+#
+# 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
+#
+#   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 pyPDP.blackbox_functions.synthetic_functions import StyblinskiTang
diff --git a/tests/test_runs/__init__.py b/tests/test_runs/__init__.py
index e69de29b..e2f6633b 100644
--- a/tests/test_runs/__init__.py
+++ b/tests/test_runs/__init__.py
@@ -0,0 +1,13 @@
+# Copyright 2021-2024 The DeepCAVE Authors
+#
+# 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
+#
+#   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/test_runs/test_converter/__init__.py b/tests/test_runs/test_converter/__init__.py
index e69de29b..e2f6633b 100644
--- a/tests/test_runs/test_converter/__init__.py
+++ b/tests/test_runs/test_converter/__init__.py
@@ -0,0 +1,13 @@
+# Copyright 2021-2024 The DeepCAVE Authors
+#
+# 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
+#
+#   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/test_runs/test_converter/test_dataframe.py b/tests/test_runs/test_converter/test_dataframe.py
index 87b516d6..6d288a1b 100644
--- a/tests/test_runs/test_converter/test_dataframe.py
+++ b/tests/test_runs/test_converter/test_dataframe.py
@@ -1,3 +1,17 @@
+# Copyright 2021-2024 The DeepCAVE Authors
+#
+# 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
+#
+#   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
 import tempfile
 import unittest
diff --git a/tests/test_runs/test_groups.py b/tests/test_runs/test_groups.py
index 94bbbaae..3d533b29 100644
--- a/tests/test_runs/test_groups.py
+++ b/tests/test_runs/test_groups.py
@@ -1,3 +1,17 @@
+# Copyright 2021-2024 The DeepCAVE Authors
+#
+# 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
+#
+#   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 deepcave.runs import AbstractRun, check_equality
diff --git a/tests/test_runs/test_objective.py b/tests/test_runs/test_objective.py
index 9b3ed31c..1520c230 100644
--- a/tests/test_runs/test_objective.py
+++ b/tests/test_runs/test_objective.py
@@ -1,3 +1,17 @@
+# Copyright 2021-2024 The DeepCAVE Authors
+#
+# 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
+#
+#   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 unittest
 
diff --git a/tests/test_runs/test_run.py b/tests/test_runs/test_run.py
index d3ecf486..1686038d 100644
--- a/tests/test_runs/test_run.py
+++ b/tests/test_runs/test_run.py
@@ -1,3 +1,17 @@
+# Copyright 2021-2024 The DeepCAVE Authors
+#
+# 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
+#
+#   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 List
 
 import unittest
diff --git a/tests/test_utils/__init__.py b/tests/test_utils/__init__.py
index e69de29b..e2f6633b 100644
--- a/tests/test_utils/__init__.py
+++ b/tests/test_utils/__init__.py
@@ -0,0 +1,13 @@
+# Copyright 2021-2024 The DeepCAVE Authors
+#
+# 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
+#
+#   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/test_utils/test_cache.py b/tests/test_utils/test_cache.py
index 8eaef275..8aa21019 100644
--- a/tests/test_utils/test_cache.py
+++ b/tests/test_utils/test_cache.py
@@ -1,3 +1,17 @@
+# Copyright 2021-2024 The DeepCAVE Authors
+#
+# 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
+#
+#   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
 import string