nazariya 0.1.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,16 @@
1
+ Metadata-Version: 2.3
2
+ Name: nazariya
3
+ Version: 0.1.0
4
+ Summary: A local visual search and clustering tool for image archives.
5
+ Author: Suhail
6
+ Requires-Dist: typer>=0.12.0
7
+ Requires-Dist: rich>=13.0.0
8
+ Requires-Python: >=3.11
9
+ Project-URL: Repository, https://github.com/clariform/nazariya
10
+ Description-Content-Type: text/markdown
11
+
12
+ # nazariya
13
+
14
+ A local visual search and clustering tool for image archives.
15
+
16
+ `nazariya` means perspective or viewpoint. The goal of this project is to help find visually related image groups across a large archive.
@@ -0,0 +1,5 @@
1
+ # nazariya
2
+
3
+ A local visual search and clustering tool for image archives.
4
+
5
+ `nazariya` means perspective or viewpoint. The goal of this project is to help find visually related image groups across a large archive.
@@ -0,0 +1,23 @@
1
+ [project]
2
+ name = "nazariya"
3
+ version = "0.1.0"
4
+ description = "A local visual search and clustering tool for image archives."
5
+ readme = "README.md"
6
+ requires-python = ">=3.11"
7
+ authors = [
8
+ { name = "Suhail" }
9
+ ]
10
+ dependencies = [
11
+ "typer>=0.12.0",
12
+ "rich>=13.0.0",
13
+ ]
14
+
15
+ [project.urls]
16
+ Repository = "https://github.com/clariform/nazariya"
17
+
18
+ [project.scripts]
19
+ nazariya = "nazariya.cli:app"
20
+
21
+ [build-system]
22
+ requires = ["uv_build>=0.9.0,<0.10.0"]
23
+ build-backend = "uv_build"
@@ -0,0 +1 @@
1
+ __version__ = "0.1.0"
@@ -0,0 +1,59 @@
1
+ from __future__ import annotations
2
+
3
+ from pathlib import Path
4
+
5
+ import typer
6
+ from rich.console import Console
7
+
8
+ from nazariya import __version__
9
+
10
+ app = typer.Typer(help="Local visual search and clustering for image archives.")
11
+ console = Console()
12
+
13
+
14
+ @app.callback()
15
+ def main(
16
+ version: bool = typer.Option(
17
+ False,
18
+ "--version",
19
+ help="Show the Nazariya version and exit.",
20
+ )
21
+ ) -> None:
22
+ if version:
23
+ console.print(f"nazariya {__version__}")
24
+ raise typer.Exit()
25
+
26
+
27
+ @app.command()
28
+ def hello() -> None:
29
+ """Smoke test command."""
30
+ console.print("[bold green]nazariya[/bold green] is ready.")
31
+
32
+
33
+ @app.command()
34
+ def init(
35
+ root: Path = typer.Argument(
36
+ Path("data"),
37
+ help="Project data directory to create.",
38
+ )
39
+ ) -> None:
40
+ """Create a minimal data folder layout."""
41
+ folders = [
42
+ root / "inputs",
43
+ root / "previews",
44
+ root / "normalized",
45
+ root / "features",
46
+ root / "clusters" / "contact_sheets",
47
+ root / "reports",
48
+ ]
49
+
50
+ for folder in folders:
51
+ folder.mkdir(parents=True, exist_ok=True)
52
+
53
+ console.print("[bold green]Created Nazariya data folders:[/bold green]")
54
+ for folder in folders:
55
+ console.print(f" {folder}")
56
+
57
+
58
+ if __name__ == "__main__":
59
+ app()