Perception 0.9.0__tar.gz → 0.9.2__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {perception-0.9.0 → perception-0.9.2}/.github/workflows/ci.yaml +4 -4
- {perception-0.9.0 → perception-0.9.2}/.github/workflows/gh-pages.yaml +2 -2
- {perception-0.9.0 → perception-0.9.2}/.github/workflows/release.yaml +10 -10
- {perception-0.9.0 → perception-0.9.2}/CHANGELOG.md +8 -0
- {perception-0.9.0 → perception-0.9.2}/PKG-INFO +2 -2
- {perception-0.9.0 → perception-0.9.2}/Perception.egg-info/PKG-INFO +2 -2
- {perception-0.9.0 → perception-0.9.2}/Perception.egg-info/SOURCES.txt +2 -0
- {perception-0.9.0 → perception-0.9.2}/Perception.egg-info/requires.txt +1 -1
- perception-0.9.2/Perception.egg-info/scm_file_list.json +98 -0
- perception-0.9.2/Perception.egg-info/scm_version.json +8 -0
- {perception-0.9.0 → perception-0.9.2}/perception/benchmarking/extensions.c +5509 -5581
- {perception-0.9.0 → perception-0.9.2}/perception/extensions.cpp +5522 -5594
- {perception-0.9.0 → perception-0.9.2}/perception/hashers/image/phash.py +29 -9
- {perception-0.9.0 → perception-0.9.2}/perception/hashers/tools.py +15 -16
- {perception-0.9.0 → perception-0.9.2}/perception/hashers/video/tmk.py +0 -6
- {perception-0.9.0 → perception-0.9.2}/pyproject.toml +2 -2
- {perception-0.9.0 → perception-0.9.2}/uv.lock +173 -160
- {perception-0.9.0 → perception-0.9.2}/.dockerignore +0 -0
- {perception-0.9.0 → perception-0.9.2}/.git-blame-ignore-revs +0 -0
- {perception-0.9.0 → perception-0.9.2}/.gitattributes +0 -0
- {perception-0.9.0 → perception-0.9.2}/.github/dependabot.yaml +0 -0
- {perception-0.9.0 → perception-0.9.2}/.gitignore +0 -0
- {perception-0.9.0 → perception-0.9.2}/.pre-commit-config.yaml +0 -0
- {perception-0.9.0 → perception-0.9.2}/.readthedocs.yaml +0 -0
- {perception-0.9.0 → perception-0.9.2}/CODE_OF_CONDUCT.md +0 -0
- {perception-0.9.0 → perception-0.9.2}/LICENSE +0 -0
- {perception-0.9.0 → perception-0.9.2}/MANIFEST.in +0 -0
- {perception-0.9.0 → perception-0.9.2}/Makefile +0 -0
- {perception-0.9.0 → perception-0.9.2}/Perception.egg-info/dependency_links.txt +0 -0
- {perception-0.9.0 → perception-0.9.2}/Perception.egg-info/top_level.txt +0 -0
- {perception-0.9.0 → perception-0.9.2}/README.md +0 -0
- {perception-0.9.0 → perception-0.9.2}/docs/api/benchmarking.rst +0 -0
- {perception-0.9.0 → perception-0.9.2}/docs/api/hashers.rst +0 -0
- {perception-0.9.0 → perception-0.9.2}/docs/api/index.rst +0 -0
- {perception-0.9.0 → perception-0.9.2}/docs/api/tools.rst +0 -0
- {perception-0.9.0 → perception-0.9.2}/docs/conf.py +0 -0
- {perception-0.9.0 → perception-0.9.2}/docs/examples/benchmarking.rst +0 -0
- {perception-0.9.0 → perception-0.9.2}/docs/examples/deduplication.rst +0 -0
- {perception-0.9.0 → perception-0.9.2}/docs/examples/detecting_csam.rst +0 -0
- {perception-0.9.0 → perception-0.9.2}/docs/examples/index.rst +0 -0
- {perception-0.9.0 → perception-0.9.2}/docs/index.rst +0 -0
- {perception-0.9.0 → perception-0.9.2}/docs/requirements.txt +0 -0
- {perception-0.9.0 → perception-0.9.2}/perception/__init__.py +0 -0
- {perception-0.9.0 → perception-0.9.2}/perception/_optional.py +0 -0
- {perception-0.9.0 → perception-0.9.2}/perception/approximate_deduplication/__init__.py +0 -0
- {perception-0.9.0 → perception-0.9.2}/perception/approximate_deduplication/_graph_backend.py +0 -0
- {perception-0.9.0 → perception-0.9.2}/perception/approximate_deduplication/debug.py +0 -0
- {perception-0.9.0 → perception-0.9.2}/perception/approximate_deduplication/index.py +0 -0
- {perception-0.9.0 → perception-0.9.2}/perception/approximate_deduplication/serve.py +0 -0
- {perception-0.9.0 → perception-0.9.2}/perception/benchmarking/__init__.py +0 -0
- {perception-0.9.0 → perception-0.9.2}/perception/benchmarking/common.py +0 -0
- {perception-0.9.0 → perception-0.9.2}/perception/benchmarking/extensions.pyx +0 -0
- {perception-0.9.0 → perception-0.9.2}/perception/benchmarking/image.py +0 -0
- {perception-0.9.0 → perception-0.9.2}/perception/benchmarking/image_transforms.py +0 -0
- {perception-0.9.0 → perception-0.9.2}/perception/benchmarking/video.py +0 -0
- {perception-0.9.0 → perception-0.9.2}/perception/benchmarking/video_transforms.py +0 -0
- {perception-0.9.0 → perception-0.9.2}/perception/extensions.pyx +0 -0
- {perception-0.9.0 → perception-0.9.2}/perception/hashers/__init__.py +0 -0
- {perception-0.9.0 → perception-0.9.2}/perception/hashers/hasher.py +0 -0
- {perception-0.9.0 → perception-0.9.2}/perception/hashers/image/__init__.py +0 -0
- {perception-0.9.0 → perception-0.9.2}/perception/hashers/image/average.py +0 -0
- {perception-0.9.0 → perception-0.9.2}/perception/hashers/image/dhash.py +0 -0
- {perception-0.9.0 → perception-0.9.2}/perception/hashers/image/opencv.py +0 -0
- {perception-0.9.0 → perception-0.9.2}/perception/hashers/image/pdq.py +0 -0
- {perception-0.9.0 → perception-0.9.2}/perception/hashers/image/wavelet.py +0 -0
- {perception-0.9.0 → perception-0.9.2}/perception/hashers/video/__init__.py +0 -0
- {perception-0.9.0 → perception-0.9.2}/perception/hashers/video/framewise.py +0 -0
- {perception-0.9.0 → perception-0.9.2}/perception/local_descriptor_deduplication.py +0 -0
- {perception-0.9.0 → perception-0.9.2}/perception/py.typed +0 -0
- {perception-0.9.0 → perception-0.9.2}/perception/testing/__init__.py +0 -0
- {perception-0.9.0 → perception-0.9.2}/perception/testing/images/README.md +0 -0
- {perception-0.9.0 → perception-0.9.2}/perception/testing/images/image1.jpg +0 -0
- {perception-0.9.0 → perception-0.9.2}/perception/testing/images/image10.jpg +0 -0
- {perception-0.9.0 → perception-0.9.2}/perception/testing/images/image2.jpg +0 -0
- {perception-0.9.0 → perception-0.9.2}/perception/testing/images/image3.jpg +0 -0
- {perception-0.9.0 → perception-0.9.2}/perception/testing/images/image4.jpg +0 -0
- {perception-0.9.0 → perception-0.9.2}/perception/testing/images/image5.jpg +0 -0
- {perception-0.9.0 → perception-0.9.2}/perception/testing/images/image6.jpg +0 -0
- {perception-0.9.0 → perception-0.9.2}/perception/testing/images/image7.jpg +0 -0
- {perception-0.9.0 → perception-0.9.2}/perception/testing/images/image8.jpg +0 -0
- {perception-0.9.0 → perception-0.9.2}/perception/testing/images/image9.jpg +0 -0
- {perception-0.9.0 → perception-0.9.2}/perception/testing/logos/README.md +0 -0
- {perception-0.9.0 → perception-0.9.2}/perception/testing/logos/logoipsum.png +0 -0
- {perception-0.9.0 → perception-0.9.2}/perception/testing/videos/README.md +0 -0
- {perception-0.9.0 → perception-0.9.2}/perception/testing/videos/expected_tmk.json.gz +0 -0
- {perception-0.9.0 → perception-0.9.2}/perception/testing/videos/extra_channel_attached_pic.mp4 +0 -0
- {perception-0.9.0 → perception-0.9.2}/perception/testing/videos/extra_channel_attached_pic_audio.mp4 +0 -0
- {perception-0.9.0 → perception-0.9.2}/perception/testing/videos/rgb.m4v +0 -0
- {perception-0.9.0 → perception-0.9.2}/perception/testing/videos/v1.m4v +0 -0
- {perception-0.9.0 → perception-0.9.2}/perception/testing/videos/v2.m4v +0 -0
- {perception-0.9.0 → perception-0.9.2}/perception/testing/videos/v2s.mov +0 -0
- {perception-0.9.0 → perception-0.9.2}/perception/tools.py +0 -0
- {perception-0.9.0 → perception-0.9.2}/perception/utils.py +0 -0
- {perception-0.9.0 → perception-0.9.2}/setup.cfg +0 -0
- {perception-0.9.0 → perception-0.9.2}/setup.py +0 -0
- {perception-0.9.0 → perception-0.9.2}/tests/images/chair-square.png +0 -0
- {perception-0.9.0 → perception-0.9.2}/tests/images/chair-tall.png +0 -0
- {perception-0.9.0 → perception-0.9.2}/tests/images/chair.png +0 -0
- {perception-0.9.0 → perception-0.9.2}/tests/images/chair3.png +0 -0
|
@@ -12,13 +12,13 @@ jobs:
|
|
|
12
12
|
strategy:
|
|
13
13
|
matrix:
|
|
14
14
|
python-version: ["3.10", "3.11", "3.12", "3.13"]
|
|
15
|
-
os: ["ubuntu-latest", "windows-latest", "macos-latest"]
|
|
15
|
+
os: ["ubuntu-latest", "ubuntu-24.04-arm", "windows-latest", "macos-latest"]
|
|
16
16
|
runs-on: ${{ matrix.os }}
|
|
17
17
|
steps:
|
|
18
18
|
- name: checkout
|
|
19
|
-
uses: actions/checkout@
|
|
19
|
+
uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0
|
|
20
20
|
- name: Set up uv
|
|
21
|
-
uses: astral-sh/setup-uv@
|
|
21
|
+
uses: astral-sh/setup-uv@fac544c07dec837d0ccb6301d7b5580bf5edae39 # v8.2.0
|
|
22
22
|
with:
|
|
23
23
|
python-version: ${{ matrix.python-version }}
|
|
24
24
|
enable-cache: true
|
|
@@ -26,7 +26,7 @@ jobs:
|
|
|
26
26
|
cache-dependency-glob: |
|
|
27
27
|
pyproject.toml
|
|
28
28
|
uv.lock
|
|
29
|
-
cache-suffix: ${{
|
|
29
|
+
cache-suffix: ${{ matrix.os }}-${{ matrix.python-version }}
|
|
30
30
|
- name: Setup FFMPEG on Ubuntu
|
|
31
31
|
if: startsWith(matrix.os, 'ubuntu')
|
|
32
32
|
run: |
|
|
@@ -20,11 +20,11 @@ jobs:
|
|
|
20
20
|
pages: write
|
|
21
21
|
id-token: write
|
|
22
22
|
steps:
|
|
23
|
-
- uses: actions/checkout@
|
|
23
|
+
- uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0
|
|
24
24
|
with:
|
|
25
25
|
fetch-depth: 0
|
|
26
26
|
- id: deployment
|
|
27
|
-
uses: sphinx-notes/pages@
|
|
27
|
+
uses: sphinx-notes/pages@6e3e0108e79636a0908b1c2c5899e0d3dfad0bc1 # 3.6
|
|
28
28
|
with:
|
|
29
29
|
checkout: false
|
|
30
30
|
documentation_path: docs
|
|
@@ -13,17 +13,17 @@ jobs:
|
|
|
13
13
|
strategy:
|
|
14
14
|
matrix:
|
|
15
15
|
python-version: ["3.10", "3.11", "3.12", "3.13"]
|
|
16
|
-
os: ["ubuntu-latest", "windows-latest", "macos-latest"]
|
|
16
|
+
os: ["ubuntu-latest", "ubuntu-24.04-arm", "windows-latest", "macos-latest"]
|
|
17
17
|
name: Build for ${{ matrix.os }} on Python ${{ matrix.python-version }}
|
|
18
18
|
steps:
|
|
19
|
-
- uses: actions/checkout@
|
|
19
|
+
- uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0
|
|
20
20
|
with:
|
|
21
21
|
# Full clone for version calculation
|
|
22
22
|
fetch-depth: 0
|
|
23
23
|
fetch-tags: true
|
|
24
24
|
ref: ${{ github.event_name == 'release' && format('refs/tags/{0}', github.event.release.tag_name) || github.ref }}
|
|
25
25
|
- name: Set up uv
|
|
26
|
-
uses: astral-sh/setup-uv@
|
|
26
|
+
uses: astral-sh/setup-uv@fac544c07dec837d0ccb6301d7b5580bf5edae39 # v8.2.0
|
|
27
27
|
with:
|
|
28
28
|
python-version: ${{ matrix.python-version }}
|
|
29
29
|
enable-cache: false
|
|
@@ -44,7 +44,7 @@ jobs:
|
|
|
44
44
|
uv tool run --from repairwheel repairwheel -o dist dist-tmp/*.whl
|
|
45
45
|
find dist -name "*.whl" -type f | sed -n "s/\(.*\)\.linux.*\.whl$/& \1.whl/p" | xargs -r -n 2 mv
|
|
46
46
|
rm -rf dist-tmp
|
|
47
|
-
- uses: actions/upload-artifact@
|
|
47
|
+
- uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a # v7.0.1
|
|
48
48
|
with:
|
|
49
49
|
name: package-wheels-${{ matrix.os }}-${{ matrix.python-version }}
|
|
50
50
|
path: dist/*
|
|
@@ -53,14 +53,14 @@ jobs:
|
|
|
53
53
|
runs-on: ubuntu-latest
|
|
54
54
|
name: Build sdist
|
|
55
55
|
steps:
|
|
56
|
-
- uses: actions/checkout@
|
|
56
|
+
- uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0
|
|
57
57
|
with:
|
|
58
58
|
# Full clone for version calculation
|
|
59
59
|
fetch-depth: 0
|
|
60
60
|
fetch-tags: true
|
|
61
61
|
ref: ${{ github.event_name == 'release' && format('refs/tags/{0}', github.event.release.tag_name) || github.ref }}
|
|
62
62
|
- name: Set up uv
|
|
63
|
-
uses: astral-sh/setup-uv@
|
|
63
|
+
uses: astral-sh/setup-uv@fac544c07dec837d0ccb6301d7b5580bf5edae39 # v8.2.0
|
|
64
64
|
with:
|
|
65
65
|
python-version: "3.13"
|
|
66
66
|
enable-cache: false
|
|
@@ -72,7 +72,7 @@ jobs:
|
|
|
72
72
|
echo "Python: $(uv run python --version)"
|
|
73
73
|
echo "Git describe: $(git describe --tags --always)"
|
|
74
74
|
uv build --sdist --out-dir="dist"
|
|
75
|
-
- uses: actions/upload-artifact@
|
|
75
|
+
- uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a # v7.0.1
|
|
76
76
|
with:
|
|
77
77
|
name: package-sdist
|
|
78
78
|
path: dist/*
|
|
@@ -82,14 +82,14 @@ jobs:
|
|
|
82
82
|
runs-on: ubuntu-latest
|
|
83
83
|
if: ${{ github.repository_owner == 'thorn-oss' && github.event_name == 'release' }}
|
|
84
84
|
steps:
|
|
85
|
-
- uses: actions/checkout@
|
|
85
|
+
- uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0
|
|
86
86
|
with:
|
|
87
87
|
# Full clone for version calculation
|
|
88
88
|
fetch-depth: 0
|
|
89
89
|
fetch-tags: true
|
|
90
90
|
ref: refs/tags/${{ github.event.release.tag_name }}
|
|
91
91
|
- name: Set up uv
|
|
92
|
-
uses: astral-sh/setup-uv@
|
|
92
|
+
uses: astral-sh/setup-uv@fac544c07dec837d0ccb6301d7b5580bf5edae39 # v8.2.0
|
|
93
93
|
with:
|
|
94
94
|
python-version: "3.13"
|
|
95
95
|
enable-cache: false
|
|
@@ -100,7 +100,7 @@ jobs:
|
|
|
100
100
|
pattern: package-*
|
|
101
101
|
merge-multiple: true
|
|
102
102
|
- name: Load PyPI Token
|
|
103
|
-
uses: 1password/load-secrets-action@
|
|
103
|
+
uses: 1password/load-secrets-action@3a12b0ab99d9cd590a3e9b5a90ea017210ed9556 # v4.0.1
|
|
104
104
|
with:
|
|
105
105
|
# Export loaded secrets as environment variables
|
|
106
106
|
export-env: true
|
|
@@ -4,6 +4,14 @@ All notable changes to this project will be documented in this file.
|
|
|
4
4
|
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
|
|
5
5
|
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
|
|
6
6
|
|
|
7
|
+
## [0.9.1] - 2026-05-26
|
|
8
|
+
|
|
9
|
+
### Enhancements
|
|
10
|
+
- Added ARM64 Linux (`ubuntu-24.04-arm`) to the CI test matrix and the release wheel-build matrix.
|
|
11
|
+
|
|
12
|
+
### Bug fixes
|
|
13
|
+
- TMK hashing now works on ARM64. The previous "not supported" warning was removed; the parity test uses cosine similarity and score-level comparison to account for minor cross-architecture differences in video decoding.
|
|
14
|
+
|
|
7
15
|
## [0.9.0] - 2026-05-13
|
|
8
16
|
This release moves heavyweight dependencies behind optional extras so they are not installed for users who only need core hashing functionality, and standardizes the error users see when an extra is missing.
|
|
9
17
|
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: Perception
|
|
3
|
-
Version: 0.9.
|
|
3
|
+
Version: 0.9.2
|
|
4
4
|
Summary: Perception provides flexible, well-documented, and comprehensively tested tooling for perceptual hashing research, development, and production use.
|
|
5
5
|
Author-email: Thorn <info@wearethorn.org>
|
|
6
6
|
License-Expression: Apache-2.0
|
|
@@ -17,7 +17,7 @@ Requires-Dist: scipy
|
|
|
17
17
|
Requires-Dist: tqdm<5.0.0,>=4.67.1
|
|
18
18
|
Requires-Dist: typing_extensions<5.0,>=4.0
|
|
19
19
|
Provides-Extra: approximate-deduplication
|
|
20
|
-
Requires-Dist: faiss-cpu<2.0.0,>=1.
|
|
20
|
+
Requires-Dist: faiss-cpu<2.0.0,>=1.14.3; extra == "approximate-deduplication"
|
|
21
21
|
Requires-Dist: networkit<12.0.0,>=11.1; sys_platform != "darwin" and extra == "approximate-deduplication"
|
|
22
22
|
Requires-Dist: networkx<4.0,>=3.0; sys_platform == "darwin" and extra == "approximate-deduplication"
|
|
23
23
|
Requires-Dist: pandas; extra == "approximate-deduplication"
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: Perception
|
|
3
|
-
Version: 0.9.
|
|
3
|
+
Version: 0.9.2
|
|
4
4
|
Summary: Perception provides flexible, well-documented, and comprehensively tested tooling for perceptual hashing research, development, and production use.
|
|
5
5
|
Author-email: Thorn <info@wearethorn.org>
|
|
6
6
|
License-Expression: Apache-2.0
|
|
@@ -17,7 +17,7 @@ Requires-Dist: scipy
|
|
|
17
17
|
Requires-Dist: tqdm<5.0.0,>=4.67.1
|
|
18
18
|
Requires-Dist: typing_extensions<5.0,>=4.0
|
|
19
19
|
Provides-Extra: approximate-deduplication
|
|
20
|
-
Requires-Dist: faiss-cpu<2.0.0,>=1.
|
|
20
|
+
Requires-Dist: faiss-cpu<2.0.0,>=1.14.3; extra == "approximate-deduplication"
|
|
21
21
|
Requires-Dist: networkit<12.0.0,>=11.1; sys_platform != "darwin" and extra == "approximate-deduplication"
|
|
22
22
|
Requires-Dist: networkx<4.0,>=3.0; sys_platform == "darwin" and extra == "approximate-deduplication"
|
|
23
23
|
Requires-Dist: pandas; extra == "approximate-deduplication"
|
|
@@ -21,6 +21,8 @@ Perception.egg-info/PKG-INFO
|
|
|
21
21
|
Perception.egg-info/SOURCES.txt
|
|
22
22
|
Perception.egg-info/dependency_links.txt
|
|
23
23
|
Perception.egg-info/requires.txt
|
|
24
|
+
Perception.egg-info/scm_file_list.json
|
|
25
|
+
Perception.egg-info/scm_version.json
|
|
24
26
|
Perception.egg-info/top_level.txt
|
|
25
27
|
docs/conf.py
|
|
26
28
|
docs/index.rst
|
|
@@ -0,0 +1,98 @@
|
|
|
1
|
+
{
|
|
2
|
+
"files": [
|
|
3
|
+
".pre-commit-config.yaml",
|
|
4
|
+
"README.md",
|
|
5
|
+
"uv.lock",
|
|
6
|
+
"Makefile",
|
|
7
|
+
"LICENSE",
|
|
8
|
+
"setup.py",
|
|
9
|
+
"pyproject.toml",
|
|
10
|
+
"CHANGELOG.md",
|
|
11
|
+
".dockerignore",
|
|
12
|
+
".git-blame-ignore-revs",
|
|
13
|
+
".gitattributes",
|
|
14
|
+
"MANIFEST.in",
|
|
15
|
+
".gitignore",
|
|
16
|
+
".readthedocs.yaml",
|
|
17
|
+
"CODE_OF_CONDUCT.md",
|
|
18
|
+
"docs/index.rst",
|
|
19
|
+
"docs/requirements.txt",
|
|
20
|
+
"docs/conf.py",
|
|
21
|
+
"docs/api/benchmarking.rst",
|
|
22
|
+
"docs/api/index.rst",
|
|
23
|
+
"docs/api/tools.rst",
|
|
24
|
+
"docs/api/hashers.rst",
|
|
25
|
+
"docs/examples/benchmarking.rst",
|
|
26
|
+
"docs/examples/detecting_csam.rst",
|
|
27
|
+
"docs/examples/index.rst",
|
|
28
|
+
"docs/examples/deduplication.rst",
|
|
29
|
+
"perception/local_descriptor_deduplication.py",
|
|
30
|
+
"perception/tools.py",
|
|
31
|
+
"perception/py.typed",
|
|
32
|
+
"perception/__init__.py",
|
|
33
|
+
"perception/utils.py",
|
|
34
|
+
"perception/extensions.pyx",
|
|
35
|
+
"perception/_optional.py",
|
|
36
|
+
"perception/hashers/tools.py",
|
|
37
|
+
"perception/hashers/__init__.py",
|
|
38
|
+
"perception/hashers/hasher.py",
|
|
39
|
+
"perception/hashers/video/__init__.py",
|
|
40
|
+
"perception/hashers/video/tmk.py",
|
|
41
|
+
"perception/hashers/video/framewise.py",
|
|
42
|
+
"perception/hashers/image/__init__.py",
|
|
43
|
+
"perception/hashers/image/opencv.py",
|
|
44
|
+
"perception/hashers/image/phash.py",
|
|
45
|
+
"perception/hashers/image/wavelet.py",
|
|
46
|
+
"perception/hashers/image/average.py",
|
|
47
|
+
"perception/hashers/image/dhash.py",
|
|
48
|
+
"perception/hashers/image/pdq.py",
|
|
49
|
+
"perception/approximate_deduplication/__init__.py",
|
|
50
|
+
"perception/approximate_deduplication/debug.py",
|
|
51
|
+
"perception/approximate_deduplication/serve.py",
|
|
52
|
+
"perception/approximate_deduplication/_graph_backend.py",
|
|
53
|
+
"perception/approximate_deduplication/index.py",
|
|
54
|
+
"perception/benchmarking/video.py",
|
|
55
|
+
"perception/benchmarking/video_transforms.py",
|
|
56
|
+
"perception/benchmarking/__init__.py",
|
|
57
|
+
"perception/benchmarking/image_transforms.py",
|
|
58
|
+
"perception/benchmarking/image.py",
|
|
59
|
+
"perception/benchmarking/extensions.pyx",
|
|
60
|
+
"perception/benchmarking/common.py",
|
|
61
|
+
"perception/testing/__init__.py",
|
|
62
|
+
"perception/testing/images/image1.jpg",
|
|
63
|
+
"perception/testing/images/image4.jpg",
|
|
64
|
+
"perception/testing/images/image6.jpg",
|
|
65
|
+
"perception/testing/images/README.md",
|
|
66
|
+
"perception/testing/images/image2.jpg",
|
|
67
|
+
"perception/testing/images/image9.jpg",
|
|
68
|
+
"perception/testing/images/image10.jpg",
|
|
69
|
+
"perception/testing/images/image3.jpg",
|
|
70
|
+
"perception/testing/images/image8.jpg",
|
|
71
|
+
"perception/testing/images/image5.jpg",
|
|
72
|
+
"perception/testing/images/image7.jpg",
|
|
73
|
+
"perception/testing/videos/v1.m4v",
|
|
74
|
+
"perception/testing/videos/README.md",
|
|
75
|
+
"perception/testing/videos/v2s.mov",
|
|
76
|
+
"perception/testing/videos/extra_channel_attached_pic.mp4",
|
|
77
|
+
"perception/testing/videos/extra_channel_attached_pic_audio.mp4",
|
|
78
|
+
"perception/testing/videos/expected_tmk.json.gz",
|
|
79
|
+
"perception/testing/videos/v2.m4v",
|
|
80
|
+
"perception/testing/videos/rgb.m4v",
|
|
81
|
+
"perception/testing/logos/README.md",
|
|
82
|
+
"perception/testing/logos/logoipsum.png",
|
|
83
|
+
"tests/test_benchmarking.py",
|
|
84
|
+
"tests/test_hashers.py",
|
|
85
|
+
"tests/test_tmk.py",
|
|
86
|
+
"tests/test_local_descriptor_deduplication.py",
|
|
87
|
+
"tests/test_approximate_deduplication.py",
|
|
88
|
+
"tests/test_tools.py",
|
|
89
|
+
"tests/images/chair-square.png",
|
|
90
|
+
"tests/images/chair3.png",
|
|
91
|
+
"tests/images/chair-tall.png",
|
|
92
|
+
"tests/images/chair.png",
|
|
93
|
+
".github/dependabot.yaml",
|
|
94
|
+
".github/workflows/gh-pages.yaml",
|
|
95
|
+
".github/workflows/release.yaml",
|
|
96
|
+
".github/workflows/ci.yaml"
|
|
97
|
+
]
|
|
98
|
+
}
|