dotx 2.0.2__tar.gz → 2.0.4__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.
Files changed (30) hide show
  1. dotx-2.0.4/MANIFEST.in +1 -0
  2. {dotx-2.0.2/src/dotx.egg-info → dotx-2.0.4}/PKG-INFO +1 -1
  3. {dotx-2.0.2 → dotx-2.0.4}/pyproject.toml +1 -1
  4. dotx-2.0.4/src/dotx/__init__.py +11 -0
  5. {dotx-2.0.2 → dotx-2.0.4}/src/dotx/cli.py +4 -2
  6. dotx-2.0.4/src/dotx/installed-schema.sql +23 -0
  7. {dotx-2.0.2 → dotx-2.0.4/src/dotx.egg-info}/PKG-INFO +1 -1
  8. {dotx-2.0.2 → dotx-2.0.4}/src/dotx.egg-info/SOURCES.txt +2 -0
  9. dotx-2.0.2/src/dotx/__init__.py +0 -8
  10. {dotx-2.0.2 → dotx-2.0.4}/LICENSE +0 -0
  11. {dotx-2.0.2 → dotx-2.0.4}/README.md +0 -0
  12. {dotx-2.0.2 → dotx-2.0.4}/setup.cfg +0 -0
  13. {dotx-2.0.2 → dotx-2.0.4}/src/dotx/database.py +0 -0
  14. {dotx-2.0.2 → dotx-2.0.4}/src/dotx/ignore.py +0 -0
  15. {dotx-2.0.2 → dotx-2.0.4}/src/dotx/install.py +0 -0
  16. {dotx-2.0.2 → dotx-2.0.4}/src/dotx/options.py +0 -0
  17. {dotx-2.0.2 → dotx-2.0.4}/src/dotx/plan.py +0 -0
  18. {dotx-2.0.2 → dotx-2.0.4}/src/dotx/uninstall.py +0 -0
  19. {dotx-2.0.2 → dotx-2.0.4}/src/dotx.egg-info/dependency_links.txt +0 -0
  20. {dotx-2.0.2 → dotx-2.0.4}/src/dotx.egg-info/entry_points.txt +0 -0
  21. {dotx-2.0.2 → dotx-2.0.4}/src/dotx.egg-info/requires.txt +0 -0
  22. {dotx-2.0.2 → dotx-2.0.4}/src/dotx.egg-info/top_level.txt +0 -0
  23. {dotx-2.0.2 → dotx-2.0.4}/tests/test_cli.py +0 -0
  24. {dotx-2.0.2 → dotx-2.0.4}/tests/test_cli_database.py +0 -0
  25. {dotx-2.0.2 → dotx-2.0.4}/tests/test_ignore.py +0 -0
  26. {dotx-2.0.2 → dotx-2.0.4}/tests/test_ignore_rules.py +0 -0
  27. {dotx-2.0.2 → dotx-2.0.4}/tests/test_install.py +0 -0
  28. {dotx-2.0.2 → dotx-2.0.4}/tests/test_options.py +0 -0
  29. {dotx-2.0.2 → dotx-2.0.4}/tests/test_plan.py +0 -0
  30. {dotx-2.0.2 → dotx-2.0.4}/tests/test_uninstall.py +0 -0
dotx-2.0.4/MANIFEST.in ADDED
@@ -0,0 +1 @@
1
+ include src/dotx/installed-schema.sql
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: dotx
3
- Version: 2.0.2
3
+ Version: 2.0.4
4
4
  Summary: A command-line tool to install a link-farm to your dotfiles
5
5
  Author-email: Wolf <Wolf@zv.cx>
6
6
  License-Expression: MIT
@@ -1,6 +1,6 @@
1
1
  [project]
2
2
  name = "dotx"
3
- version = "2.0.2"
3
+ version = "2.0.4"
4
4
  description = "A command-line tool to install a link-farm to your dotfiles"
5
5
  authors = [
6
6
  { name = "Wolf", email = "Wolf@zv.cx" }
@@ -0,0 +1,11 @@
1
+ """dotx - A command-line tool to install a link-farm to your dotfiles."""
2
+
3
+ from importlib.metadata import version, metadata, PackageNotFoundError
4
+
5
+ try:
6
+ __version__ = version("dotx")
7
+ __metadata__ = metadata("dotx")
8
+ __homepage__ = __metadata__.get("Home-page") or "https://github.com/wolf/dotx"
9
+ except PackageNotFoundError:
10
+ __version__ = "unknown"
11
+ __homepage__ = "https://github.com/wolf/dotx"
@@ -22,7 +22,7 @@ import click
22
22
  import typer
23
23
  from loguru import logger
24
24
 
25
- from dotx import __version__
25
+ from dotx import __version__, __homepage__
26
26
  from dotx.database import InstallationDB
27
27
  from dotx.install import plan_install
28
28
  from dotx.options import set_option
@@ -31,7 +31,9 @@ from dotx.uninstall import plan_uninstall
31
31
 
32
32
  # Create the Typer app
33
33
  app = typer.Typer(
34
- help="Manage a link farm: (un)install groups of links from source packages."
34
+ help="Manage a link farm: (un)install groups of links from source packages.",
35
+ no_args_is_help=True,
36
+ epilog=f"dotx version {__version__} | {__homepage__}",
35
37
  )
36
38
 
37
39
 
@@ -0,0 +1,23 @@
1
+ -- Database schema for dotx installation tracking
2
+
3
+ -- Track installed files and directories
4
+ CREATE TABLE IF NOT EXISTS installations (
5
+ id INTEGER PRIMARY KEY AUTOINCREMENT,
6
+ package_name TEXT NOT NULL, -- Absolute path to source package
7
+ target_path TEXT NOT NULL UNIQUE, -- Absolute path to installed file (must be unique)
8
+ link_type TEXT NOT NULL, -- 'file', 'directory', 'created_dir'
9
+ installed_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP
10
+ );
11
+
12
+ -- Indexes for efficient queries
13
+ CREATE INDEX IF NOT EXISTS idx_package_name ON installations(package_name);
14
+ -- Note: idx_target_path is redundant with UNIQUE constraint, which creates an index
15
+
16
+ -- Metadata key-value store
17
+ CREATE TABLE IF NOT EXISTS metadata (
18
+ key TEXT PRIMARY KEY,
19
+ value TEXT NOT NULL
20
+ );
21
+
22
+ -- Initialize schema version
23
+ INSERT OR IGNORE INTO metadata (key, value) VALUES ('schema_version', '1');
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: dotx
3
- Version: 2.0.2
3
+ Version: 2.0.4
4
4
  Summary: A command-line tool to install a link-farm to your dotfiles
5
5
  Author-email: Wolf <Wolf@zv.cx>
6
6
  License-Expression: MIT
@@ -1,4 +1,5 @@
1
1
  LICENSE
2
+ MANIFEST.in
2
3
  README.md
3
4
  pyproject.toml
4
5
  src/dotx/__init__.py
@@ -6,6 +7,7 @@ src/dotx/cli.py
6
7
  src/dotx/database.py
7
8
  src/dotx/ignore.py
8
9
  src/dotx/install.py
10
+ src/dotx/installed-schema.sql
9
11
  src/dotx/options.py
10
12
  src/dotx/plan.py
11
13
  src/dotx/uninstall.py
@@ -1,8 +0,0 @@
1
- """dotx - A command-line tool to install a link-farm to your dotfiles."""
2
-
3
- from importlib.metadata import version, PackageNotFoundError
4
-
5
- try:
6
- __version__ = version("dotx")
7
- except PackageNotFoundError:
8
- __version__ = "unknown"
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes