czk-tool 1.0.0__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.
@@ -0,0 +1,71 @@
1
+ Metadata-Version: 2.4
2
+ Name: czk-tool
3
+ Version: 1.0.0
4
+ Summary: CLI wrapper around czkawka_cli for duplicate media workflows
5
+ Requires-Python: >=3.14
6
+ Description-Content-Type: text/markdown
7
+ Requires-Dist: rich>=13.7.0
8
+
9
+ # czk
10
+
11
+ A CLI wrapper around [`czkawka_cli`](https://github.com/qarmin/czkawka) focused on usability and easier analysis of duplicate images and videos.
12
+
13
+ ## Features
14
+
15
+ - Dry-run and live deletion modes with colorized, grouped terminal output
16
+ - CSV and JSON reports per run
17
+ - Interactive SQL analysis via DuckDB
18
+ - Self-contained HTML visual report with inline image/video previews, search, and pagination
19
+
20
+ ## Requirements
21
+
22
+ - macOS or Linux
23
+ - [`czkawka_cli`](https://github.com/qarmin/czkawka) — duplicate detection engine
24
+ - [`duckdb`](https://duckdb.org/) CLI — required for `czk analyze`
25
+ - Python + [`uv`](https://github.com/astral-sh/uv)
26
+
27
+ ## Installation
28
+
29
+ ```bash
30
+ uv tool install --editable .
31
+ ```
32
+
33
+ ## Usage
34
+
35
+ ```bash
36
+ czk test <directory> # Dry run — scan for duplicates, no deletion
37
+ czk execute <directory> # Delete duplicates (AEB strategy)
38
+ czk analyze <directory> # Interactive DuckDB SQL session over scan results
39
+ czk viz <directory> # Generate a self-contained HTML visual report
40
+ ```
41
+
42
+ `czk check` is an alias for `czk test`; `czk analyse` is an alias for `czk analyze`.
43
+
44
+ ## Options
45
+
46
+ | Flag | Description |
47
+ |---|---|
48
+ | `--media {both,images,videos}` | Media type to scan (default: `both`) |
49
+ | `-s, --similarity-preset` | Image similarity preset: `Original`, `VeryHigh`, `High`, `Medium`, `Small`, `VerySmall`, `Minimal` (default: `High`) |
50
+ | `-c, --hash-size {8,16,32,64}` | Perceptual hash size for images (default: `32`) |
51
+ | `-g, --hash-alg` | Hash algorithm for images: `Mean`, `Gradient`, `Blockhash`, `VertGradient`, `DoubleGradient`, `Median` (default: `Gradient`) |
52
+ | `-z, --image-filter` | Resize filter for images: `Lanczos3`, `Nearest`, `Triangle`, `Faussian`, `Catmullrom` (default: `Nearest`) |
53
+ | `-t, --tolerance 0..20` | Similarity tolerance for videos (default: `10`) |
54
+ | `--top N` | Limit duplicate groups in previews (default: `50`) |
55
+ | `--all` | Show all duplicate groups, overrides `--top` |
56
+ | `--out-dir <path>` | Output directory (default: `<system-temp>/czk-reports`) |
57
+ | `--no-color` | Disable colored output |
58
+
59
+ ## Output
60
+
61
+ Each run writes timestamped artifacts to the output directory:
62
+
63
+ - `<base>-<media>-<YYYYMMDD-HHMMSS>.json`
64
+ - `<base>-<media>-<YYYYMMDD-HHMMSS>.csv`
65
+ - `<base>-viz-<YYYYMMDD-HHMMSS>.html` (`czk viz` only)
66
+
67
+ CSV columns: `index`, `file_to_keep`, `files_to_remove`, `count`
68
+
69
+ ## Disclaimer
70
+
71
+ Parts of this project were assisted by AI tooling. Review all commands carefully before running, especially deletion workflows. This software is provided "as is" without warranties of any kind. The authors are not liable for any data loss or other damages resulting from use.
@@ -0,0 +1,63 @@
1
+ # czk
2
+
3
+ A CLI wrapper around [`czkawka_cli`](https://github.com/qarmin/czkawka) focused on usability and easier analysis of duplicate images and videos.
4
+
5
+ ## Features
6
+
7
+ - Dry-run and live deletion modes with colorized, grouped terminal output
8
+ - CSV and JSON reports per run
9
+ - Interactive SQL analysis via DuckDB
10
+ - Self-contained HTML visual report with inline image/video previews, search, and pagination
11
+
12
+ ## Requirements
13
+
14
+ - macOS or Linux
15
+ - [`czkawka_cli`](https://github.com/qarmin/czkawka) — duplicate detection engine
16
+ - [`duckdb`](https://duckdb.org/) CLI — required for `czk analyze`
17
+ - Python + [`uv`](https://github.com/astral-sh/uv)
18
+
19
+ ## Installation
20
+
21
+ ```bash
22
+ uv tool install --editable .
23
+ ```
24
+
25
+ ## Usage
26
+
27
+ ```bash
28
+ czk test <directory> # Dry run — scan for duplicates, no deletion
29
+ czk execute <directory> # Delete duplicates (AEB strategy)
30
+ czk analyze <directory> # Interactive DuckDB SQL session over scan results
31
+ czk viz <directory> # Generate a self-contained HTML visual report
32
+ ```
33
+
34
+ `czk check` is an alias for `czk test`; `czk analyse` is an alias for `czk analyze`.
35
+
36
+ ## Options
37
+
38
+ | Flag | Description |
39
+ |---|---|
40
+ | `--media {both,images,videos}` | Media type to scan (default: `both`) |
41
+ | `-s, --similarity-preset` | Image similarity preset: `Original`, `VeryHigh`, `High`, `Medium`, `Small`, `VerySmall`, `Minimal` (default: `High`) |
42
+ | `-c, --hash-size {8,16,32,64}` | Perceptual hash size for images (default: `32`) |
43
+ | `-g, --hash-alg` | Hash algorithm for images: `Mean`, `Gradient`, `Blockhash`, `VertGradient`, `DoubleGradient`, `Median` (default: `Gradient`) |
44
+ | `-z, --image-filter` | Resize filter for images: `Lanczos3`, `Nearest`, `Triangle`, `Faussian`, `Catmullrom` (default: `Nearest`) |
45
+ | `-t, --tolerance 0..20` | Similarity tolerance for videos (default: `10`) |
46
+ | `--top N` | Limit duplicate groups in previews (default: `50`) |
47
+ | `--all` | Show all duplicate groups, overrides `--top` |
48
+ | `--out-dir <path>` | Output directory (default: `<system-temp>/czk-reports`) |
49
+ | `--no-color` | Disable colored output |
50
+
51
+ ## Output
52
+
53
+ Each run writes timestamped artifacts to the output directory:
54
+
55
+ - `<base>-<media>-<YYYYMMDD-HHMMSS>.json`
56
+ - `<base>-<media>-<YYYYMMDD-HHMMSS>.csv`
57
+ - `<base>-viz-<YYYYMMDD-HHMMSS>.html` (`czk viz` only)
58
+
59
+ CSV columns: `index`, `file_to_keep`, `files_to_remove`, `count`
60
+
61
+ ## Disclaimer
62
+
63
+ Parts of this project were assisted by AI tooling. Review all commands carefully before running, especially deletion workflows. This software is provided "as is" without warranties of any kind. The authors are not liable for any data loss or other damages resulting from use.
@@ -0,0 +1,27 @@
1
+ [build-system]
2
+ requires = ["setuptools>=68"]
3
+ build-backend = "setuptools.build_meta"
4
+
5
+ [project]
6
+ name = "czk-tool"
7
+ version = "1.0.0"
8
+ description = "CLI wrapper around czkawka_cli for duplicate media workflows"
9
+ readme = "README.md"
10
+ requires-python = ">=3.14"
11
+ dependencies = [
12
+ "rich>=13.7.0",
13
+ ]
14
+
15
+ [project.scripts]
16
+ czk = "czk_tool.cli:main"
17
+
18
+ [tool.setuptools]
19
+ package-dir = {"" = "src"}
20
+
21
+ [tool.setuptools.packages.find]
22
+ where = ["src"]
23
+
24
+ [dependency-groups]
25
+ dev = [
26
+ "pytest>=9.0.2",
27
+ ]
@@ -0,0 +1,4 @@
1
+ [egg_info]
2
+ tag_build =
3
+ tag_date = 0
4
+
@@ -0,0 +1,2 @@
1
+ """czk tool package."""
2
+
@@ -0,0 +1,4 @@
1
+ from .cli import main
2
+
3
+ raise SystemExit(main())
4
+