about summary refs log tree commit diff stats
path: root/crates
diff options
context:
space:
mode:
Diffstat (limited to 'crates')
-rw-r--r--crates/colors/src/custom.rs10
-rw-r--r--crates/colors/src/lib.rs10
-rw-r--r--crates/colors/src/list.rs10
-rw-r--r--crates/colors/src/support.rs10
-rw-r--r--crates/yt/src/commands/cache/implm.rs10
-rw-r--r--crates/yt/src/commands/cache/mod.rs10
-rw-r--r--crates/yt/src/commands/config/implm.rs10
-rw-r--r--crates/yt/src/commands/config/mod.rs10
-rw-r--r--crates/yt/src/commands/database/implm.rs10
-rw-r--r--crates/yt/src/commands/database/mod.rs10
-rw-r--r--crates/yt/src/commands/download/implm/mod.rs10
-rw-r--r--crates/yt/src/commands/download/mod.rs10
-rw-r--r--crates/yt/src/commands/implm.rs10
-rw-r--r--crates/yt/src/commands/mod.rs10
-rw-r--r--crates/yt/src/commands/playlist/implm.rs10
-rw-r--r--crates/yt/src/commands/playlist/mod.rs10
-rw-r--r--crates/yt/src/commands/select/implm/fs_generators/mod.rs10
-rw-r--r--crates/yt/src/commands/select/implm/mod.rs10
-rw-r--r--crates/yt/src/commands/select/implm/standalone/mod.rs10
-rw-r--r--crates/yt/src/commands/select/mod.rs10
-rw-r--r--crates/yt/src/commands/show/implm/mod.rs10
-rw-r--r--crates/yt/src/commands/show/mod.rs10
-rw-r--r--crates/yt/src/commands/status/implm.rs10
-rw-r--r--crates/yt/src/commands/status/mod.rs10
-rw-r--r--crates/yt/src/commands/subscriptions/implm.rs10
-rw-r--r--crates/yt/src/commands/subscriptions/mod.rs10
-rw-r--r--crates/yt/src/commands/update/implm/mod.rs10
-rw-r--r--crates/yt/src/commands/update/implm/updater.rs10
-rw-r--r--crates/yt/src/commands/update/mod.rs10
-rw-r--r--crates/yt/src/commands/videos/implm.rs10
-rw-r--r--crates/yt/src/commands/videos/mod.rs10
-rw-r--r--crates/yt/src/commands/watch/implm/mod.rs10
-rw-r--r--crates/yt/src/commands/watch/mod.rs10
-rw-r--r--crates/yt/src/config/mod.rs10
-rw-r--r--crates/yt/src/config/non_empty_vec.rs10
-rw-r--r--crates/yt/src/config/support.rs10
-rw-r--r--crates/yt/src/shared/mod.rs10
-rw-r--r--crates/yt/src/storage/db/get/extractor_hash.rs10
-rw-r--r--crates/yt/src/storage/db/get/mod.rs10
-rw-r--r--crates/yt/src/storage/db/get/playlist.rs10
-rw-r--r--crates/yt/src/storage/db/get/subscription.rs10
-rw-r--r--crates/yt/src/storage/db/get/txn_log.rs10
-rw-r--r--crates/yt/src/storage/db/get/video/mod.rs10
-rw-r--r--crates/yt/src/storage/db/insert/maintenance.rs10
-rw-r--r--crates/yt/src/storage/db/insert/mod.rs10
-rw-r--r--crates/yt/src/storage/db/insert/playlist.rs10
-rw-r--r--crates/yt/src/storage/db/insert/subscription.rs10
-rw-r--r--crates/yt/src/storage/db/insert/video/mod.rs10
-rw-r--r--crates/yt/src/storage/db/mod.rs10
-rw-r--r--crates/yt/src/storage/db/playlist/mod.rs10
-rw-r--r--crates/yt/src/storage/db/subscription.rs10
-rw-r--r--crates/yt/src/storage/db/txn_log.rs10
-rw-r--r--crates/yt/src/storage/db/video/comments/display.rs10
-rw-r--r--crates/yt/src/storage/db/video/comments/mod.rs10
-rw-r--r--crates/yt/src/storage/db/video/comments/raw.rs10
-rw-r--r--crates/yt/src/storage/db/video/comments/tests.rs10
-rw-r--r--crates/yt/src/storage/db/video/mod.rs10
-rw-r--r--crates/yt/src/yt_dlp/mod.rs10
-rw-r--r--crates/yt/tests/_testenv/init.rs10
-rw-r--r--crates/yt/tests/_testenv/mod.rs10
-rw-r--r--crates/yt/tests/_testenv/run.rs10
-rw-r--r--crates/yt/tests/_testenv/util.rs10
-rw-r--r--crates/yt/tests/select/base.rs10
-rw-r--r--crates/yt/tests/select/file.rs10
-rw-r--r--crates/yt/tests/select/mod.rs10
-rw-r--r--crates/yt/tests/select/options.rs10
-rw-r--r--crates/yt/tests/subscriptions/import_export/golden.txt.license9
-rw-r--r--crates/yt/tests/subscriptions/import_export/mod.rs10
-rw-r--r--crates/yt/tests/subscriptions/mod.rs10
-rw-r--r--crates/yt/tests/subscriptions/naming_subscriptions/golden.txt.license9
-rw-r--r--crates/yt/tests/subscriptions/naming_subscriptions/mod.rs10
-rw-r--r--crates/yt/tests/tests.rs10
-rw-r--r--crates/yt/tests/videos/downloading.rs10
-rw-r--r--crates/yt/tests/videos/mod.rs10
-rw-r--r--crates/yt/tests/watch/focus_switch.rs10
-rw-r--r--crates/yt/tests/watch/mod.rs10
-rw-r--r--crates/yt_dlp/crates/pyo3-pylogger/.gitignore10
-rw-r--r--crates/yt_dlp/crates/pyo3-pylogger/Cargo.toml10
-rw-r--r--crates/yt_dlp/crates/pyo3-pylogger/README.md12
-rw-r--r--crates/yt_dlp/crates/pyo3-pylogger/src/kv.rs10
-rw-r--r--crates/yt_dlp/crates/pyo3-pylogger/src/level.rs10
-rw-r--r--crates/yt_dlp/crates/pyo3-pylogger/src/lib.rs10
-rwxr-xr-xcrates/yt_dlp/crates/pyo3-pylogger/update.sh10
-rw-r--r--crates/yt_dlp/examples/main.rs10
84 files changed, 840 insertions, 0 deletions
diff --git a/crates/colors/src/custom.rs b/crates/colors/src/custom.rs
index 2adcfa9..fd6b7b3 100644
--- a/crates/colors/src/custom.rs
+++ b/crates/colors/src/custom.rs
@@ -1,3 +1,13 @@
+// yt - A fully featured command line YouTube client
+//
+// Copyright (C) 2025 Benedikt Peetz <benedikt.peetz@b-peetz.de>
+// SPDX-License-Identifier: GPL-3.0-or-later
+//
+// This file is part of Yt.
+//
+// You should have received a copy of the License along with this program.
+// If not, see <https://www.gnu.org/licenses/gpl-3.0.txt>.
+
 // Taken from <https://github.com/owo-colors/owo-colors/blob/61f8bba2f5f80e9f4fa600fbfdf2c21656f1d523/src/colors/custom.rs>
 // at 2025-07-16T18:05:55 CEST.
 
diff --git a/crates/colors/src/lib.rs b/crates/colors/src/lib.rs
index 71a5f34..663e19a 100644
--- a/crates/colors/src/lib.rs
+++ b/crates/colors/src/lib.rs
@@ -1,3 +1,13 @@
+// yt - A fully featured command line YouTube client
+//
+// Copyright (C) 2025 Benedikt Peetz <benedikt.peetz@b-peetz.de>
+// SPDX-License-Identifier: GPL-3.0-or-later
+//
+// This file is part of Yt.
+//
+// You should have received a copy of the License along with this program.
+// If not, see <https://www.gnu.org/licenses/gpl-3.0.txt>.
+
 use std::fmt::{Display, Write};
 
 use crate::{
diff --git a/crates/colors/src/list.rs b/crates/colors/src/list.rs
index ecbe465..35fcb83 100644
--- a/crates/colors/src/list.rs
+++ b/crates/colors/src/list.rs
@@ -1,3 +1,13 @@
+// yt - A fully featured command line YouTube client
+//
+// Copyright (C) 2025 Benedikt Peetz <benedikt.peetz@b-peetz.de>
+// SPDX-License-Identifier: GPL-3.0-or-later
+//
+// This file is part of Yt.
+//
+// You should have received a copy of the License along with this program.
+// If not, see <https://www.gnu.org/licenses/gpl-3.0.txt>.
+
 use crate::support::prepend_input;
 
 prepend_input! {
diff --git a/crates/colors/src/support.rs b/crates/colors/src/support.rs
index b42ce5d..3c3f87d 100644
--- a/crates/colors/src/support.rs
+++ b/crates/colors/src/support.rs
@@ -1,3 +1,13 @@
+// yt - A fully featured command line YouTube client
+//
+// Copyright (C) 2025 Benedikt Peetz <benedikt.peetz@b-peetz.de>
+// SPDX-License-Identifier: GPL-3.0-or-later
+//
+// This file is part of Yt.
+//
+// You should have received a copy of the License along with this program.
+// If not, see <https://www.gnu.org/licenses/gpl-3.0.txt>.
+
 pub(super) const CSI: &str = "\x1b[";
 pub(super) const CSE: &str = "m";
 
diff --git a/crates/yt/src/commands/cache/implm.rs b/crates/yt/src/commands/cache/implm.rs
index f71fe94..fd0fbce 100644
--- a/crates/yt/src/commands/cache/implm.rs
+++ b/crates/yt/src/commands/cache/implm.rs
@@ -1,3 +1,13 @@
+// yt - A fully featured command line YouTube client
+//
+// Copyright (C) 2025 Benedikt Peetz <benedikt.peetz@b-peetz.de>
+// SPDX-License-Identifier: GPL-3.0-or-later
+//
+// This file is part of Yt.
+//
+// You should have received a copy of the License along with this program.
+// If not, see <https://www.gnu.org/licenses/gpl-3.0.txt>.
+
 use crate::{
     app::App,
     commands::CacheCommand,
diff --git a/crates/yt/src/commands/cache/mod.rs b/crates/yt/src/commands/cache/mod.rs
index b6afa39..4ed4b40 100644
--- a/crates/yt/src/commands/cache/mod.rs
+++ b/crates/yt/src/commands/cache/mod.rs
@@ -1,3 +1,13 @@
+// yt - A fully featured command line YouTube client
+//
+// Copyright (C) 2025 Benedikt Peetz <benedikt.peetz@b-peetz.de>
+// SPDX-License-Identifier: GPL-3.0-or-later
+//
+// This file is part of Yt.
+//
+// You should have received a copy of the License along with this program.
+// If not, see <https://www.gnu.org/licenses/gpl-3.0.txt>.
+
 use clap::Subcommand;
 
 mod implm;
diff --git a/crates/yt/src/commands/config/implm.rs b/crates/yt/src/commands/config/implm.rs
index 47b7fee..00c28a9 100644
--- a/crates/yt/src/commands/config/implm.rs
+++ b/crates/yt/src/commands/config/implm.rs
@@ -1,3 +1,13 @@
+// yt - A fully featured command line YouTube client
+//
+// Copyright (C) 2025 Benedikt Peetz <benedikt.peetz@b-peetz.de>
+// SPDX-License-Identifier: GPL-3.0-or-later
+//
+// This file is part of Yt.
+//
+// You should have received a copy of the License along with this program.
+// If not, see <https://www.gnu.org/licenses/gpl-3.0.txt>.
+
 use crate::{app::App, commands::config::ConfigCommand};
 
 use anyhow::Result;
diff --git a/crates/yt/src/commands/config/mod.rs b/crates/yt/src/commands/config/mod.rs
index ff97aab..503b4f7 100644
--- a/crates/yt/src/commands/config/mod.rs
+++ b/crates/yt/src/commands/config/mod.rs
@@ -1,3 +1,13 @@
+// yt - A fully featured command line YouTube client
+//
+// Copyright (C) 2025 Benedikt Peetz <benedikt.peetz@b-peetz.de>
+// SPDX-License-Identifier: GPL-3.0-or-later
+//
+// This file is part of Yt.
+//
+// You should have received a copy of the License along with this program.
+// If not, see <https://www.gnu.org/licenses/gpl-3.0.txt>.
+
 use clap::Parser;
 
 mod implm;
diff --git a/crates/yt/src/commands/database/implm.rs b/crates/yt/src/commands/database/implm.rs
index 8d81f2e..07d346b 100644
--- a/crates/yt/src/commands/database/implm.rs
+++ b/crates/yt/src/commands/database/implm.rs
@@ -1,3 +1,13 @@
+// yt - A fully featured command line YouTube client
+//
+// Copyright (C) 2025 Benedikt Peetz <benedikt.peetz@b-peetz.de>
+// SPDX-License-Identifier: GPL-3.0-or-later
+//
+// This file is part of Yt.
+//
+// You should have received a copy of the License along with this program.
+// If not, see <https://www.gnu.org/licenses/gpl-3.0.txt>.
+
 use crate::{
     app::App,
     commands::DatabaseCommand,
diff --git a/crates/yt/src/commands/database/mod.rs b/crates/yt/src/commands/database/mod.rs
index 92b120f..06e3169 100644
--- a/crates/yt/src/commands/database/mod.rs
+++ b/crates/yt/src/commands/database/mod.rs
@@ -1,3 +1,13 @@
+// yt - A fully featured command line YouTube client
+//
+// Copyright (C) 2025 Benedikt Peetz <benedikt.peetz@b-peetz.de>
+// SPDX-License-Identifier: GPL-3.0-or-later
+//
+// This file is part of Yt.
+//
+// You should have received a copy of the License along with this program.
+// If not, see <https://www.gnu.org/licenses/gpl-3.0.txt>.
+
 use std::fmt::{self, Display};
 
 use clap::{Subcommand, ValueEnum};
diff --git a/crates/yt/src/commands/download/implm/mod.rs b/crates/yt/src/commands/download/implm/mod.rs
index f681aea..c74a909 100644
--- a/crates/yt/src/commands/download/implm/mod.rs
+++ b/crates/yt/src/commands/download/implm/mod.rs
@@ -1,3 +1,13 @@
+// yt - A fully featured command line YouTube client
+//
+// Copyright (C) 2025 Benedikt Peetz <benedikt.peetz@b-peetz.de>
+// SPDX-License-Identifier: GPL-3.0-or-later
+//
+// This file is part of Yt.
+//
+// You should have received a copy of the License along with this program.
+// If not, see <https://www.gnu.org/licenses/gpl-3.0.txt>.
+
 use std::sync::Arc;
 
 use crate::{
diff --git a/crates/yt/src/commands/download/mod.rs b/crates/yt/src/commands/download/mod.rs
index 432865f..15026ba 100644
--- a/crates/yt/src/commands/download/mod.rs
+++ b/crates/yt/src/commands/download/mod.rs
@@ -1,3 +1,13 @@
+// yt - A fully featured command line YouTube client
+//
+// Copyright (C) 2025 Benedikt Peetz <benedikt.peetz@b-peetz.de>
+// SPDX-License-Identifier: GPL-3.0-or-later
+//
+// This file is part of Yt.
+//
+// You should have received a copy of the License along with this program.
+// If not, see <https://www.gnu.org/licenses/gpl-3.0.txt>.
+
 use anyhow::Context;
 use clap::Parser;
 
diff --git a/crates/yt/src/commands/implm.rs b/crates/yt/src/commands/implm.rs
index ff29ce5..7c60c6a 100644
--- a/crates/yt/src/commands/implm.rs
+++ b/crates/yt/src/commands/implm.rs
@@ -1,3 +1,13 @@
+// yt - A fully featured command line YouTube client
+//
+// Copyright (C) 2025 Benedikt Peetz <benedikt.peetz@b-peetz.de>
+// SPDX-License-Identifier: GPL-3.0-or-later
+//
+// This file is part of Yt.
+//
+// You should have received a copy of the License along with this program.
+// If not, see <https://www.gnu.org/licenses/gpl-3.0.txt>.
+
 use std::sync::Arc;
 
 use crate::commands::Command;
diff --git a/crates/yt/src/commands/mod.rs b/crates/yt/src/commands/mod.rs
index 2b847f7..431acef 100644
--- a/crates/yt/src/commands/mod.rs
+++ b/crates/yt/src/commands/mod.rs
@@ -1,3 +1,13 @@
+// yt - A fully featured command line YouTube client
+//
+// Copyright (C) 2025 Benedikt Peetz <benedikt.peetz@b-peetz.de>
+// SPDX-License-Identifier: GPL-3.0-or-later
+//
+// This file is part of Yt.
+//
+// You should have received a copy of the License along with this program.
+// If not, see <https://www.gnu.org/licenses/gpl-3.0.txt>.
+
 use std::{ffi::OsStr, thread};
 
 use clap::Subcommand;
diff --git a/crates/yt/src/commands/playlist/implm.rs b/crates/yt/src/commands/playlist/implm.rs
index 52a0977..603184b 100644
--- a/crates/yt/src/commands/playlist/implm.rs
+++ b/crates/yt/src/commands/playlist/implm.rs
@@ -1,3 +1,13 @@
+// yt - A fully featured command line YouTube client
+//
+// Copyright (C) 2025 Benedikt Peetz <benedikt.peetz@b-peetz.de>
+// SPDX-License-Identifier: GPL-3.0-or-later
+//
+// This file is part of Yt.
+//
+// You should have received a copy of the License along with this program.
+// If not, see <https://www.gnu.org/licenses/gpl-3.0.txt>.
+
 use std::{fmt::Write, path::Path};
 
 use crate::{
diff --git a/crates/yt/src/commands/playlist/mod.rs b/crates/yt/src/commands/playlist/mod.rs
index 6f7b255..8d3407d 100644
--- a/crates/yt/src/commands/playlist/mod.rs
+++ b/crates/yt/src/commands/playlist/mod.rs
@@ -1,3 +1,13 @@
+// yt - A fully featured command line YouTube client
+//
+// Copyright (C) 2025 Benedikt Peetz <benedikt.peetz@b-peetz.de>
+// SPDX-License-Identifier: GPL-3.0-or-later
+//
+// This file is part of Yt.
+//
+// You should have received a copy of the License along with this program.
+// If not, see <https://www.gnu.org/licenses/gpl-3.0.txt>.
+
 use clap::Parser;
 
 mod implm;
diff --git a/crates/yt/src/commands/select/implm/fs_generators/mod.rs b/crates/yt/src/commands/select/implm/fs_generators/mod.rs
index 8ccda3c..10da032 100644
--- a/crates/yt/src/commands/select/implm/fs_generators/mod.rs
+++ b/crates/yt/src/commands/select/implm/fs_generators/mod.rs
@@ -1,3 +1,13 @@
+// yt - A fully featured command line YouTube client
+//
+// Copyright (C) 2025 Benedikt Peetz <benedikt.peetz@b-peetz.de>
+// SPDX-License-Identifier: GPL-3.0-or-later
+//
+// This file is part of Yt.
+//
+// You should have received a copy of the License along with this program.
+// If not, see <https://www.gnu.org/licenses/gpl-3.0.txt>.
+
 use std::{
     collections::HashMap,
     env,
diff --git a/crates/yt/src/commands/select/implm/mod.rs b/crates/yt/src/commands/select/implm/mod.rs
index 155012c..f39c77f 100644
--- a/crates/yt/src/commands/select/implm/mod.rs
+++ b/crates/yt/src/commands/select/implm/mod.rs
@@ -1,3 +1,13 @@
+// yt - A fully featured command line YouTube client
+//
+// Copyright (C) 2025 Benedikt Peetz <benedikt.peetz@b-peetz.de>
+// SPDX-License-Identifier: GPL-3.0-or-later
+//
+// This file is part of Yt.
+//
+// You should have received a copy of the License along with this program.
+// If not, see <https://www.gnu.org/licenses/gpl-3.0.txt>.
+
 use crate::{app::App, commands::select::SelectCommand, storage::db::insert::Operations};
 
 use anyhow::Result;
diff --git a/crates/yt/src/commands/select/implm/standalone/mod.rs b/crates/yt/src/commands/select/implm/standalone/mod.rs
index 8b1008e..9512e32 100644
--- a/crates/yt/src/commands/select/implm/standalone/mod.rs
+++ b/crates/yt/src/commands/select/implm/standalone/mod.rs
@@ -1,3 +1,13 @@
+// yt - A fully featured command line YouTube client
+//
+// Copyright (C) 2025 Benedikt Peetz <benedikt.peetz@b-peetz.de>
+// SPDX-License-Identifier: GPL-3.0-or-later
+//
+// This file is part of Yt.
+//
+// You should have received a copy of the License along with this program.
+// If not, see <https://www.gnu.org/licenses/gpl-3.0.txt>.
+
 use std::io::{Write, stderr};
 
 use crate::{
diff --git a/crates/yt/src/commands/select/mod.rs b/crates/yt/src/commands/select/mod.rs
index 3ab2972..db69238 100644
--- a/crates/yt/src/commands/select/mod.rs
+++ b/crates/yt/src/commands/select/mod.rs
@@ -1,3 +1,13 @@
+// yt - A fully featured command line YouTube client
+//
+// Copyright (C) 2025 Benedikt Peetz <benedikt.peetz@b-peetz.de>
+// SPDX-License-Identifier: GPL-3.0-or-later
+//
+// This file is part of Yt.
+//
+// You should have received a copy of the License along with this program.
+// If not, see <https://www.gnu.org/licenses/gpl-3.0.txt>.
+
 use std::{
     fmt::{self, Display, Formatter},
     str::FromStr,
diff --git a/crates/yt/src/commands/show/implm/mod.rs b/crates/yt/src/commands/show/implm/mod.rs
index 66f9fa7..a2e40fd 100644
--- a/crates/yt/src/commands/show/implm/mod.rs
+++ b/crates/yt/src/commands/show/implm/mod.rs
@@ -1,3 +1,13 @@
+// yt - A fully featured command line YouTube client
+//
+// Copyright (C) 2025 Benedikt Peetz <benedikt.peetz@b-peetz.de>
+// SPDX-License-Identifier: GPL-3.0-or-later
+//
+// This file is part of Yt.
+//
+// You should have received a copy of the License along with this program.
+// If not, see <https://www.gnu.org/licenses/gpl-3.0.txt>.
+
 use std::{
     fs::{self, OpenOptions},
     io,
diff --git a/crates/yt/src/commands/show/mod.rs b/crates/yt/src/commands/show/mod.rs
index fe583c0..60f2e51 100644
--- a/crates/yt/src/commands/show/mod.rs
+++ b/crates/yt/src/commands/show/mod.rs
@@ -1,3 +1,13 @@
+// yt - A fully featured command line YouTube client
+//
+// Copyright (C) 2025 Benedikt Peetz <benedikt.peetz@b-peetz.de>
+// SPDX-License-Identifier: GPL-3.0-or-later
+//
+// This file is part of Yt.
+//
+// You should have received a copy of the License along with this program.
+// If not, see <https://www.gnu.org/licenses/gpl-3.0.txt>.
+
 use clap::Subcommand;
 
 mod implm;
diff --git a/crates/yt/src/commands/status/implm.rs b/crates/yt/src/commands/status/implm.rs
index bdce6ee..dabc5df 100644
--- a/crates/yt/src/commands/status/implm.rs
+++ b/crates/yt/src/commands/status/implm.rs
@@ -1,3 +1,13 @@
+// yt - A fully featured command line YouTube client
+//
+// Copyright (C) 2025 Benedikt Peetz <benedikt.peetz@b-peetz.de>
+// SPDX-License-Identifier: GPL-3.0-or-later
+//
+// This file is part of Yt.
+//
+// You should have received a copy of the License along with this program.
+// If not, see <https://www.gnu.org/licenses/gpl-3.0.txt>.
+
 use std::time::Duration;
 
 use crate::{
diff --git a/crates/yt/src/commands/status/mod.rs b/crates/yt/src/commands/status/mod.rs
index d333fb4..4a8dee7 100644
--- a/crates/yt/src/commands/status/mod.rs
+++ b/crates/yt/src/commands/status/mod.rs
@@ -1,3 +1,13 @@
+// yt - A fully featured command line YouTube client
+//
+// Copyright (C) 2025 Benedikt Peetz <benedikt.peetz@b-peetz.de>
+// SPDX-License-Identifier: GPL-3.0-or-later
+//
+// This file is part of Yt.
+//
+// You should have received a copy of the License along with this program.
+// If not, see <https://www.gnu.org/licenses/gpl-3.0.txt>.
+
 use clap::Parser;
 
 mod implm;
diff --git a/crates/yt/src/commands/subscriptions/implm.rs b/crates/yt/src/commands/subscriptions/implm.rs
index 6001c85..31b714e 100644
--- a/crates/yt/src/commands/subscriptions/implm.rs
+++ b/crates/yt/src/commands/subscriptions/implm.rs
@@ -1,3 +1,13 @@
+// yt - A fully featured command line YouTube client
+//
+// Copyright (C) 2025 Benedikt Peetz <benedikt.peetz@b-peetz.de>
+// SPDX-License-Identifier: GPL-3.0-or-later
+//
+// This file is part of Yt.
+//
+// You should have received a copy of the License along with this program.
+// If not, see <https://www.gnu.org/licenses/gpl-3.0.txt>.
+
 use std::str::FromStr;
 
 use crate::{
diff --git a/crates/yt/src/commands/subscriptions/mod.rs b/crates/yt/src/commands/subscriptions/mod.rs
index 57d065b..edd41c6 100644
--- a/crates/yt/src/commands/subscriptions/mod.rs
+++ b/crates/yt/src/commands/subscriptions/mod.rs
@@ -1,3 +1,13 @@
+// yt - A fully featured command line YouTube client
+//
+// Copyright (C) 2025 Benedikt Peetz <benedikt.peetz@b-peetz.de>
+// SPDX-License-Identifier: GPL-3.0-or-later
+//
+// This file is part of Yt.
+//
+// You should have received a copy of the License along with this program.
+// If not, see <https://www.gnu.org/licenses/gpl-3.0.txt>.
+
 use std::path::PathBuf;
 
 use clap::Subcommand;
diff --git a/crates/yt/src/commands/update/implm/mod.rs b/crates/yt/src/commands/update/implm/mod.rs
index 0bb6d99..53c7415 100644
--- a/crates/yt/src/commands/update/implm/mod.rs
+++ b/crates/yt/src/commands/update/implm/mod.rs
@@ -1,3 +1,13 @@
+// yt - A fully featured command line YouTube client
+//
+// Copyright (C) 2025 Benedikt Peetz <benedikt.peetz@b-peetz.de>
+// SPDX-License-Identifier: GPL-3.0-or-later
+//
+// This file is part of Yt.
+//
+// You should have received a copy of the License along with this program.
+// If not, see <https://www.gnu.org/licenses/gpl-3.0.txt>.
+
 use crate::{
     app::App,
     commands::update::{UpdateCommand, implm::updater::Updater},
diff --git a/crates/yt/src/commands/update/implm/updater.rs b/crates/yt/src/commands/update/implm/updater.rs
index 3e4bc85..ee61fa1 100644
--- a/crates/yt/src/commands/update/implm/updater.rs
+++ b/crates/yt/src/commands/update/implm/updater.rs
@@ -1,3 +1,13 @@
+// yt - A fully featured command line YouTube client
+//
+// Copyright (C) 2025 Benedikt Peetz <benedikt.peetz@b-peetz.de>
+// SPDX-License-Identifier: GPL-3.0-or-later
+//
+// This file is part of Yt.
+//
+// You should have received a copy of the License along with this program.
+// If not, see <https://www.gnu.org/licenses/gpl-3.0.txt>.
+
 use std::sync::atomic::{AtomicUsize, Ordering};
 
 use anyhow::{Context, Result};
diff --git a/crates/yt/src/commands/update/mod.rs b/crates/yt/src/commands/update/mod.rs
index 6c605b4..cb29148 100644
--- a/crates/yt/src/commands/update/mod.rs
+++ b/crates/yt/src/commands/update/mod.rs
@@ -1,3 +1,13 @@
+// yt - A fully featured command line YouTube client
+//
+// Copyright (C) 2025 Benedikt Peetz <benedikt.peetz@b-peetz.de>
+// SPDX-License-Identifier: GPL-3.0-or-later
+//
+// This file is part of Yt.
+//
+// You should have received a copy of the License along with this program.
+// If not, see <https://www.gnu.org/licenses/gpl-3.0.txt>.
+
 use clap::Parser;
 use clap_complete::ArgValueCompleter;
 
diff --git a/crates/yt/src/commands/videos/implm.rs b/crates/yt/src/commands/videos/implm.rs
index 0441b31..2a018c7 100644
--- a/crates/yt/src/commands/videos/implm.rs
+++ b/crates/yt/src/commands/videos/implm.rs
@@ -1,3 +1,13 @@
+// yt - A fully featured command line YouTube client
+//
+// Copyright (C) 2025 Benedikt Peetz <benedikt.peetz@b-peetz.de>
+// SPDX-License-Identifier: GPL-3.0-or-later
+//
+// This file is part of Yt.
+//
+// You should have received a copy of the License along with this program.
+// If not, see <https://www.gnu.org/licenses/gpl-3.0.txt>.
+
 use crate::{
     app::App,
     commands::videos::VideosCommand,
diff --git a/crates/yt/src/commands/videos/mod.rs b/crates/yt/src/commands/videos/mod.rs
index 298f13d..ca20715 100644
--- a/crates/yt/src/commands/videos/mod.rs
+++ b/crates/yt/src/commands/videos/mod.rs
@@ -1,3 +1,13 @@
+// yt - A fully featured command line YouTube client
+//
+// Copyright (C) 2025 Benedikt Peetz <benedikt.peetz@b-peetz.de>
+// SPDX-License-Identifier: GPL-3.0-or-later
+//
+// This file is part of Yt.
+//
+// You should have received a copy of the License along with this program.
+// If not, see <https://www.gnu.org/licenses/gpl-3.0.txt>.
+
 use clap::{ArgAction, Subcommand};
 
 use crate::storage::db::extractor_hash::LazyExtractorHash;
diff --git a/crates/yt/src/commands/watch/implm/mod.rs b/crates/yt/src/commands/watch/implm/mod.rs
index 9eba858..8182216 100644
--- a/crates/yt/src/commands/watch/implm/mod.rs
+++ b/crates/yt/src/commands/watch/implm/mod.rs
@@ -1,3 +1,13 @@
+// yt - A fully featured command line YouTube client
+//
+// Copyright (C) 2025 Benedikt Peetz <benedikt.peetz@b-peetz.de>
+// SPDX-License-Identifier: GPL-3.0-or-later
+//
+// This file is part of Yt.
+//
+// You should have received a copy of the License along with this program.
+// If not, see <https://www.gnu.org/licenses/gpl-3.0.txt>.
+
 use std::{
     fs,
     path::PathBuf,
diff --git a/crates/yt/src/commands/watch/mod.rs b/crates/yt/src/commands/watch/mod.rs
index b106370..ea4c513 100644
--- a/crates/yt/src/commands/watch/mod.rs
+++ b/crates/yt/src/commands/watch/mod.rs
@@ -1,3 +1,13 @@
+// yt - A fully featured command line YouTube client
+//
+// Copyright (C) 2025 Benedikt Peetz <benedikt.peetz@b-peetz.de>
+// SPDX-License-Identifier: GPL-3.0-or-later
+//
+// This file is part of Yt.
+//
+// You should have received a copy of the License along with this program.
+// If not, see <https://www.gnu.org/licenses/gpl-3.0.txt>.
+
 use clap::Parser;
 
 mod implm;
diff --git a/crates/yt/src/config/mod.rs b/crates/yt/src/config/mod.rs
index a19c25c..05bb4cf 100644
--- a/crates/yt/src/config/mod.rs
+++ b/crates/yt/src/config/mod.rs
@@ -1,3 +1,13 @@
+// yt - A fully featured command line YouTube client
+//
+// Copyright (C) 2025 Benedikt Peetz <benedikt.peetz@b-peetz.de>
+// SPDX-License-Identifier: GPL-3.0-or-later
+//
+// This file is part of Yt.
+//
+// You should have received a copy of the License along with this program.
+// If not, see <https://www.gnu.org/licenses/gpl-3.0.txt>.
+
 use std::sync::atomic::{AtomicBool, Ordering};
 
 use crate::config::support::mk_config;
diff --git a/crates/yt/src/config/non_empty_vec.rs b/crates/yt/src/config/non_empty_vec.rs
index 0ca864b..bd2c5e3 100644
--- a/crates/yt/src/config/non_empty_vec.rs
+++ b/crates/yt/src/config/non_empty_vec.rs
@@ -1,3 +1,13 @@
+// yt - A fully featured command line YouTube client
+//
+// Copyright (C) 2025 Benedikt Peetz <benedikt.peetz@b-peetz.de>
+// SPDX-License-Identifier: GPL-3.0-or-later
+//
+// This file is part of Yt.
+//
+// You should have received a copy of the License along with this program.
+// If not, see <https://www.gnu.org/licenses/gpl-3.0.txt>.
+
 use std::{
     collections::VecDeque,
     fmt::{Display, Write},
diff --git a/crates/yt/src/config/support.rs b/crates/yt/src/config/support.rs
index 880eba7..96e7ba4 100644
--- a/crates/yt/src/config/support.rs
+++ b/crates/yt/src/config/support.rs
@@ -1,3 +1,13 @@
+// yt - A fully featured command line YouTube client
+//
+// Copyright (C) 2025 Benedikt Peetz <benedikt.peetz@b-peetz.de>
+// SPDX-License-Identifier: GPL-3.0-or-later
+//
+// This file is part of Yt.
+//
+// You should have received a copy of the License along with this program.
+// If not, see <https://www.gnu.org/licenses/gpl-3.0.txt>.
+
 macro_rules! mk_config {
     (
         $(use $usage_path:path;)*
diff --git a/crates/yt/src/shared/mod.rs b/crates/yt/src/shared/mod.rs
index 14e4949..d3cc563 100644
--- a/crates/yt/src/shared/mod.rs
+++ b/crates/yt/src/shared/mod.rs
@@ -1 +1,11 @@
+// yt - A fully featured command line YouTube client
+//
+// Copyright (C) 2025 Benedikt Peetz <benedikt.peetz@b-peetz.de>
+// SPDX-License-Identifier: GPL-3.0-or-later
+//
+// This file is part of Yt.
+//
+// You should have received a copy of the License along with this program.
+// If not, see <https://www.gnu.org/licenses/gpl-3.0.txt>.
+
 pub(crate) mod bytes;
diff --git a/crates/yt/src/storage/db/get/extractor_hash.rs b/crates/yt/src/storage/db/get/extractor_hash.rs
index d10b326..c8e150a 100644
--- a/crates/yt/src/storage/db/get/extractor_hash.rs
+++ b/crates/yt/src/storage/db/get/extractor_hash.rs
@@ -1,3 +1,13 @@
+// yt - A fully featured command line YouTube client
+//
+// Copyright (C) 2025 Benedikt Peetz <benedikt.peetz@b-peetz.de>
+// SPDX-License-Identifier: GPL-3.0-or-later
+//
+// This file is part of Yt.
+//
+// You should have received a copy of the License along with this program.
+// If not, see <https://www.gnu.org/licenses/gpl-3.0.txt>.
+
 use anyhow::Result;
 use blake3::Hash;
 use sqlx::{SqliteConnection, query};
diff --git a/crates/yt/src/storage/db/get/mod.rs b/crates/yt/src/storage/db/get/mod.rs
index 58f1dd6..dca16fc 100644
--- a/crates/yt/src/storage/db/get/mod.rs
+++ b/crates/yt/src/storage/db/get/mod.rs
@@ -1,3 +1,13 @@
+// yt - A fully featured command line YouTube client
+//
+// Copyright (C) 2025 Benedikt Peetz <benedikt.peetz@b-peetz.de>
+// SPDX-License-Identifier: GPL-3.0-or-later
+//
+// This file is part of Yt.
+//
+// You should have received a copy of the License along with this program.
+// If not, see <https://www.gnu.org/licenses/gpl-3.0.txt>.
+
 pub(crate) mod subscription;
 pub(crate) mod video;
 pub(crate) mod extractor_hash;
diff --git a/crates/yt/src/storage/db/get/playlist.rs b/crates/yt/src/storage/db/get/playlist.rs
index 95a61bf..5094523 100644
--- a/crates/yt/src/storage/db/get/playlist.rs
+++ b/crates/yt/src/storage/db/get/playlist.rs
@@ -1,3 +1,13 @@
+// yt - A fully featured command line YouTube client
+//
+// Copyright (C) 2025 Benedikt Peetz <benedikt.peetz@b-peetz.de>
+// SPDX-License-Identifier: GPL-3.0-or-later
+//
+// This file is part of Yt.
+//
+// You should have received a copy of the License along with this program.
+// If not, see <https://www.gnu.org/licenses/gpl-3.0.txt>.
+
 use crate::{
     app::App,
     storage::db::{
diff --git a/crates/yt/src/storage/db/get/subscription.rs b/crates/yt/src/storage/db/get/subscription.rs
index cdb2b9a..16a6e8b 100644
--- a/crates/yt/src/storage/db/get/subscription.rs
+++ b/crates/yt/src/storage/db/get/subscription.rs
@@ -1,3 +1,13 @@
+// yt - A fully featured command line YouTube client
+//
+// Copyright (C) 2025 Benedikt Peetz <benedikt.peetz@b-peetz.de>
+// SPDX-License-Identifier: GPL-3.0-or-later
+//
+// This file is part of Yt.
+//
+// You should have received a copy of the License along with this program.
+// If not, see <https://www.gnu.org/licenses/gpl-3.0.txt>.
+
 use std::collections::HashMap;
 
 use crate::{
diff --git a/crates/yt/src/storage/db/get/txn_log.rs b/crates/yt/src/storage/db/get/txn_log.rs
index e4a1dcb..1a6df2c 100644
--- a/crates/yt/src/storage/db/get/txn_log.rs
+++ b/crates/yt/src/storage/db/get/txn_log.rs
@@ -1,3 +1,13 @@
+// yt - A fully featured command line YouTube client
+//
+// Copyright (C) 2025 Benedikt Peetz <benedikt.peetz@b-peetz.de>
+// SPDX-License-Identifier: GPL-3.0-or-later
+//
+// This file is part of Yt.
+//
+// You should have received a copy of the License along with this program.
+// If not, see <https://www.gnu.org/licenses/gpl-3.0.txt>.
+
 use crate::{
     app::App,
     storage::db::{insert::Committable, txn_log::TxnLog, video::TimeStamp},
diff --git a/crates/yt/src/storage/db/get/video/mod.rs b/crates/yt/src/storage/db/get/video/mod.rs
index 1f847cb..69adb6b 100644
--- a/crates/yt/src/storage/db/get/video/mod.rs
+++ b/crates/yt/src/storage/db/get/video/mod.rs
@@ -1,3 +1,13 @@
+// yt - A fully featured command line YouTube client
+//
+// Copyright (C) 2025 Benedikt Peetz <benedikt.peetz@b-peetz.de>
+// SPDX-License-Identifier: GPL-3.0-or-later
+//
+// This file is part of Yt.
+//
+// You should have received a copy of the License along with this program.
+// If not, see <https://www.gnu.org/licenses/gpl-3.0.txt>.
+
 use std::{fs::File, path::PathBuf};
 
 use anyhow::{Context, Result, bail};
diff --git a/crates/yt/src/storage/db/insert/maintenance.rs b/crates/yt/src/storage/db/insert/maintenance.rs
index 6442c48..d87c1ae 100644
--- a/crates/yt/src/storage/db/insert/maintenance.rs
+++ b/crates/yt/src/storage/db/insert/maintenance.rs
@@ -1,3 +1,13 @@
+// yt - A fully featured command line YouTube client
+//
+// Copyright (C) 2025 Benedikt Peetz <benedikt.peetz@b-peetz.de>
+// SPDX-License-Identifier: GPL-3.0-or-later
+//
+// This file is part of Yt.
+//
+// You should have received a copy of the License along with this program.
+// If not, see <https://www.gnu.org/licenses/gpl-3.0.txt>.
+
 use crate::{
     app::App,
     storage::db::{
diff --git a/crates/yt/src/storage/db/insert/mod.rs b/crates/yt/src/storage/db/insert/mod.rs
index 60bbc0a..3458608 100644
--- a/crates/yt/src/storage/db/insert/mod.rs
+++ b/crates/yt/src/storage/db/insert/mod.rs
@@ -1,3 +1,13 @@
+// yt - A fully featured command line YouTube client
+//
+// Copyright (C) 2025 Benedikt Peetz <benedikt.peetz@b-peetz.de>
+// SPDX-License-Identifier: GPL-3.0-or-later
+//
+// This file is part of Yt.
+//
+// You should have received a copy of the License along with this program.
+// If not, see <https://www.gnu.org/licenses/gpl-3.0.txt>.
+
 use std::mem;
 
 use crate::app::App;
diff --git a/crates/yt/src/storage/db/insert/playlist.rs b/crates/yt/src/storage/db/insert/playlist.rs
index 2287db9..4d3e140 100644
--- a/crates/yt/src/storage/db/insert/playlist.rs
+++ b/crates/yt/src/storage/db/insert/playlist.rs
@@ -1,3 +1,13 @@
+// yt - A fully featured command line YouTube client
+//
+// Copyright (C) 2025 Benedikt Peetz <benedikt.peetz@b-peetz.de>
+// SPDX-License-Identifier: GPL-3.0-or-later
+//
+// This file is part of Yt.
+//
+// You should have received a copy of the License along with this program.
+// If not, see <https://www.gnu.org/licenses/gpl-3.0.txt>.
+
 use std::{cmp::Ordering, time::Duration};
 
 use anyhow::{Context, Result};
diff --git a/crates/yt/src/storage/db/insert/subscription.rs b/crates/yt/src/storage/db/insert/subscription.rs
index 8499966..d25a209 100644
--- a/crates/yt/src/storage/db/insert/subscription.rs
+++ b/crates/yt/src/storage/db/insert/subscription.rs
@@ -1,3 +1,13 @@
+// yt - A fully featured command line YouTube client
+//
+// Copyright (C) 2025 Benedikt Peetz <benedikt.peetz@b-peetz.de>
+// SPDX-License-Identifier: GPL-3.0-or-later
+//
+// This file is part of Yt.
+//
+// You should have received a copy of the License along with this program.
+// If not, see <https://www.gnu.org/licenses/gpl-3.0.txt>.
+
 use crate::storage::db::{
     insert::{Committable, Operations},
     subscription::{Subscription, Subscriptions},
diff --git a/crates/yt/src/storage/db/insert/video/mod.rs b/crates/yt/src/storage/db/insert/video/mod.rs
index 4cc7358..da62e37 100644
--- a/crates/yt/src/storage/db/insert/video/mod.rs
+++ b/crates/yt/src/storage/db/insert/video/mod.rs
@@ -1,3 +1,13 @@
+// yt - A fully featured command line YouTube client
+//
+// Copyright (C) 2025 Benedikt Peetz <benedikt.peetz@b-peetz.de>
+// SPDX-License-Identifier: GPL-3.0-or-later
+//
+// This file is part of Yt.
+//
+// You should have received a copy of the License along with this program.
+// If not, see <https://www.gnu.org/licenses/gpl-3.0.txt>.
+
 use std::{
     path::{Path, PathBuf},
     time,
diff --git a/crates/yt/src/storage/db/mod.rs b/crates/yt/src/storage/db/mod.rs
index 5da28ed..f42c3fc 100644
--- a/crates/yt/src/storage/db/mod.rs
+++ b/crates/yt/src/storage/db/mod.rs
@@ -1,3 +1,13 @@
+// yt - A fully featured command line YouTube client
+//
+// Copyright (C) 2025 Benedikt Peetz <benedikt.peetz@b-peetz.de>
+// SPDX-License-Identifier: GPL-3.0-or-later
+//
+// This file is part of Yt.
+//
+// You should have received a copy of the License along with this program.
+// If not, see <https://www.gnu.org/licenses/gpl-3.0.txt>.
+
 pub(crate) mod get;
 pub(crate) mod insert;
 
diff --git a/crates/yt/src/storage/db/playlist/mod.rs b/crates/yt/src/storage/db/playlist/mod.rs
index 6fca98a..7366e8e 100644
--- a/crates/yt/src/storage/db/playlist/mod.rs
+++ b/crates/yt/src/storage/db/playlist/mod.rs
@@ -1,3 +1,13 @@
+// yt - A fully featured command line YouTube client
+//
+// Copyright (C) 2025 Benedikt Peetz <benedikt.peetz@b-peetz.de>
+// SPDX-License-Identifier: GPL-3.0-or-later
+//
+// This file is part of Yt.
+//
+// You should have received a copy of the License along with this program.
+// If not, see <https://www.gnu.org/licenses/gpl-3.0.txt>.
+
 use std::ops::Add;
 
 use crate::storage::db::video::Video;
diff --git a/crates/yt/src/storage/db/subscription.rs b/crates/yt/src/storage/db/subscription.rs
index eb03e47..c111b52 100644
--- a/crates/yt/src/storage/db/subscription.rs
+++ b/crates/yt/src/storage/db/subscription.rs
@@ -1,3 +1,13 @@
+// yt - A fully featured command line YouTube client
+//
+// Copyright (C) 2025 Benedikt Peetz <benedikt.peetz@b-peetz.de>
+// SPDX-License-Identifier: GPL-3.0-or-later
+//
+// This file is part of Yt.
+//
+// You should have received a copy of the License along with this program.
+// If not, see <https://www.gnu.org/licenses/gpl-3.0.txt>.
+
 use std::collections::HashMap;
 
 use anyhow::Result;
diff --git a/crates/yt/src/storage/db/txn_log.rs b/crates/yt/src/storage/db/txn_log.rs
index 8d6c305..64884b0 100644
--- a/crates/yt/src/storage/db/txn_log.rs
+++ b/crates/yt/src/storage/db/txn_log.rs
@@ -1,3 +1,13 @@
+// yt - A fully featured command line YouTube client
+//
+// Copyright (C) 2025 Benedikt Peetz <benedikt.peetz@b-peetz.de>
+// SPDX-License-Identifier: GPL-3.0-or-later
+//
+// This file is part of Yt.
+//
+// You should have received a copy of the License along with this program.
+// If not, see <https://www.gnu.org/licenses/gpl-3.0.txt>.
+
 use crate::storage::db::{insert::Committable, video::TimeStamp};
 
 pub(crate) struct TxnLog<O: Committable> {
diff --git a/crates/yt/src/storage/db/video/comments/display.rs b/crates/yt/src/storage/db/video/comments/display.rs
index 084e54c..c372603 100644
--- a/crates/yt/src/storage/db/video/comments/display.rs
+++ b/crates/yt/src/storage/db/video/comments/display.rs
@@ -1,3 +1,13 @@
+// yt - A fully featured command line YouTube client
+//
+// Copyright (C) 2025 Benedikt Peetz <benedikt.peetz@b-peetz.de>
+// SPDX-License-Identifier: GPL-3.0-or-later
+//
+// This file is part of Yt.
+//
+// You should have received a copy of the License along with this program.
+// If not, see <https://www.gnu.org/licenses/gpl-3.0.txt>.
+
 use std::fmt::Write;
 
 use chrono::{Local, TimeZone};
diff --git a/crates/yt/src/storage/db/video/comments/mod.rs b/crates/yt/src/storage/db/video/comments/mod.rs
index e7bd8f5..b89aa63 100644
--- a/crates/yt/src/storage/db/video/comments/mod.rs
+++ b/crates/yt/src/storage/db/video/comments/mod.rs
@@ -1,3 +1,13 @@
+// yt - A fully featured command line YouTube client
+//
+// Copyright (C) 2025 Benedikt Peetz <benedikt.peetz@b-peetz.de>
+// SPDX-License-Identifier: GPL-3.0-or-later
+//
+// This file is part of Yt.
+//
+// You should have received a copy of the License along with this program.
+// If not, see <https://www.gnu.org/licenses/gpl-3.0.txt>.
+
 use std::mem;
 
 use regex::{Captures, Regex};
diff --git a/crates/yt/src/storage/db/video/comments/raw.rs b/crates/yt/src/storage/db/video/comments/raw.rs
index a79820a..3b7f40f 100644
--- a/crates/yt/src/storage/db/video/comments/raw.rs
+++ b/crates/yt/src/storage/db/video/comments/raw.rs
@@ -1,3 +1,13 @@
+// yt - A fully featured command line YouTube client
+//
+// Copyright (C) 2025 Benedikt Peetz <benedikt.peetz@b-peetz.de>
+// SPDX-License-Identifier: GPL-3.0-or-later
+//
+// This file is part of Yt.
+//
+// You should have received a copy of the License along with this program.
+// If not, see <https://www.gnu.org/licenses/gpl-3.0.txt>.
+
 use serde::{Deserialize, Deserializer};
 use url::Url;
 
diff --git a/crates/yt/src/storage/db/video/comments/tests.rs b/crates/yt/src/storage/db/video/comments/tests.rs
index 3bd1c73..03e3597 100644
--- a/crates/yt/src/storage/db/video/comments/tests.rs
+++ b/crates/yt/src/storage/db/video/comments/tests.rs
@@ -1,3 +1,13 @@
+// yt - A fully featured command line YouTube client
+//
+// Copyright (C) 2025 Benedikt Peetz <benedikt.peetz@b-peetz.de>
+// SPDX-License-Identifier: GPL-3.0-or-later
+//
+// This file is part of Yt.
+//
+// You should have received a copy of the License along with this program.
+// If not, see <https://www.gnu.org/licenses/gpl-3.0.txt>.
+
 use pretty_assertions::assert_eq;
 use url::Url;
 
diff --git a/crates/yt/src/storage/db/video/mod.rs b/crates/yt/src/storage/db/video/mod.rs
index e768cec..deeb82c 100644
--- a/crates/yt/src/storage/db/video/mod.rs
+++ b/crates/yt/src/storage/db/video/mod.rs
@@ -1,3 +1,13 @@
+// yt - A fully featured command line YouTube client
+//
+// Copyright (C) 2025 Benedikt Peetz <benedikt.peetz@b-peetz.de>
+// SPDX-License-Identifier: GPL-3.0-or-later
+//
+// This file is part of Yt.
+//
+// You should have received a copy of the License along with this program.
+// If not, see <https://www.gnu.org/licenses/gpl-3.0.txt>.
+
 use std::{fmt::Display, path::PathBuf, time::Duration};
 
 use chrono::{DateTime, Utc};
diff --git a/crates/yt/src/yt_dlp/mod.rs b/crates/yt/src/yt_dlp/mod.rs
index 0415247..eaa80a1 100644
--- a/crates/yt/src/yt_dlp/mod.rs
+++ b/crates/yt/src/yt_dlp/mod.rs
@@ -1,3 +1,13 @@
+// yt - A fully featured command line YouTube client
+//
+// Copyright (C) 2025 Benedikt Peetz <benedikt.peetz@b-peetz.de>
+// SPDX-License-Identifier: GPL-3.0-or-later
+//
+// This file is part of Yt.
+//
+// You should have received a copy of the License along with this program.
+// If not, see <https://www.gnu.org/licenses/gpl-3.0.txt>.
+
 use std::{borrow::ToOwned, str::FromStr, time::Duration};
 
 use anyhow::{Context, Result};
diff --git a/crates/yt/tests/_testenv/init.rs b/crates/yt/tests/_testenv/init.rs
index d797ed8..5970c7c 100644
--- a/crates/yt/tests/_testenv/init.rs
+++ b/crates/yt/tests/_testenv/init.rs
@@ -1,3 +1,13 @@
+// yt - A fully featured command line YouTube client
+//
+// Copyright (C) 2025 Benedikt Peetz <benedikt.peetz@b-peetz.de>
+// SPDX-License-Identifier: GPL-3.0-or-later
+//
+// This file is part of Yt.
+//
+// You should have received a copy of the License along with this program.
+// If not, see <https://www.gnu.org/licenses/gpl-3.0.txt>.
+
 use std::{
     env,
     fs::{self, OpenOptions},
diff --git a/crates/yt/tests/_testenv/mod.rs b/crates/yt/tests/_testenv/mod.rs
index 4798d5d..38d1f0a 100644
--- a/crates/yt/tests/_testenv/mod.rs
+++ b/crates/yt/tests/_testenv/mod.rs
@@ -1,3 +1,13 @@
+// yt - A fully featured command line YouTube client
+//
+// Copyright (C) 2025 Benedikt Peetz <benedikt.peetz@b-peetz.de>
+// SPDX-License-Identifier: GPL-3.0-or-later
+//
+// This file is part of Yt.
+//
+// You should have received a copy of the License along with this program.
+// If not, see <https://www.gnu.org/licenses/gpl-3.0.txt>.
+
 //! This code was taken from *fd* at 30-06-2025.
 
 use std::{path::PathBuf, process};
diff --git a/crates/yt/tests/_testenv/run.rs b/crates/yt/tests/_testenv/run.rs
index 4df9362..578d823 100644
--- a/crates/yt/tests/_testenv/run.rs
+++ b/crates/yt/tests/_testenv/run.rs
@@ -1,3 +1,13 @@
+// yt - A fully featured command line YouTube client
+//
+// Copyright (C) 2025 Benedikt Peetz <benedikt.peetz@b-peetz.de>
+// SPDX-License-Identifier: GPL-3.0-or-later
+//
+// This file is part of Yt.
+//
+// You should have received a copy of the License along with this program.
+// If not, see <https://www.gnu.org/licenses/gpl-3.0.txt>.
+
 use std::{
     collections::HashMap,
     process::{self, Stdio},
diff --git a/crates/yt/tests/_testenv/util.rs b/crates/yt/tests/_testenv/util.rs
index b811bf7..6633fbf 100644
--- a/crates/yt/tests/_testenv/util.rs
+++ b/crates/yt/tests/_testenv/util.rs
@@ -1,3 +1,13 @@
+// yt - A fully featured command line YouTube client
+//
+// Copyright (C) 2025 Benedikt Peetz <benedikt.peetz@b-peetz.de>
+// SPDX-License-Identifier: GPL-3.0-or-later
+//
+// This file is part of Yt.
+//
+// You should have received a copy of the License along with this program.
+// If not, see <https://www.gnu.org/licenses/gpl-3.0.txt>.
+
 use crate::_testenv::TestEnv;
 
 use std::{
diff --git a/crates/yt/tests/select/base.rs b/crates/yt/tests/select/base.rs
index dddf721..24e198b 100644
--- a/crates/yt/tests/select/base.rs
+++ b/crates/yt/tests/select/base.rs
@@ -1,3 +1,13 @@
+// yt - A fully featured command line YouTube client
+//
+// Copyright (C) 2025 Benedikt Peetz <benedikt.peetz@b-peetz.de>
+// SPDX-License-Identifier: GPL-3.0-or-later
+//
+// This file is part of Yt.
+//
+// You should have received a copy of the License along with this program.
+// If not, see <https://www.gnu.org/licenses/gpl-3.0.txt>.
+
 use std::{collections::HashMap, fs};
 
 use crate::{
diff --git a/crates/yt/tests/select/file.rs b/crates/yt/tests/select/file.rs
index 320b27f..b8bd2b5 100644
--- a/crates/yt/tests/select/file.rs
+++ b/crates/yt/tests/select/file.rs
@@ -1,3 +1,13 @@
+// yt - A fully featured command line YouTube client
+//
+// Copyright (C) 2025 Benedikt Peetz <benedikt.peetz@b-peetz.de>
+// SPDX-License-Identifier: GPL-3.0-or-later
+//
+// This file is part of Yt.
+//
+// You should have received a copy of the License along with this program.
+// If not, see <https://www.gnu.org/licenses/gpl-3.0.txt>.
+
 use crate::{
     _testenv::util::{self, Subscription},
     select::get_videos_in_state,
diff --git a/crates/yt/tests/select/mod.rs b/crates/yt/tests/select/mod.rs
index 9ee23f5..d7033f8 100644
--- a/crates/yt/tests/select/mod.rs
+++ b/crates/yt/tests/select/mod.rs
@@ -1,3 +1,13 @@
+// yt - A fully featured command line YouTube client
+//
+// Copyright (C) 2025 Benedikt Peetz <benedikt.peetz@b-peetz.de>
+// SPDX-License-Identifier: GPL-3.0-or-later
+//
+// This file is part of Yt.
+//
+// You should have received a copy of the License along with this program.
+// If not, see <https://www.gnu.org/licenses/gpl-3.0.txt>.
+
 use crate::_testenv::TestEnv;
 
 mod base;
diff --git a/crates/yt/tests/select/options.rs b/crates/yt/tests/select/options.rs
index f9456c0..6a0d155 100644
--- a/crates/yt/tests/select/options.rs
+++ b/crates/yt/tests/select/options.rs
@@ -1,3 +1,13 @@
+// yt - A fully featured command line YouTube client
+//
+// Copyright (C) 2025 Benedikt Peetz <benedikt.peetz@b-peetz.de>
+// SPDX-License-Identifier: GPL-3.0-or-later
+//
+// This file is part of Yt.
+//
+// You should have received a copy of the License along with this program.
+// If not, see <https://www.gnu.org/licenses/gpl-3.0.txt>.
+
 use crate::{_testenv::util, select::get_videos_in_state, testenv::TestEnv};
 
 #[test]
diff --git a/crates/yt/tests/subscriptions/import_export/golden.txt.license b/crates/yt/tests/subscriptions/import_export/golden.txt.license
new file mode 100644
index 0000000..7813eb6
--- /dev/null
+++ b/crates/yt/tests/subscriptions/import_export/golden.txt.license
@@ -0,0 +1,9 @@
+yt - A fully featured command line YouTube client
+
+Copyright (C) 2025 Benedikt Peetz <benedikt.peetz@b-peetz.de>
+SPDX-License-Identifier: GPL-3.0-or-later
+
+This file is part of Yt.
+
+You should have received a copy of the License along with this program.
+If not, see <https://www.gnu.org/licenses/gpl-3.0.txt>.
diff --git a/crates/yt/tests/subscriptions/import_export/mod.rs b/crates/yt/tests/subscriptions/import_export/mod.rs
index 44d3b8b..1156508 100644
--- a/crates/yt/tests/subscriptions/import_export/mod.rs
+++ b/crates/yt/tests/subscriptions/import_export/mod.rs
@@ -1,3 +1,13 @@
+// yt - A fully featured command line YouTube client
+//
+// Copyright (C) 2025 Benedikt Peetz <benedikt.peetz@b-peetz.de>
+// SPDX-License-Identifier: GPL-3.0-or-later
+//
+// This file is part of Yt.
+//
+// You should have received a copy of the License along with this program.
+// If not, see <https://www.gnu.org/licenses/gpl-3.0.txt>.
+
 use crate::testenv::TestEnv;
 
 #[test]
diff --git a/crates/yt/tests/subscriptions/mod.rs b/crates/yt/tests/subscriptions/mod.rs
index 5b0157f..0b300c5 100644
--- a/crates/yt/tests/subscriptions/mod.rs
+++ b/crates/yt/tests/subscriptions/mod.rs
@@ -1,2 +1,12 @@
+// yt - A fully featured command line YouTube client
+//
+// Copyright (C) 2025 Benedikt Peetz <benedikt.peetz@b-peetz.de>
+// SPDX-License-Identifier: GPL-3.0-or-later
+//
+// This file is part of Yt.
+//
+// You should have received a copy of the License along with this program.
+// If not, see <https://www.gnu.org/licenses/gpl-3.0.txt>.
+
 mod import_export;
 mod naming_subscriptions;
diff --git a/crates/yt/tests/subscriptions/naming_subscriptions/golden.txt.license b/crates/yt/tests/subscriptions/naming_subscriptions/golden.txt.license
new file mode 100644
index 0000000..7813eb6
--- /dev/null
+++ b/crates/yt/tests/subscriptions/naming_subscriptions/golden.txt.license
@@ -0,0 +1,9 @@
+yt - A fully featured command line YouTube client
+
+Copyright (C) 2025 Benedikt Peetz <benedikt.peetz@b-peetz.de>
+SPDX-License-Identifier: GPL-3.0-or-later
+
+This file is part of Yt.
+
+You should have received a copy of the License along with this program.
+If not, see <https://www.gnu.org/licenses/gpl-3.0.txt>.
diff --git a/crates/yt/tests/subscriptions/naming_subscriptions/mod.rs b/crates/yt/tests/subscriptions/naming_subscriptions/mod.rs
index 255a575..50fe3e4 100644
--- a/crates/yt/tests/subscriptions/naming_subscriptions/mod.rs
+++ b/crates/yt/tests/subscriptions/naming_subscriptions/mod.rs
@@ -1,3 +1,13 @@
+// yt - A fully featured command line YouTube client
+//
+// Copyright (C) 2025 Benedikt Peetz <benedikt.peetz@b-peetz.de>
+// SPDX-License-Identifier: GPL-3.0-or-later
+//
+// This file is part of Yt.
+//
+// You should have received a copy of the License along with this program.
+// If not, see <https://www.gnu.org/licenses/gpl-3.0.txt>.
+
 use crate::testenv::TestEnv;
 
 #[test]
diff --git a/crates/yt/tests/tests.rs b/crates/yt/tests/tests.rs
index 9e6c95a..89c3091 100644
--- a/crates/yt/tests/tests.rs
+++ b/crates/yt/tests/tests.rs
@@ -1,3 +1,13 @@
+// yt - A fully featured command line YouTube client
+//
+// Copyright (C) 2025 Benedikt Peetz <benedikt.peetz@b-peetz.de>
+// SPDX-License-Identifier: GPL-3.0-or-later
+//
+// This file is part of Yt.
+//
+// You should have received a copy of the License along with this program.
+// If not, see <https://www.gnu.org/licenses/gpl-3.0.txt>.
+
 // Use this, for the background run pids
 // #![feature(linux_pidfd)]
 
diff --git a/crates/yt/tests/videos/downloading.rs b/crates/yt/tests/videos/downloading.rs
index 7cb437c..f026858 100644
--- a/crates/yt/tests/videos/downloading.rs
+++ b/crates/yt/tests/videos/downloading.rs
@@ -1,3 +1,13 @@
+// yt - A fully featured command line YouTube client
+//
+// Copyright (C) 2025 Benedikt Peetz <benedikt.peetz@b-peetz.de>
+// SPDX-License-Identifier: GPL-3.0-or-later
+//
+// This file is part of Yt.
+//
+// You should have received a copy of the License along with this program.
+// If not, see <https://www.gnu.org/licenses/gpl-3.0.txt>.
+
 use crate::{_testenv::util, testenv::TestEnv};
 
 #[test]
diff --git a/crates/yt/tests/videos/mod.rs b/crates/yt/tests/videos/mod.rs
index 1077d05..6a80761 100644
--- a/crates/yt/tests/videos/mod.rs
+++ b/crates/yt/tests/videos/mod.rs
@@ -1 +1,11 @@
+// yt - A fully featured command line YouTube client
+//
+// Copyright (C) 2025 Benedikt Peetz <benedikt.peetz@b-peetz.de>
+// SPDX-License-Identifier: GPL-3.0-or-later
+//
+// This file is part of Yt.
+//
+// You should have received a copy of the License along with this program.
+// If not, see <https://www.gnu.org/licenses/gpl-3.0.txt>.
+
 mod downloading;
diff --git a/crates/yt/tests/watch/focus_switch.rs b/crates/yt/tests/watch/focus_switch.rs
index e2242a8..81246f3 100644
--- a/crates/yt/tests/watch/focus_switch.rs
+++ b/crates/yt/tests/watch/focus_switch.rs
@@ -1,3 +1,13 @@
+// yt - A fully featured command line YouTube client
+//
+// Copyright (C) 2025 Benedikt Peetz <benedikt.peetz@b-peetz.de>
+// SPDX-License-Identifier: GPL-3.0-or-later
+//
+// This file is part of Yt.
+//
+// You should have received a copy of the License along with this program.
+// If not, see <https://www.gnu.org/licenses/gpl-3.0.txt>.
+
 use yt_dlp::json_cast;
 
 use crate::{_testenv::util, testenv::TestEnv, watch::MpvControl};
diff --git a/crates/yt/tests/watch/mod.rs b/crates/yt/tests/watch/mod.rs
index deea597..7af8b39 100644
--- a/crates/yt/tests/watch/mod.rs
+++ b/crates/yt/tests/watch/mod.rs
@@ -1,3 +1,13 @@
+// yt - A fully featured command line YouTube client
+//
+// Copyright (C) 2025 Benedikt Peetz <benedikt.peetz@b-peetz.de>
+// SPDX-License-Identifier: GPL-3.0-or-later
+//
+// This file is part of Yt.
+//
+// You should have received a copy of the License along with this program.
+// If not, see <https://www.gnu.org/licenses/gpl-3.0.txt>.
+
 use std::{
     io::{BufRead, BufReader, Write},
     os::unix::net::UnixStream,
diff --git a/crates/yt_dlp/crates/pyo3-pylogger/.gitignore b/crates/yt_dlp/crates/pyo3-pylogger/.gitignore
index 64f40ab..733c5bc 100644
--- a/crates/yt_dlp/crates/pyo3-pylogger/.gitignore
+++ b/crates/yt_dlp/crates/pyo3-pylogger/.gitignore
@@ -1,3 +1,13 @@
+# yt - A fully featured command line YouTube client
+#
+# Copyright (C) 2025 Dylan Bobby Storey <dylan.storey@gmail.com>, cpu <daniel@binaryparadox.net>, Warren Snipes <contact@warrensnipes.dev>
+# SPDX-License-Identifier: Apache-2.0
+#
+# This file is part of Yt.
+#
+# You should have received a copy of the License along with this program.
+# If not, see <https://www.gnu.org/licenses/gpl-3.0.txt>.
+
 target
 Cargo.lock
 .idea
diff --git a/crates/yt_dlp/crates/pyo3-pylogger/Cargo.toml b/crates/yt_dlp/crates/pyo3-pylogger/Cargo.toml
index 1deafd9..259ea98 100644
--- a/crates/yt_dlp/crates/pyo3-pylogger/Cargo.toml
+++ b/crates/yt_dlp/crates/pyo3-pylogger/Cargo.toml
@@ -1,3 +1,13 @@
+# yt - A fully featured command line YouTube client
+#
+# Copyright (C) 2025 Dylan Bobby Storey <dylan.storey@gmail.com>, cpu <daniel@binaryparadox.net>, Warren Snipes <contact@warrensnipes.dev>
+# SPDX-License-Identifier: Apache-2.0
+#
+# This file is part of Yt.
+#
+# You should have received a copy of the License along with this program.
+# If not, see <https://www.gnu.org/licenses/gpl-3.0.txt>.
+
 [package]
 name = "pyo3-pylogger"
 version = "0.5.0"
diff --git a/crates/yt_dlp/crates/pyo3-pylogger/README.md b/crates/yt_dlp/crates/pyo3-pylogger/README.md
index 3160f4c..1f6c419 100644
--- a/crates/yt_dlp/crates/pyo3-pylogger/README.md
+++ b/crates/yt_dlp/crates/pyo3-pylogger/README.md
@@ -1,3 +1,15 @@
+<!--
+yt - A fully featured command line YouTube client
+
+Copyright (C) 2025 Dylan Bobby Storey <dylan.storey@gmail.com>, cpu <daniel@binaryparadox.net>, Warren Snipes <contact@warrensnipes.dev>
+SPDX-License-Identifier: Apache-2.0
+
+This file is part of Yt.
+
+You should have received a copy of the License along with this program.
+If not, see <https://www.gnu.org/licenses/gpl-3.0.txt>.
+-->
+
 # pyo3-pylogger
 
 Enables log messages for pyo3 embedded Python applications using Python's `logging` or module.
diff --git a/crates/yt_dlp/crates/pyo3-pylogger/src/kv.rs b/crates/yt_dlp/crates/pyo3-pylogger/src/kv.rs
index 871a170..67a0c3e 100644
--- a/crates/yt_dlp/crates/pyo3-pylogger/src/kv.rs
+++ b/crates/yt_dlp/crates/pyo3-pylogger/src/kv.rs
@@ -1,3 +1,13 @@
+// yt - A fully featured command line YouTube client
+//
+// Copyright (C) 2025 Dylan Bobby Storey <dylan.storey@gmail.com>, cpu <daniel@binaryparadox.net>, Warren Snipes <contact@warrensnipes.dev>
+// SPDX-License-Identifier: Apache-2.0
+//
+// This file is part of Yt.
+//
+// You should have received a copy of the License along with this program.
+// If not, see <https://www.gnu.org/licenses/gpl-3.0.txt>.
+
 //! Key-Value handling module for Python LogRecord attributes.
 //!
 //! This module provides functionality to extract and handle custom key-value pairs
diff --git a/crates/yt_dlp/crates/pyo3-pylogger/src/level.rs b/crates/yt_dlp/crates/pyo3-pylogger/src/level.rs
index 132c65f..d244ef4 100644
--- a/crates/yt_dlp/crates/pyo3-pylogger/src/level.rs
+++ b/crates/yt_dlp/crates/pyo3-pylogger/src/level.rs
@@ -1,3 +1,13 @@
+// yt - A fully featured command line YouTube client
+//
+// Copyright (C) 2025 Dylan Bobby Storey <dylan.storey@gmail.com>, cpu <daniel@binaryparadox.net>, Warren Snipes <contact@warrensnipes.dev>
+// SPDX-License-Identifier: Apache-2.0
+//
+// This file is part of Yt.
+//
+// You should have received a copy of the License along with this program.
+// If not, see <https://www.gnu.org/licenses/gpl-3.0.txt>.
+
 /// A wrapper type for logging levels that supports both `tracing` and `log` features.
 pub(crate) struct Level(pub log::Level);
 
diff --git a/crates/yt_dlp/crates/pyo3-pylogger/src/lib.rs b/crates/yt_dlp/crates/pyo3-pylogger/src/lib.rs
index b16e448..3ecb123 100644
--- a/crates/yt_dlp/crates/pyo3-pylogger/src/lib.rs
+++ b/crates/yt_dlp/crates/pyo3-pylogger/src/lib.rs
@@ -1,3 +1,13 @@
+// yt - A fully featured command line YouTube client
+//
+// Copyright (C) 2025 Dylan Bobby Storey <dylan.storey@gmail.com>, cpu <daniel@binaryparadox.net>, Warren Snipes <contact@warrensnipes.dev>
+// SPDX-License-Identifier: Apache-2.0
+//
+// This file is part of Yt.
+//
+// You should have received a copy of the License along with this program.
+// If not, see <https://www.gnu.org/licenses/gpl-3.0.txt>.
+
 use std::{
     ffi::CString,
     sync::{self, OnceLock},
diff --git a/crates/yt_dlp/crates/pyo3-pylogger/update.sh b/crates/yt_dlp/crates/pyo3-pylogger/update.sh
index 2586afe..dd3e57e 100755
--- a/crates/yt_dlp/crates/pyo3-pylogger/update.sh
+++ b/crates/yt_dlp/crates/pyo3-pylogger/update.sh
@@ -1,5 +1,15 @@
 #! /usr/bin/env sh
 
+# yt - A fully featured command line YouTube client
+#
+# Copyright (C) 2025 Dylan Bobby Storey <dylan.storey@gmail.com>, cpu <daniel@binaryparadox.net>, Warren Snipes <contact@warrensnipes.dev>
+# SPDX-License-Identifier: Apache-2.0
+#
+# This file is part of Yt.
+#
+# You should have received a copy of the License along with this program.
+# If not, see <https://www.gnu.org/licenses/gpl-3.0.txt>.
+
 cd "$(dirname "$0")" || exit 1
 [ "$1" = "upgrade" ] && cargo upgrade --incompatible
 cargo update
diff --git a/crates/yt_dlp/examples/main.rs b/crates/yt_dlp/examples/main.rs
index b3a2dd5..e924407 100644
--- a/crates/yt_dlp/examples/main.rs
+++ b/crates/yt_dlp/examples/main.rs
@@ -1,3 +1,13 @@
+// yt - A fully featured command line YouTube client
+//
+// Copyright (C) 2025 Benedikt Peetz <benedikt.peetz@b-peetz.de>
+// SPDX-License-Identifier: GPL-3.0-or-later
+//
+// This file is part of Yt.
+//
+// You should have received a copy of the License along with this program.
+// If not, see <https://www.gnu.org/licenses/gpl-3.0.txt>.
+
 fn main() {
     let yt_dlp = yt_dlp::options::YoutubeDLOptions::new().build().unwrap();