diff --git a/.github/workflows/publish.yml b/.github/workflows/publish.yml
index 5bef0038..1a38fbab 100644
--- a/.github/workflows/publish.yml
+++ b/.github/workflows/publish.yml
@@ -7,7 +7,7 @@ on:
jobs:
publish:
- runs-on: ubuntu-20.04
+ runs-on: ubuntu-22.04
steps:
- name: Clone ETA
uses: actions/checkout@v2
diff --git a/docs/cli_guide.md b/docs/cli_guide.md
index f618e752..58e9854d 100644
--- a/docs/cli_guide.md
+++ b/docs/cli_guide.md
@@ -1541,4 +1541,4 @@ optional arguments:
## Copyright
-Copyright 2017-2023, Voxel51, Inc.
voxel51.com
+Copyright 2017-2024, Voxel51, Inc.
voxel51.com
diff --git a/docs/core_dev_guide.md b/docs/core_dev_guide.md
index 84ff9395..4a8d49ac 100644
--- a/docs/core_dev_guide.md
+++ b/docs/core_dev_guide.md
@@ -99,5 +99,5 @@ uses a BGR format. This has two impacts:
## Copyright
-Copyright 2017-2023, Voxel51, Inc.
+Copyright 2017-2024, Voxel51, Inc.
voxel51.com
diff --git a/docs/custom_opencv_builds.md b/docs/custom_opencv_builds.md
index c92afbfc..10b0c5ec 100644
--- a/docs/custom_opencv_builds.md
+++ b/docs/custom_opencv_builds.md
@@ -133,5 +133,5 @@ sudo make uninstall
## Copyright
-Copyright 2017-2023, Voxel51, Inc.
+Copyright 2017-2024, Voxel51, Inc.
voxel51.com
diff --git a/docs/docker_build_guide.md b/docs/docker_build_guide.md
index 27e959eb..a64e794c 100644
--- a/docs/docker_build_guide.md
+++ b/docs/docker_build_guide.md
@@ -81,4 +81,4 @@ docker run -it --runtime=nvidia $TAG
## Copyright
-Copyright 2017-2023, Voxel51, Inc.
voxel51.com
+Copyright 2017-2024, Voxel51, Inc.
voxel51.com
diff --git a/docs/export_tf_graphs_guide.md b/docs/export_tf_graphs_guide.md
index 8ca92528..7a520f74 100644
--- a/docs/export_tf_graphs_guide.md
+++ b/docs/export_tf_graphs_guide.md
@@ -128,5 +128,5 @@ etat.export_frozen_inference_graph(
## Copyright
-Copyright 2017-2023, Voxel51, Inc.
+Copyright 2017-2024, Voxel51, Inc.
voxel51.com
diff --git a/docs/guide2html.bash b/docs/guide2html.bash
index 38be0a2d..9a71cb63 100644
--- a/docs/guide2html.bash
+++ b/docs/guide2html.bash
@@ -8,7 +8,7 @@
# bash guide2html.bash modules_dev_guide.md
# bash guide2html.bash pipelines_dev_guide.md
#
-# Copyright 2017-2023, Voxel51, Inc.
+# Copyright 2017-2024, Voxel51, Inc.
# voxel51.com
#
diff --git a/docs/guide2tex.bash b/docs/guide2tex.bash
index b76ab4da..52edd0e1 100644
--- a/docs/guide2tex.bash
+++ b/docs/guide2tex.bash
@@ -11,7 +11,7 @@
# bash guide2tex.bash modules_dev_guide.md
# bash guide2tex.bash pipelines_dev_guide.md
#
-# Copyright 2017-2023, Voxel51, Inc.
+# Copyright 2017-2024, Voxel51, Inc.
# voxel51.com
#
diff --git a/docs/linting_guide.md b/docs/linting_guide.md
index 690308c6..6494d143 100644
--- a/docs/linting_guide.md
+++ b/docs/linting_guide.md
@@ -93,4 +93,4 @@ information.
## Copyright
-Copyright 2017-2023, Voxel51, Inc.
voxel51.com
+Copyright 2017-2024, Voxel51, Inc.
voxel51.com
diff --git a/docs/logging_guide.md b/docs/logging_guide.md
index 03e9b842..86f394d3 100644
--- a/docs/logging_guide.md
+++ b/docs/logging_guide.md
@@ -141,5 +141,5 @@ Formatter syntax
## Copyright
-Copyright 2017-2023, Voxel51, Inc.
+Copyright 2017-2024, Voxel51, Inc.
voxel51.com
diff --git a/docs/markdown_style_guide.md b/docs/markdown_style_guide.md
index 16f62cee..86949f4e 100644
--- a/docs/markdown_style_guide.md
+++ b/docs/markdown_style_guide.md
@@ -61,9 +61,9 @@ bash /your/command/here
```
## Copyright
-Copyright 2017-2023, Voxel51, Inc.
voxel51.com
+Copyright 2017-2024, Voxel51, Inc.
voxel51.com
```
## Copyright
-Copyright 2017-2023, Voxel51, Inc.
voxel51.com
+Copyright 2017-2024, Voxel51, Inc.
voxel51.com
diff --git a/docs/models_dev_guide.md b/docs/models_dev_guide.md
index 4cab75d6..7aa82490 100644
--- a/docs/models_dev_guide.md
+++ b/docs/models_dev_guide.md
@@ -328,4 +328,4 @@ deletes the associated entry from the `manifest.json` file.
## Copyright
-Copyright 2017-2023, Voxel51, Inc.
voxel51.com
+Copyright 2017-2024, Voxel51, Inc.
voxel51.com
diff --git a/docs/modules_dev_guide.md b/docs/modules_dev_guide.md
index 6db4b5f8..82daf020 100644
--- a/docs/modules_dev_guide.md
+++ b/docs/modules_dev_guide.md
@@ -933,5 +933,5 @@ area = circle.area() # pi
## Copyright
-Copyright 2017-2023, Voxel51, Inc.
+Copyright 2017-2024, Voxel51, Inc.
voxel51.com
diff --git a/docs/pipelines_dev_guide.md b/docs/pipelines_dev_guide.md
index 343ad095..4da3671c 100644
--- a/docs/pipelines_dev_guide.md
+++ b/docs/pipelines_dev_guide.md
@@ -335,5 +335,5 @@ package.
## Copyright
-Copyright 2017-2023, Voxel51, Inc.
+Copyright 2017-2024, Voxel51, Inc.
voxel51.com
diff --git a/docs/python23_guide.md b/docs/python23_guide.md
index 376502c5..b93e42d0 100644
--- a/docs/python23_guide.md
+++ b/docs/python23_guide.md
@@ -257,5 +257,5 @@ http://python-future.org/compatible_idioms.html#compatible-idioms
## Copyright
-Copyright 2017-2023, Voxel51, Inc.
+Copyright 2017-2024, Voxel51, Inc.
voxel51.com
diff --git a/docs/python_style_guide.md b/docs/python_style_guide.md
index 7023b014..07651f4c 100644
--- a/docs/python_style_guide.md
+++ b/docs/python_style_guide.md
@@ -109,4 +109,4 @@ def parse_object(d, key, cls, default=None):
## Copyright
-Copyright 2017-2023, Voxel51, Inc.
voxel51.com
+Copyright 2017-2024, Voxel51, Inc.
voxel51.com
diff --git a/docs/storage_dev_guide.md b/docs/storage_dev_guide.md
index 4c5f4616..1ff5e1f9 100644
--- a/docs/storage_dev_guide.md
+++ b/docs/storage_dev_guide.md
@@ -338,5 +338,5 @@ with etas.SFTPStorageClient(hostname, username, private_key_path) as client:
## Copyright
-Copyright 2017-2023, Voxel51, Inc.
+Copyright 2017-2024, Voxel51, Inc.
voxel51.com
diff --git a/docs/virtualenv_guide.md b/docs/virtualenv_guide.md
index d3d90eae..7a24f64c 100644
--- a/docs/virtualenv_guide.md
+++ b/docs/virtualenv_guide.md
@@ -136,5 +136,5 @@ http://stuarteberg.github.io/conda-docs/_downloads/conda-pip-virtualenv-translat
## Copyright
-Copyright 2017-2023, Voxel51, Inc.
+Copyright 2017-2024, Voxel51, Inc.
voxel51.com
diff --git a/docs/visualize_tf_graphs_guide.md b/docs/visualize_tf_graphs_guide.md
index 2c6369a0..cd963a77 100644
--- a/docs/visualize_tf_graphs_guide.md
+++ b/docs/visualize_tf_graphs_guide.md
@@ -62,5 +62,5 @@ TensorBoard.
## Copyright
-Copyright 2017-2023, Voxel51, Inc.
+Copyright 2017-2024, Voxel51, Inc.
voxel51.com
diff --git a/eta/__init__.py b/eta/__init__.py
index 8e26bc39..dfc0165a 100644
--- a/eta/__init__.py
+++ b/eta/__init__.py
@@ -1,7 +1,7 @@
"""
ETA package initialization.
-Copyright 2017-2023, Voxel51, Inc.
+Copyright 2017-2024, Voxel51, Inc.
voxel51.com
"""
# pragma pylint: disable=redefined-builtin
diff --git a/eta/classifiers/__init__.py b/eta/classifiers/__init__.py
index dfe623ba..2cfe4d03 100644
--- a/eta/classifiers/__init__.py
+++ b/eta/classifiers/__init__.py
@@ -1,7 +1,7 @@
"""
Classifiers package declaration.
-Copyright 2017-2023, Voxel51, Inc.
+Copyright 2017-2024, Voxel51, Inc.
voxel51.com
"""
diff --git a/eta/classifiers/tfslim_classifiers.py b/eta/classifiers/tfslim_classifiers.py
index 9c3cd017..27758899 100644
--- a/eta/classifiers/tfslim_classifiers.py
+++ b/eta/classifiers/tfslim_classifiers.py
@@ -2,7 +2,7 @@
Interface to the TF-Slim image classification library available at
https://github.com/voxel51/models/tree/master/research/slim.
-Copyright 2017-2023, Voxel51, Inc.
+Copyright 2017-2024, Voxel51, Inc.
voxel51.com
"""
# pragma pylint: disable=redefined-builtin
diff --git a/eta/classifiers/vgg16_classifiers.py b/eta/classifiers/vgg16_classifiers.py
index 9be6c978..b23a4ed5 100644
--- a/eta/classifiers/vgg16_classifiers.py
+++ b/eta/classifiers/vgg16_classifiers.py
@@ -2,7 +2,7 @@
Classifier interface to the VGG-16 implementation from the `eta.core.vgg16`
module.
-Copyright 2017-2023, Voxel51, Inc.
+Copyright 2017-2024, Voxel51, Inc.
voxel51.com
"""
# pragma pylint: disable=redefined-builtin
diff --git a/eta/classifiers/voting_classifiers.py b/eta/classifiers/voting_classifiers.py
index b5842820..279ee94f 100644
--- a/eta/classifiers/voting_classifiers.py
+++ b/eta/classifiers/voting_classifiers.py
@@ -1,7 +1,7 @@
"""
A collection of classifiers that use voting to generate predictions.
-Copyright 2017-2023, Voxel51, Inc.
+Copyright 2017-2024, Voxel51, Inc.
voxel51.com
"""
# pragma pylint: disable=redefined-builtin
diff --git a/eta/constants.py b/eta/constants.py
index 67eaa9d2..67b2c2c5 100644
--- a/eta/constants.py
+++ b/eta/constants.py
@@ -1,7 +1,7 @@
"""
ETA package-wide constants.
-Copyright 2017-2023, Voxel51, Inc.
+Copyright 2017-2024, Voxel51, Inc.
voxel51.com
"""
# pragma pylint: disable=redefined-builtin
diff --git a/eta/core/__init__.py b/eta/core/__init__.py
index 9c99942b..d132cfab 100644
--- a/eta/core/__init__.py
+++ b/eta/core/__init__.py
@@ -1,6 +1,6 @@
"""
Package declaration.
-Copyright 2017-2023, Voxel51, Inc.
+Copyright 2017-2024, Voxel51, Inc.
voxel51.com
"""
diff --git a/eta/core/annotations.py b/eta/core/annotations.py
index ca7370c6..b36ba32d 100644
--- a/eta/core/annotations.py
+++ b/eta/core/annotations.py
@@ -4,7 +4,7 @@
@todo improve efficiency by minimizing number of times that images are copied
and rendered.
-Copyright 2017-2023, Voxel51, Inc.
+Copyright 2017-2024, Voxel51, Inc.
voxel51.com
"""
# pragma pylint: disable=redefined-builtin
diff --git a/eta/core/builder.py b/eta/core/builder.py
index 68fcb58c..18fa8744 100644
--- a/eta/core/builder.py
+++ b/eta/core/builder.py
@@ -1,7 +1,7 @@
"""
Core pipeline building system.
-Copyright 2017-2023, Voxel51, Inc.
+Copyright 2017-2024, Voxel51, Inc.
voxel51.com
"""
# pragma pylint: disable=redefined-builtin
diff --git a/eta/core/c3d.py b/eta/core/c3d.py
index e0960878..b60bb685 100644
--- a/eta/core/c3d.py
+++ b/eta/core/c3d.py
@@ -8,7 +8,7 @@
https://github.com/hx173149/C3D-tensorflow
Hou Xin, 2016
-Copyright 2017-2023, Voxel51, Inc.
+Copyright 2017-2024, Voxel51, Inc.
voxel51.com
"""
# pragma pylint: disable=redefined-builtin
diff --git a/eta/core/cli.py b/eta/core/cli.py
index 9d973e61..26d077f1 100644
--- a/eta/core/cli.py
+++ b/eta/core/cli.py
@@ -1,7 +1,7 @@
"""
Definition of the `eta` command-line interface (CLI).
-Copyright 2017-2023, Voxel51, Inc.
+Copyright 2017-2024, Voxel51, Inc.
voxel51.com
"""
# pragma pylint: disable=redefined-builtin
diff --git a/eta/core/config.py b/eta/core/config.py
index f74b811f..9d72b257 100644
--- a/eta/core/config.py
+++ b/eta/core/config.py
@@ -1,7 +1,7 @@
"""
Core tools for defining, reading and writing configuration files.
-Copyright 2017-2023, Voxel51, Inc.
+Copyright 2017-2024, Voxel51, Inc.
voxel51.com
"""
# pragma pylint: disable=redefined-builtin
diff --git a/eta/core/data.py b/eta/core/data.py
index 0940e8f0..e2630237 100644
--- a/eta/core/data.py
+++ b/eta/core/data.py
@@ -1,7 +1,7 @@
"""
Core tools and data structures for working with data.
-Copyright 2017-2023, Voxel51, Inc.
+Copyright 2017-2024, Voxel51, Inc.
voxel51.com
"""
# pragma pylint: disable=redefined-builtin
diff --git a/eta/core/datasets/__init__.py b/eta/core/datasets/__init__.py
index 480f8e34..8b5cd92f 100644
--- a/eta/core/datasets/__init__.py
+++ b/eta/core/datasets/__init__.py
@@ -1,7 +1,7 @@
"""
Datasets package declaration.
-Copyright 2017-2023, Voxel51, Inc.
+Copyright 2017-2024, Voxel51, Inc.
voxel51.com
Tyler Ganter, tyler@voxel51.com
diff --git a/eta/core/diagram.py b/eta/core/diagram.py
index a675aa73..5f7828b1 100644
--- a/eta/core/diagram.py
+++ b/eta/core/diagram.py
@@ -3,7 +3,7 @@
Block diagrams are built using the `blockdiag` package.
-Copyright 2017-2023, Voxel51, Inc.
+Copyright 2017-2024, Voxel51, Inc.
voxel51.com
"""
# pragma pylint: disable=redefined-builtin
diff --git a/eta/core/events.py b/eta/core/events.py
index 28491dc3..1d36e84b 100644
--- a/eta/core/events.py
+++ b/eta/core/events.py
@@ -3,7 +3,7 @@
@todo add support for storing polylines and keypoints within events
-Copyright 2017-2023, Voxel51, Inc.
+Copyright 2017-2024, Voxel51, Inc.
voxel51.com
"""
# pragma pylint: disable=redefined-builtin
diff --git a/eta/core/features.py b/eta/core/features.py
index 5b43d5d5..f3903f63 100644
--- a/eta/core/features.py
+++ b/eta/core/features.py
@@ -1,7 +1,7 @@
"""
Core interfaces, data structures, and methods for feature extraction.
-Copyright 2017-2023, Voxel51, Inc.
+Copyright 2017-2024, Voxel51, Inc.
voxel51.com
"""
# pragma pylint: disable=redefined-builtin
diff --git a/eta/core/frames.py b/eta/core/frames.py
index 93f68ce7..fadd004f 100644
--- a/eta/core/frames.py
+++ b/eta/core/frames.py
@@ -1,7 +1,7 @@
"""
Core tools and data structures for working with frames of videos.
-Copyright 2017-2023, Voxel51, Inc.
+Copyright 2017-2024, Voxel51, Inc.
voxel51.com
"""
# pragma pylint: disable=redefined-builtin
diff --git a/eta/core/frameutils.py b/eta/core/frameutils.py
index dde511dc..2543e5bf 100644
--- a/eta/core/frameutils.py
+++ b/eta/core/frameutils.py
@@ -1,7 +1,7 @@
"""
Utilities for working with frames of videos.
-Copyright 2017-2023, Voxel51, Inc.
+Copyright 2017-2024, Voxel51, Inc.
voxel51.com
"""
# pragma pylint: disable=redefined-builtin
diff --git a/eta/core/geometry.py b/eta/core/geometry.py
index f84500d3..0856e27e 100644
--- a/eta/core/geometry.py
+++ b/eta/core/geometry.py
@@ -2,7 +2,7 @@
Core data structures for working with geometric concepts like points and
bounding boxes.
-Copyright 2017-2023, Voxel51, Inc.
+Copyright 2017-2024, Voxel51, Inc.
voxel51.com
"""
# pragma pylint: disable=redefined-builtin
diff --git a/eta/core/gps.py b/eta/core/gps.py
index 6fb254f8..7ae52b5c 100644
--- a/eta/core/gps.py
+++ b/eta/core/gps.py
@@ -1,7 +1,7 @@
"""
Core utilities for working with GPS coordinates.
-Copyright 2017-2023, Voxel51, Inc.
+Copyright 2017-2024, Voxel51, Inc.
voxel51.com
"""
# pragma pylint: disable=redefined-builtin
diff --git a/eta/core/graph.py b/eta/core/graph.py
index 207892d2..71d85bce 100644
--- a/eta/core/graph.py
+++ b/eta/core/graph.py
@@ -1,7 +1,7 @@
"""
Core infrastructure for graph manipulation.
-Copyright 2017-2023, Voxel51, Inc.
+Copyright 2017-2024, Voxel51, Inc.
voxel51.com
"""
# pragma pylint: disable=redefined-builtin
diff --git a/eta/core/image.py b/eta/core/image.py
index 58254681..f4d923b5 100644
--- a/eta/core/image.py
+++ b/eta/core/image.py
@@ -8,7 +8,7 @@
produced outside of this library must be converted to RGB. This
conversion can be done via `eta.core.image.bgr_to_rgb()`
-Copyright 2017-2023, Voxel51, Inc.
+Copyright 2017-2024, Voxel51, Inc.
voxel51.com
"""
# pragma pylint: disable=redefined-builtin
diff --git a/eta/core/job.py b/eta/core/job.py
index 6625925b..01329edc 100644
--- a/eta/core/job.py
+++ b/eta/core/job.py
@@ -1,7 +1,7 @@
"""
Core job infrastructure for running modules in a pipeline.
-Copyright 2017-2023, Voxel51, Inc.
+Copyright 2017-2024, Voxel51, Inc.
voxel51.com
"""
# pragma pylint: disable=redefined-builtin
diff --git a/eta/core/keypoints.py b/eta/core/keypoints.py
index 8e5b96dd..af5f6b60 100644
--- a/eta/core/keypoints.py
+++ b/eta/core/keypoints.py
@@ -1,7 +1,7 @@
"""
Core data structures for working with keypoints.
-Copyright 2017-2023, Voxel51, Inc.
+Copyright 2017-2024, Voxel51, Inc.
voxel51.com
"""
# pragma pylint: disable=redefined-builtin
diff --git a/eta/core/labels.py b/eta/core/labels.py
index 9cfe48e2..ea6cc540 100644
--- a/eta/core/labels.py
+++ b/eta/core/labels.py
@@ -1,7 +1,7 @@
"""
Core data structures for working with labels.
-Copyright 2017-2023, Voxel51, Inc.
+Copyright 2017-2024, Voxel51, Inc.
voxel51.com
"""
# pragma pylint: disable=redefined-builtin
diff --git a/eta/core/learning.py b/eta/core/learning.py
index 0c8fff7f..536fa03f 100644
--- a/eta/core/learning.py
+++ b/eta/core/learning.py
@@ -1,7 +1,7 @@
"""
Core infrastructure for deploying ML models.
-Copyright 2017-2023, Voxel51, Inc.
+Copyright 2017-2024, Voxel51, Inc.
voxel51.com
"""
# pragma pylint: disable=redefined-builtin
diff --git a/eta/core/logging.py b/eta/core/logging.py
index d665d2ac..f5355bf0 100644
--- a/eta/core/logging.py
+++ b/eta/core/logging.py
@@ -3,7 +3,7 @@
Note that calling this module's methods will modify your **root logger**.
-Copyright 2017-2023, Voxel51, Inc.
+Copyright 2017-2024, Voxel51, Inc.
voxel51.com
"""
# pragma pylint: disable=redefined-builtin
diff --git a/eta/core/logo.py b/eta/core/logo.py
index 4b60ceb7..0024fd14 100644
--- a/eta/core/logo.py
+++ b/eta/core/logo.py
@@ -1,7 +1,7 @@
"""
Tools for rendering logos on images.
-Copyright 2017-2023, Voxel51, Inc.
+Copyright 2017-2024, Voxel51, Inc.
voxel51.com
"""
# pragma pylint: disable=redefined-builtin
diff --git a/eta/core/metadata.py b/eta/core/metadata.py
index e949f7ce..64f9d109 100644
--- a/eta/core/metadata.py
+++ b/eta/core/metadata.py
@@ -2,7 +2,7 @@
Tools for generating metadata JSON files for ETA modules programmatically from
source.
-Copyright 2017-2023, Voxel51, Inc.
+Copyright 2017-2024, Voxel51, Inc.
voxel51.com
"""
# pragma pylint: disable=redefined-builtin
diff --git a/eta/core/models.py b/eta/core/models.py
index 6f2175b7..4aa7f552 100644
--- a/eta/core/models.py
+++ b/eta/core/models.py
@@ -4,7 +4,7 @@
See `docs/models_dev_guide.md` for detailed information about the design of
the ETA model management system.
-Copyright 2017-2023, Voxel51, Inc.
+Copyright 2017-2024, Voxel51, Inc.
voxel51.com
"""
# pragma pylint: disable=redefined-builtin
diff --git a/eta/core/module.py b/eta/core/module.py
index f51be4df..ffe645f1 100644
--- a/eta/core/module.py
+++ b/eta/core/module.py
@@ -4,7 +4,7 @@
See `docs/modules_dev_guide.md` for detailed information about the design and
usage of ETA modules.
-Copyright 2017-2023, Voxel51, Inc.
+Copyright 2017-2024, Voxel51, Inc.
voxel51.com
"""
# pragma pylint: disable=redefined-builtin
diff --git a/eta/core/numutils.py b/eta/core/numutils.py
index 543e5d79..90d3eae8 100644
--- a/eta/core/numutils.py
+++ b/eta/core/numutils.py
@@ -1,7 +1,7 @@
"""
Core numeric and computational utilities.
-Copyright 2017-2023, Voxel51, Inc.
+Copyright 2017-2024, Voxel51, Inc.
voxel51.com
"""
# pragma pylint: disable=redefined-builtin
diff --git a/eta/core/objects.py b/eta/core/objects.py
index 7bc7fe2e..dd921cd6 100644
--- a/eta/core/objects.py
+++ b/eta/core/objects.py
@@ -1,7 +1,7 @@
"""
Core tools and data structures for working with objects in images and videos.
-Copyright 2017-2023, Voxel51, Inc.
+Copyright 2017-2024, Voxel51, Inc.
voxel51.com
"""
# pragma pylint: disable=redefined-builtin
diff --git a/eta/core/pipeline.py b/eta/core/pipeline.py
index ad70396d..93cd746b 100644
--- a/eta/core/pipeline.py
+++ b/eta/core/pipeline.py
@@ -4,7 +4,7 @@
See `docs/pipelines_dev_guide.md` for detailed information about the design of
the ETA pipeline system.
-Copyright 2017-2023, Voxel51, Inc.
+Copyright 2017-2024, Voxel51, Inc.
voxel51.com
"""
# pragma pylint: disable=redefined-builtin
diff --git a/eta/core/polylines.py b/eta/core/polylines.py
index a879a7df..5f19ecfc 100644
--- a/eta/core/polylines.py
+++ b/eta/core/polylines.py
@@ -1,7 +1,7 @@
"""
Core data structures for working with polylines and polygons.
-Copyright 2017-2023, Voxel51, Inc.
+Copyright 2017-2024, Voxel51, Inc.
voxel51.com
"""
# pragma pylint: disable=redefined-builtin
diff --git a/eta/core/primitives.py b/eta/core/primitives.py
index 82afc877..0845f51b 100644
--- a/eta/core/primitives.py
+++ b/eta/core/primitives.py
@@ -1,7 +1,7 @@
"""
Implementations of computer vision primitive algorithms.
-Copyright 2017-2023, Voxel51, Inc.
+Copyright 2017-2024, Voxel51, Inc.
voxel51.com
"""
# pragma pylint: disable=redefined-builtin
diff --git a/eta/core/serial.py b/eta/core/serial.py
index 6c36c29e..603b69dc 100644
--- a/eta/core/serial.py
+++ b/eta/core/serial.py
@@ -1,7 +1,7 @@
"""
Core data structures for working with data that can be read/written to disk.
-Copyright 2017-2023, Voxel51, Inc.
+Copyright 2017-2024, Voxel51, Inc.
voxel51.com
"""
# pragma pylint: disable=redefined-builtin
diff --git a/eta/core/status.py b/eta/core/status.py
index 3c5e4bb3..1c3d9f44 100644
--- a/eta/core/status.py
+++ b/eta/core/status.py
@@ -1,7 +1,7 @@
"""
Core status infrastructure for pipelines and jobs.
-Copyright 2017-2023, Voxel51, Inc.
+Copyright 2017-2024, Voxel51, Inc.
voxel51.com
"""
# pragma pylint: disable=redefined-builtin
diff --git a/eta/core/storage.py b/eta/core/storage.py
index 02e58162..1f3beca7 100644
--- a/eta/core/storage.py
+++ b/eta/core/storage.py
@@ -12,7 +12,7 @@
- Web storage via HTTP requests
- Local disk storage
-Copyright 2017-2023, Voxel51, Inc.
+Copyright 2017-2024, Voxel51, Inc.
voxel51.com
"""
# pragma pylint: disable=redefined-builtin
diff --git a/eta/core/tfutils.py b/eta/core/tfutils.py
index d47370ae..315623e7 100644
--- a/eta/core/tfutils.py
+++ b/eta/core/tfutils.py
@@ -1,7 +1,7 @@
"""
Core utilities for working with TensorFlow models.
-Copyright 2017-2023, Voxel51, Inc.
+Copyright 2017-2024, Voxel51, Inc.
voxel51.com
"""
# pragma pylint: disable=redefined-builtin
diff --git a/eta/core/types.py b/eta/core/types.py
index 7b66cb75..d877f748 100644
--- a/eta/core/types.py
+++ b/eta/core/types.py
@@ -4,7 +4,7 @@
More types may be defined in other modules, but they must inherit from the
base type `eta.core.types.Type` defined here.
-Copyright 2017-2023, Voxel51, Inc.
+Copyright 2017-2024, Voxel51, Inc.
voxel51.com
"""
# pragma pylint: disable=redefined-builtin
diff --git a/eta/core/utils.py b/eta/core/utils.py
index 4ecd1d2d..aa15c99d 100644
--- a/eta/core/utils.py
+++ b/eta/core/utils.py
@@ -1,7 +1,7 @@
"""
Core system and file I/O utilities.
-Copyright 2017-2023, Voxel51, Inc.
+Copyright 2017-2024, Voxel51, Inc.
voxel51.com
"""
# pragma pylint: disable=redefined-builtin
diff --git a/eta/core/vgg16.py b/eta/core/vgg16.py
index d1e87aa2..d2b3be61 100644
--- a/eta/core/vgg16.py
+++ b/eta/core/vgg16.py
@@ -11,7 +11,7 @@
Model architecture:
https://gist.github.com/ksimonyan/211839e770f7b538e2d8#file-readme-md
-Copyright 2017-2023, Voxel51, Inc.
+Copyright 2017-2024, Voxel51, Inc.
voxel51.com
"""
# pragma pylint: disable=redefined-builtin
diff --git a/eta/core/video.py b/eta/core/video.py
index 2231beb9..d82213f5 100644
--- a/eta/core/video.py
+++ b/eta/core/video.py
@@ -10,7 +10,7 @@
produced outside of this library must be converted to RGB. This
conversion can be done via `eta.core.image.bgr_to_rgb()`
-Copyright 2017-2023, Voxel51, Inc.
+Copyright 2017-2024, Voxel51, Inc.
voxel51.com
"""
# pragma pylint: disable=redefined-builtin
diff --git a/eta/core/web.py b/eta/core/web.py
index 89cc77d5..340fe1ba 100644
--- a/eta/core/web.py
+++ b/eta/core/web.py
@@ -1,7 +1,7 @@
"""
Tools for downloading files from the web.
-Copyright 2017-2023, Voxel51, Inc.
+Copyright 2017-2024, Voxel51, Inc.
voxel51.com
"""
# pragma pylint: disable=redefined-builtin
@@ -166,13 +166,38 @@ def _get_streaming_response(self, url, headers=None, params=None):
def _do_download(self, r, f):
size_bytes = _get_content_length(r)
size_bits = 8 * size_bytes if size_bytes is not None else None
+ total_downloaded_bytes = 0
+
with etau.ProgressBar(
size_bits, use_bits=True, quiet=self.quiet
) as pb:
for chunk in r.iter_content(chunk_size=self.chunk_size):
f.write(chunk)
+ total_downloaded_bytes += len(chunk)
pb.update(8 * len(chunk))
+ if size_bytes is None or total_downloaded_bytes >= size_bytes:
+ return
+
+ while r.headers.get("Accept-Ranges") is not None:
+ remaining_bytes = size_bytes - total_downloaded_bytes
+ if remaining_bytes <= 0:
+ return
+
+ logger.debug(
+ "Continuing download... Total downloaded bytes: %d, Remaining bytes: %d",
+ total_downloaded_bytes,
+ remaining_bytes,
+ )
+ r = self._get_streaming_response(
+ r.url,
+ headers={"Range": "bytes=%d-" % total_downloaded_bytes},
+ )
+ for chunk in r.iter_content(chunk_size=self.chunk_size):
+ f.write(chunk)
+ total_downloaded_bytes += len(chunk)
+ pb.update(8 * len(chunk))
+
class WebSessionError(Exception):
"""Exception raised when there is a problem with a web session."""
diff --git a/eta/core/ziputils.py b/eta/core/ziputils.py
index 8e16e452..ed2a4534 100644
--- a/eta/core/ziputils.py
+++ b/eta/core/ziputils.py
@@ -8,7 +8,7 @@
directories that arise when ETA modules support both both single inputs or zip
files containing multiple inputs of the same type.
-Copyright 2017-2023, Voxel51, Inc.
+Copyright 2017-2024, Voxel51, Inc.
voxel51.com
"""
# pragma pylint: disable=redefined-builtin
diff --git a/eta/detectors/__init__.py b/eta/detectors/__init__.py
index 71ed8d37..775ec0c1 100644
--- a/eta/detectors/__init__.py
+++ b/eta/detectors/__init__.py
@@ -1,7 +1,7 @@
"""
Detectors package declaration.
-Copyright 2017-2023, Voxel51, Inc.
+Copyright 2017-2024, Voxel51, Inc.
voxel51.com
"""
# Import all detectors into the `eta.detectors` namespace
diff --git a/eta/detectors/tfmodels_detectors.py b/eta/detectors/tfmodels_detectors.py
index ced1aaa4..8da1e9aa 100644
--- a/eta/detectors/tfmodels_detectors.py
+++ b/eta/detectors/tfmodels_detectors.py
@@ -2,7 +2,7 @@
Interface to the TF-Models Object Detection Library available at
https://github.com/voxel51/models/tree/master/research/object_detection.
-Copyright 2017-2023, Voxel51, Inc.
+Copyright 2017-2024, Voxel51, Inc.
voxel51.com
"""
# pragma pylint: disable=redefined-builtin
diff --git a/eta/detectors/utils.py b/eta/detectors/utils.py
index e2ea9db0..7f96756e 100644
--- a/eta/detectors/utils.py
+++ b/eta/detectors/utils.py
@@ -1,7 +1,7 @@
"""
Detectors utilities.
-Copyright 2017-2023, Voxel51, Inc.
+Copyright 2017-2024, Voxel51, Inc.
voxel51.com
"""
import os
diff --git a/eta/detectors/yolo.py b/eta/detectors/yolo.py
index cd0b6915..36697d39 100644
--- a/eta/detectors/yolo.py
+++ b/eta/detectors/yolo.py
@@ -2,7 +2,7 @@
Tnterface to the YOLOv4 object detection library available at
https://github.com/voxel51/darkflow.
-Copyright 2017-2023, Voxel51, Inc.
+Copyright 2017-2024, Voxel51, Inc.
voxel51.com
Brian Moore, brian@voxel51.com
diff --git a/eta/examples/README.md b/eta/examples/README.md
index e2417502..a945da82 100644
--- a/eta/examples/README.md
+++ b/eta/examples/README.md
@@ -163,4 +163,4 @@ bash clean.bash
## Copyright
-Copyright 2017-2023, Voxel51, Inc.
voxel51.com
+Copyright 2017-2024, Voxel51, Inc.
voxel51.com
diff --git a/eta/examples/clean.bash b/eta/examples/clean.bash
index 319a4119..f20677b8 100644
--- a/eta/examples/clean.bash
+++ b/eta/examples/clean.bash
@@ -4,7 +4,7 @@
# Usage:
# bash clean.bash
#
-# Copyright 2017-2023, Voxel51, Inc.
+# Copyright 2017-2024, Voxel51, Inc.
# voxel51.com
#
diff --git a/eta/examples/demo_cats/README.md b/eta/examples/demo_cats/README.md
index bda82174..31fc5d2f 100644
--- a/eta/examples/demo_cats/README.md
+++ b/eta/examples/demo_cats/README.md
@@ -19,4 +19,4 @@ viewer of choice.
## Copyright
-Copyright 2017-2023, Voxel51, Inc.
voxel51.com
+Copyright 2017-2024, Voxel51, Inc.
voxel51.com
diff --git a/eta/examples/demo_embed_vgg16/README.md b/eta/examples/demo_embed_vgg16/README.md
index 954164b6..84054f4c 100644
--- a/eta/examples/demo_embed_vgg16/README.md
+++ b/eta/examples/demo_embed_vgg16/README.md
@@ -20,4 +20,4 @@ capabilities supported in ETA.
## Copyright
-Copyright 2017-2023, Voxel51, Inc.
voxel51.com
+Copyright 2017-2024, Voxel51, Inc.
voxel51.com
diff --git a/eta/examples/demo_embed_vgg16/embed_image.py b/eta/examples/demo_embed_vgg16/embed_image.py
index eca7ca06..bd999187 100644
--- a/eta/examples/demo_embed_vgg16/embed_image.py
+++ b/eta/examples/demo_embed_vgg16/embed_image.py
@@ -7,7 +7,7 @@
maintain the on-disk backing store for the class which is used to communicate
between modules.
-Copyright 2017-2023, Voxel51, Inc.
+Copyright 2017-2024, Voxel51, Inc.
voxel51.com
"""
# pragma pylint: disable=redefined-builtin
diff --git a/eta/examples/demo_embed_vgg16/embed_image_direct.py b/eta/examples/demo_embed_vgg16/embed_image_direct.py
index e2e6a03f..58b41355 100644
--- a/eta/examples/demo_embed_vgg16/embed_image_direct.py
+++ b/eta/examples/demo_embed_vgg16/embed_image_direct.py
@@ -6,7 +6,7 @@
uses the low-level functionality rather than the higher level `Featurizer`
functionality. It is included here for pedagogical reasons with ETA.
-Copyright 2017-2023, Voxel51, Inc.
+Copyright 2017-2024, Voxel51, Inc.
voxel51.com
"""
# pragma pylint: disable=redefined-builtin
diff --git a/eta/examples/demo_embed_vgg16/embed_video.py b/eta/examples/demo_embed_vgg16/embed_video.py
index 0069f6ca..55974f71 100644
--- a/eta/examples/demo_embed_vgg16/embed_video.py
+++ b/eta/examples/demo_embed_vgg16/embed_video.py
@@ -6,7 +6,7 @@
Also shows the use of the `frame_preprocessor` functionality to embed a
cropped version of each frame.
-Copyright 2017-2023, Voxel51, Inc.
+Copyright 2017-2024, Voxel51, Inc.
voxel51.com
"""
# pragma pylint: disable=redefined-builtin
diff --git a/eta/examples/demo_image_classifier/README.md b/eta/examples/demo_image_classifier/README.md
index dbd9c109..8a0c59b2 100644
--- a/eta/examples/demo_image_classifier/README.md
+++ b/eta/examples/demo_image_classifier/README.md
@@ -25,4 +25,4 @@ corresponding to the model that you ran in your image viewer of choice.
## Copyright
-Copyright 2017-2023, Voxel51, Inc.
voxel51.com
+Copyright 2017-2024, Voxel51, Inc.
voxel51.com
diff --git a/eta/examples/demo_instance_segmentation/README.md b/eta/examples/demo_instance_segmentation/README.md
index 825604d4..6351f86c 100644
--- a/eta/examples/demo_instance_segmentation/README.md
+++ b/eta/examples/demo_instance_segmentation/README.md
@@ -21,4 +21,4 @@ To visualize the results, view `out/people-annotated.mp4` and
## Copyright
-Copyright 2017-2023, Voxel51, Inc.
voxel51.com
+Copyright 2017-2024, Voxel51, Inc.
voxel51.com
diff --git a/eta/examples/demo_object_detector/README.md b/eta/examples/demo_object_detector/README.md
index 95685775..b66718a5 100644
--- a/eta/examples/demo_object_detector/README.md
+++ b/eta/examples/demo_object_detector/README.md
@@ -21,4 +21,4 @@ To visualize the results, view `out/people-annotated.mp4` and
## Copyright
-Copyright 2017-2023, Voxel51, Inc.
voxel51.com
+Copyright 2017-2024, Voxel51, Inc.
voxel51.com
diff --git a/eta/examples/demo_semantic_segmentation/README.md b/eta/examples/demo_semantic_segmentation/README.md
index d97940fc..32f2dca7 100644
--- a/eta/examples/demo_semantic_segmentation/README.md
+++ b/eta/examples/demo_semantic_segmentation/README.md
@@ -17,4 +17,4 @@ of choice.
## Copyright
-Copyright 2017-2023, Voxel51, Inc.
voxel51.com
+Copyright 2017-2024, Voxel51, Inc.
voxel51.com
diff --git a/eta/examples/download_data.py b/eta/examples/download_data.py
index 92402fec..87c48050 100644
--- a/eta/examples/download_data.py
+++ b/eta/examples/download_data.py
@@ -5,7 +5,7 @@
Usage:
python download_data.py
-Copyright 2017-2023, Voxel51, Inc.
+Copyright 2017-2024, Voxel51, Inc.
voxel51.com
"""
# pragma pylint: disable=redefined-builtin
diff --git a/eta/modules/apply_classifier_to_objects.py b/eta/modules/apply_classifier_to_objects.py
index c4b00209..a41ac0c4 100644
--- a/eta/modules/apply_classifier_to_objects.py
+++ b/eta/modules/apply_classifier_to_objects.py
@@ -7,7 +7,7 @@
type: eta.core.types.Module
version: 0.1.0
-Copyright 2017-2023, Voxel51, Inc.
+Copyright 2017-2024, Voxel51, Inc.
voxel51.com
"""
# pragma pylint: disable=redefined-builtin
diff --git a/eta/modules/apply_image_classifier.py b/eta/modules/apply_image_classifier.py
index 8506657e..814788c0 100644
--- a/eta/modules/apply_image_classifier.py
+++ b/eta/modules/apply_image_classifier.py
@@ -7,7 +7,7 @@
type: eta.core.types.Module
version: 0.1.0
-Copyright 2017-2023, Voxel51, Inc.
+Copyright 2017-2024, Voxel51, Inc.
voxel51.com
"""
# pragma pylint: disable=redefined-builtin
diff --git a/eta/modules/apply_image_model.py b/eta/modules/apply_image_model.py
index cb2a590c..179a458a 100644
--- a/eta/modules/apply_image_model.py
+++ b/eta/modules/apply_image_model.py
@@ -7,7 +7,7 @@
type: eta.core.types.Module
version: 0.1.0
-Copyright 2017-2023, Voxel51, Inc.
+Copyright 2017-2024, Voxel51, Inc.
voxel51.com
"""
# pragma pylint: disable=redefined-builtin
diff --git a/eta/modules/apply_image_semantic_segmenter.py b/eta/modules/apply_image_semantic_segmenter.py
index e00feb9c..069037b8 100644
--- a/eta/modules/apply_image_semantic_segmenter.py
+++ b/eta/modules/apply_image_semantic_segmenter.py
@@ -7,7 +7,7 @@
type: eta.core.types.Module
version: 0.1.0
-Copyright 2017-2023, Voxel51, Inc.
+Copyright 2017-2024, Voxel51, Inc.
voxel51.com
"""
# pragma pylint: disable=redefined-builtin
diff --git a/eta/modules/apply_object_detector.py b/eta/modules/apply_object_detector.py
index ad78ff84..cd45a852 100644
--- a/eta/modules/apply_object_detector.py
+++ b/eta/modules/apply_object_detector.py
@@ -7,7 +7,7 @@
type: eta.core.types.Module
version: 0.1.0
-Copyright 2017-2023, Voxel51, Inc.
+Copyright 2017-2024, Voxel51, Inc.
voxel51.com
"""
# pragma pylint: disable=redefined-builtin
diff --git a/eta/modules/apply_video_classifier.py b/eta/modules/apply_video_classifier.py
index 3d87820c..0cf6d01c 100644
--- a/eta/modules/apply_video_classifier.py
+++ b/eta/modules/apply_video_classifier.py
@@ -6,7 +6,7 @@
type: eta.core.types.Module
version: 0.1.0
-Copyright 2017-2023, Voxel51, Inc.
+Copyright 2017-2024, Voxel51, Inc.
voxel51.com
"""
# pragma pylint: disable=redefined-builtin
diff --git a/eta/modules/apply_video_event_detector.py b/eta/modules/apply_video_event_detector.py
index 0e351d1a..77b78eff 100644
--- a/eta/modules/apply_video_event_detector.py
+++ b/eta/modules/apply_video_event_detector.py
@@ -7,7 +7,7 @@
type: eta.core.types.Module
version: 0.1.0
-Copyright 2017-2023, Voxel51, Inc.
+Copyright 2017-2024, Voxel51, Inc.
voxel51.com
"""
# pragma pylint: disable=redefined-builtin
diff --git a/eta/modules/apply_video_frames_classifier.py b/eta/modules/apply_video_frames_classifier.py
index 36b98277..6ed53ba1 100644
--- a/eta/modules/apply_video_frames_classifier.py
+++ b/eta/modules/apply_video_frames_classifier.py
@@ -7,7 +7,7 @@
type: eta.core.types.Module
version: 0.1.0
-Copyright 2017-2023, Voxel51, Inc.
+Copyright 2017-2024, Voxel51, Inc.
voxel51.com
"""
# pragma pylint: disable=redefined-builtin
diff --git a/eta/modules/apply_video_model.py b/eta/modules/apply_video_model.py
index e81ac602..3b5074c9 100644
--- a/eta/modules/apply_video_model.py
+++ b/eta/modules/apply_video_model.py
@@ -6,7 +6,7 @@
type: eta.core.types.Module
version: 0.1.0
-Copyright 2017-2023, Voxel51, Inc.
+Copyright 2017-2024, Voxel51, Inc.
voxel51.com
"""
# pragma pylint: disable=redefined-builtin
diff --git a/eta/modules/clip_videos.py b/eta/modules/clip_videos.py
index f1990be7..7feac8e6 100644
--- a/eta/modules/clip_videos.py
+++ b/eta/modules/clip_videos.py
@@ -6,7 +6,7 @@
type: eta.core.types.Module
version: 0.1.0
-Copyright 2017-2023, Voxel51, Inc.
+Copyright 2017-2024, Voxel51, Inc.
voxel51.com
"""
# pragma pylint: disable=redefined-builtin
diff --git a/eta/modules/embed_vgg16.py b/eta/modules/embed_vgg16.py
index 756974dc..78b9b5c9 100644
--- a/eta/modules/embed_vgg16.py
+++ b/eta/modules/embed_vgg16.py
@@ -6,7 +6,7 @@
type: eta.core.types.Module
version: 0.1.0
-Copyright 2017-2023, Voxel51, Inc.
+Copyright 2017-2024, Voxel51, Inc.
voxel51.com
"""
# pragma pylint: disable=redefined-builtin
diff --git a/eta/modules/format_videos.py b/eta/modules/format_videos.py
index 80507030..b2a979bf 100644
--- a/eta/modules/format_videos.py
+++ b/eta/modules/format_videos.py
@@ -6,7 +6,7 @@
type: eta.core.types.Module
version: 0.1.0
-Copyright 2017-2023, Voxel51, Inc.
+Copyright 2017-2024, Voxel51, Inc.
voxel51.com
"""
# pragma pylint: disable=redefined-builtin
diff --git a/eta/modules/sample_videos.py b/eta/modules/sample_videos.py
index 406a199e..4a3fee0c 100644
--- a/eta/modules/sample_videos.py
+++ b/eta/modules/sample_videos.py
@@ -9,7 +9,7 @@
type: eta.core.types.Module
version: 0.1.0
-Copyright 2017-2023, Voxel51, Inc.
+Copyright 2017-2024, Voxel51, Inc.
voxel51.com
"""
# pragma pylint: disable=redefined-builtin
diff --git a/eta/modules/video_stream_info.py b/eta/modules/video_stream_info.py
index 229d0f80..1a8ded45 100644
--- a/eta/modules/video_stream_info.py
+++ b/eta/modules/video_stream_info.py
@@ -6,7 +6,7 @@
type: eta.core.types.Module
version: 0.1.0
-Copyright 2017-2023, Voxel51, Inc.
+Copyright 2017-2024, Voxel51, Inc.
voxel51.com
"""
# pragma pylint: disable=redefined-builtin
diff --git a/eta/modules/visualize_image_labels.py b/eta/modules/visualize_image_labels.py
index 96c58792..c0bf9e9a 100644
--- a/eta/modules/visualize_image_labels.py
+++ b/eta/modules/visualize_image_labels.py
@@ -6,7 +6,7 @@
type: eta.core.types.Module
version: 0.1.0
-Copyright 2017-2023, Voxel51, Inc.
+Copyright 2017-2024, Voxel51, Inc.
voxel51.com
"""
# pragma pylint: disable=redefined-builtin
diff --git a/eta/modules/visualize_labels.py b/eta/modules/visualize_labels.py
index 3ff0d0b3..8ec71f98 100644
--- a/eta/modules/visualize_labels.py
+++ b/eta/modules/visualize_labels.py
@@ -6,7 +6,7 @@
type: eta.core.types.Module
version: 0.1.0
-Copyright 2017-2023, Voxel51, Inc.
+Copyright 2017-2024, Voxel51, Inc.
voxel51.com
"""
# pragma pylint: disable=redefined-builtin
diff --git a/eta/segmenters/__init__.py b/eta/segmenters/__init__.py
index d93961b0..1203f278 100644
--- a/eta/segmenters/__init__.py
+++ b/eta/segmenters/__init__.py
@@ -1,7 +1,7 @@
"""
Segmenters package declaration.
-Copyright 2017-2023, Voxel51, Inc.
+Copyright 2017-2024, Voxel51, Inc.
voxel51.com
"""
diff --git a/eta/segmenters/tf_segmenters.py b/eta/segmenters/tf_segmenters.py
index 963b7132..8049aee1 100644
--- a/eta/segmenters/tf_segmenters.py
+++ b/eta/segmenters/tf_segmenters.py
@@ -2,7 +2,7 @@
Generic interface for performing inference on semantic segmentation models
stored as frozen TF graphs.
-Copyright 2017-2023, Voxel51, Inc.
+Copyright 2017-2024, Voxel51, Inc.
voxel51.com
"""
# pragma pylint: disable=redefined-builtin
diff --git a/eta/tensorflow/install_automl.bash b/eta/tensorflow/install_automl.bash
index ce7350d3..4713cc67 100644
--- a/eta/tensorflow/install_automl.bash
+++ b/eta/tensorflow/install_automl.bash
@@ -1,7 +1,7 @@
#!/usr/bin/env bash
# Installs the `eta/tensorflow/automl` submodule.
#
-# Copyright 2017-2023, Voxel51, Inc.
+# Copyright 2017-2024, Voxel51, Inc.
# voxel51.com
#
diff --git a/eta/tensorflow/install_darkflow.bash b/eta/tensorflow/install_darkflow.bash
index 16a3cbfb..3693c41c 100644
--- a/eta/tensorflow/install_darkflow.bash
+++ b/eta/tensorflow/install_darkflow.bash
@@ -1,7 +1,7 @@
#!/usr/bin/env bash
# Installs the `eta/tensorflow/darkflow` submodule.
#
-# Copyright 2017-2023, Voxel51, Inc.
+# Copyright 2017-2024, Voxel51, Inc.
# voxel51.com
#
diff --git a/eta/tensorflow/install_models.bash b/eta/tensorflow/install_models.bash
index 6e8d1d36..7c6edab2 100644
--- a/eta/tensorflow/install_models.bash
+++ b/eta/tensorflow/install_models.bash
@@ -1,7 +1,7 @@
#!/usr/bin/env bash
# Installs the `eta/tensorflow/models` submodule.
#
-# Copyright 2017-2023, Voxel51, Inc.
+# Copyright 2017-2024, Voxel51, Inc.
# voxel51.com
#
diff --git a/install.bash b/install.bash
index 9feca2d4..1a4e594b 100644
--- a/install.bash
+++ b/install.bash
@@ -1,7 +1,7 @@
#!/usr/bin/env bash
# Installs ETA and its dependencies.
#
-# Copyright 2017-2023, Voxel51, Inc.
+# Copyright 2017-2024, Voxel51, Inc.
# voxel51.com
#
diff --git a/pyproject.toml b/pyproject.toml
index a989e275..816d55c1 100644
--- a/pyproject.toml
+++ b/pyproject.toml
@@ -1,3 +1,5 @@
+[build-system]
+requires = ["setuptools", "wheel"]
[tool.black]
line-length = 79
include = '\.pyi?$'
diff --git a/requirements/common.txt b/requirements/common.txt
index 1e5711db..55baf471 100644
--- a/requirements/common.txt
+++ b/requirements/common.txt
@@ -10,7 +10,7 @@ lxml==4.9.1
numpy>=1.16.3
opencv-python-headless<5,>=4.1.0.25
packaging==19.2
-Pillow==9.3.0
+Pillow==10.2.0
py7zr==0.20.4
python-dateutil==2.7.0
pytz==2019.3
@@ -27,4 +27,4 @@ six==1.11.0
sortedcontainers==2.1.0
tabulate==0.8.5
tzlocal==2.0.0
-urllib3==1.26.5
+urllib3==1.26.18
diff --git a/setup.py b/setup.py
index 2736b530..201fa531 100644
--- a/setup.py
+++ b/setup.py
@@ -2,7 +2,7 @@
"""
Installs ETA.
-Copyright 2017-2023, Voxel51, Inc.
+Copyright 2017-2024, Voxel51, Inc.
voxel51.com
"""
try:
@@ -16,7 +16,7 @@
from wheel.bdist_wheel import bdist_wheel
-VERSION = "0.12.4"
+VERSION = "0.12.6"
class BdistWheelCustom(bdist_wheel):
diff --git a/sphinx/generate_docs.bash b/sphinx/generate_docs.bash
index dac67285..121be956 100644
--- a/sphinx/generate_docs.bash
+++ b/sphinx/generate_docs.bash
@@ -4,7 +4,7 @@
# Usage:
# bash sphinx/generate_docs.bash
#
-# Copyright 2017-2023, Voxel51, Inc.
+# Copyright 2017-2024, Voxel51, Inc.
# voxel51.com
#