diff --git a/conda/meta.yaml b/conda/meta.yaml
index 06149d3a1c5a0aafa2b06afb33c672263ac5d2df..771b4a3feed6194c6ccb1599ba52ed2f02f4504f 100644
--- a/conda/meta.yaml
+++ b/conda/meta.yaml
@@ -37,7 +37,7 @@ requirements:
     - tqdm {{ tqdm }}
     - tensorboard {{ tensorboard }}
     - pytorch-lightning {{ pytorch_lightning }}
-    - clapp
+    - clapper
   run:
     - python >=3.9
     - {{ pin_compatible('click') }}
@@ -54,7 +54,7 @@ requirements:
     - {{ pin_compatible('tqdm') }}
     - {{ pin_compatible('tensorboard') }}
     - {{ pin_compatible('pytorch-lightning') }}
-    - clapp
+    - clapper
 
 test:
   source_files:
diff --git a/doc/catalog.json b/doc/catalog.json
index 0a78c0e35d2379d76885eeeac4a064f0f393a8dc..795fb7d5bf8ce777d2ea3834485aafadc9ccb166 100644
--- a/doc/catalog.json
+++ b/doc/catalog.json
@@ -1,8 +1,8 @@
 {
-  "clapp": {
+  "clapper": {
     "versions": {
-      "stable": "https://clapp.readthedocs.io/en/stable/",
-      "latest": "https://clapp.readthedocs.io/en/latest/"
+      "stable": "https://clapper.readthedocs.io/en/stable/",
+      "latest": "https://clapper.readthedocs.io/en/latest/"
     },
     "sources": {}
   }
diff --git a/doc/conf.py b/doc/conf.py
index 0940274a62688b72b081bdd047ce4682f1e6898e..c46a3dadcb7ecfc431589c397ec3e9a5c02b0dd8 100644
--- a/doc/conf.py
+++ b/doc/conf.py
@@ -122,7 +122,7 @@ auto_intersphinx_packages = [
     "psutil",
     "torch",
     "torchvision",
-    ("clapp", "latest"),
+    ("clapper", "latest"),
     ("python", "3"),
 ]
 auto_intersphinx_catalog = "catalog.json"
diff --git a/doc/usage/index.rst b/doc/usage/index.rst
index df7ca1e9e9db6e9bc8445d01c4759b3b82bbab1d..34316bab8bea2d08637b90a7dd6895b2d94da10a 100644
--- a/doc/usage/index.rst
+++ b/doc/usage/index.rst
@@ -53,8 +53,8 @@ Indirect detection
   systems.
 
 We provide :ref:`command-line interfaces (CLI) <ptbench.cli>` that implement
-each of the phases above. This interface is configurable using :ref:`clapp's
-extensible configuration framework <clapp.config>`.  In essence, each
+each of the phases above. This interface is configurable using :ref:`clapper's
+extensible configuration framework <clapper.config>`.  In essence, each
 command-line option may be provided as a variable with the same name in a
 Python file.  Each file may combine any number of variables that are pertinent
 to an application.
diff --git a/environment.yaml b/environment.yaml
index f5b539c3d85263d133009863aef71ee0a1209548..9efe1b8c887015db95da1d108d7d1dce084009b6 100644
--- a/environment.yaml
+++ b/environment.yaml
@@ -6,7 +6,7 @@ dependencies:
 - click 8.1.3
 - click >=8.1.3,<9.0a0
 - coverage 7.0.5
-- clapp
+- clapper
 - furo 2022.12.7
 - matplotlib 3.6.3
 - matplotlib >=3.6.3,<4.0a0
diff --git a/pyproject.toml b/pyproject.toml
index 7a000d65f868a21fdb6965016584159e5293c91d..47820ed74c5103622503d734f73e199b8e8c38d3 100644
--- a/pyproject.toml
+++ b/pyproject.toml
@@ -28,7 +28,7 @@ classifiers = [
     "Topic :: Software Development :: Libraries :: Python Modules",
 ]
 dependencies = [
-   "clapp",
+   "clapper",
    "click",
    "numpy",
    "pandas",
diff --git a/src/ptbench/scripts/aggregpred.py b/src/ptbench/scripts/aggregpred.py
index a6d1974769f707292ee41e0f0faba9017183414e..ca174636fb30b2f9eb34fb02a778660957da42d5 100644
--- a/src/ptbench/scripts/aggregpred.py
+++ b/src/ptbench/scripts/aggregpred.py
@@ -4,8 +4,8 @@
 
 import click
 
-from clapp.click import verbosity_option
-from clapp.logging import setup
+from clapper.click import verbosity_option
+from clapper.logging import setup
 
 logger = setup(__name__.split(".")[0], format="%(levelname)s: %(message)s")
 
diff --git a/src/ptbench/scripts/cli.py b/src/ptbench/scripts/cli.py
index b5a7a48c720d8f41038c1ebc3f0f40db57549c64..1be33f6e73fbc1cfa51f33e86a5a5d713e507664 100644
--- a/src/ptbench/scripts/cli.py
+++ b/src/ptbench/scripts/cli.py
@@ -4,7 +4,7 @@
 
 import click
 
-from clapp.click import AliasedGroup
+from clapper.click import AliasedGroup
 
 from . import (
     aggregpred,
diff --git a/src/ptbench/scripts/compare.py b/src/ptbench/scripts/compare.py
index 95223a37a6ecb0ef5fdfa42a255786ed1642e132..6bc70ccc5832a6693a15d238c636e01a0a77ab0e 100644
--- a/src/ptbench/scripts/compare.py
+++ b/src/ptbench/scripts/compare.py
@@ -4,8 +4,8 @@
 
 import click
 
-from clapp.click import verbosity_option
-from clapp.logging import setup
+from clapper.click import verbosity_option
+from clapper.logging import setup
 
 logger = setup(__name__.split(".")[0], format="%(levelname)s: %(message)s")
 
diff --git a/src/ptbench/scripts/config.py b/src/ptbench/scripts/config.py
index 13ef09df8a182707448b7df47b9175a3306d112a..c58d6ff634595d909f9c3a0122b7ca88ca7aa91b 100644
--- a/src/ptbench/scripts/config.py
+++ b/src/ptbench/scripts/config.py
@@ -10,8 +10,8 @@ import typing
 
 import click
 
-from clapp.click import AliasedGroup, verbosity_option
-from clapp.logging import setup
+from clapper.click import AliasedGroup, verbosity_option
+from clapper.logging import setup
 
 logger = setup(__name__.split(".")[0], format="%(levelname)s: %(message)s")
 
diff --git a/src/ptbench/scripts/dataset.py b/src/ptbench/scripts/dataset.py
index 8febec79d85f386a42ec110a911358e93ef4d481..7319cb546c09fe71785f5b5cffdba17ece1f9c57 100644
--- a/src/ptbench/scripts/dataset.py
+++ b/src/ptbench/scripts/dataset.py
@@ -9,8 +9,8 @@ import os
 
 import click
 
-from clapp.click import AliasedGroup, verbosity_option
-from clapp.logging import setup
+from clapper.click import AliasedGroup, verbosity_option
+from clapper.logging import setup
 
 logger = setup(__name__.split(".")[0], format="%(levelname)s: %(message)s")
 
diff --git a/src/ptbench/scripts/evaluate.py b/src/ptbench/scripts/evaluate.py
index 1204a79e176e2c9568119384bd5707c22036e035..2ee71db087c487b1e3129e24eb262100b4ae0977 100644
--- a/src/ptbench/scripts/evaluate.py
+++ b/src/ptbench/scripts/evaluate.py
@@ -4,8 +4,8 @@
 
 import click
 
-from clapp.click import ConfigCommand, ResourceOption, verbosity_option
-from clapp.logging import setup
+from clapper.click import ConfigCommand, ResourceOption, verbosity_option
+from clapper.logging import setup
 
 logger = setup(__name__.split(".")[0], format="%(levelname)s: %(message)s")
 
diff --git a/src/ptbench/scripts/predict.py b/src/ptbench/scripts/predict.py
index 18e57c3d5c6f5e019536e902cb338b4f04481073..41b10a291e008250747d34a76169de9be57d32fc 100644
--- a/src/ptbench/scripts/predict.py
+++ b/src/ptbench/scripts/predict.py
@@ -4,8 +4,8 @@
 
 import click
 
-from clapp.click import ConfigCommand, ResourceOption, verbosity_option
-from clapp.logging import setup
+from clapper.click import ConfigCommand, ResourceOption, verbosity_option
+from clapper.logging import setup
 
 logger = setup(__name__.split(".")[0], format="%(levelname)s: %(message)s")
 
diff --git a/src/ptbench/scripts/predtojson.py b/src/ptbench/scripts/predtojson.py
index 549aa3a9c38c7ce41f9f0d3c1846d362541ec824..2b782291c57ad9762557e0ee4604a6d40d6c8e39 100644
--- a/src/ptbench/scripts/predtojson.py
+++ b/src/ptbench/scripts/predtojson.py
@@ -4,8 +4,8 @@
 
 import click
 
-from clapp.click import verbosity_option
-from clapp.logging import setup
+from clapper.click import verbosity_option
+from clapper.logging import setup
 
 logger = setup(__name__.split(".")[0], format="%(levelname)s: %(message)s")
 
diff --git a/src/ptbench/scripts/train.py b/src/ptbench/scripts/train.py
index e3d9b04345fc43a7959ec6b5169383066d348a35..07577a3474e32e9556da44f024e61c5691c649f0 100644
--- a/src/ptbench/scripts/train.py
+++ b/src/ptbench/scripts/train.py
@@ -6,8 +6,8 @@ import os
 
 import click
 
-from clapp.click import ConfigCommand, ResourceOption, verbosity_option
-from clapp.logging import setup
+from clapper.click import ConfigCommand, ResourceOption, verbosity_option
+from clapper.logging import setup
 
 logger = setup(__name__.split(".")[0], format="%(levelname)s: %(message)s")
 
diff --git a/src/ptbench/scripts/train_analysis.py b/src/ptbench/scripts/train_analysis.py
index 8eddb18aa1446cf7f32179f454e044d9fa7d4144..f33cd9abfda8a3952281dd83b6eeeb0e66276ebc 100644
--- a/src/ptbench/scripts/train_analysis.py
+++ b/src/ptbench/scripts/train_analysis.py
@@ -9,8 +9,8 @@ import os
 import click
 import matplotlib.pyplot as plt
 
-from clapp.click import ConfigCommand, ResourceOption, verbosity_option
-from clapp.logging import setup
+from clapper.click import ConfigCommand, ResourceOption, verbosity_option
+from clapper.logging import setup
 
 logger = setup(__name__.split(".")[0], format="%(levelname)s: %(message)s")
 
diff --git a/src/ptbench/utils/rc.py b/src/ptbench/utils/rc.py
index 8d313149f21f30c4243deb2b9cab395762c6f18d..21ebda080d481f88fd7b5e0ee07ff9ddcf427516 100644
--- a/src/ptbench/utils/rc.py
+++ b/src/ptbench/utils/rc.py
@@ -2,7 +2,7 @@
 #
 # SPDX-License-Identifier: GPL-3.0-or-later
 
-from clapp.rc import UserDefaults
+from clapper.rc import UserDefaults
 
 
 def load_rc() -> UserDefaults: