wdsync 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.
- wdsync-0.1.0/.gitignore +11 -0
- wdsync-0.1.0/.pre-commit-config.yaml +19 -0
- wdsync-0.1.0/.wdsync.example +3 -0
- wdsync-0.1.0/CHANGELOG.md +48 -0
- wdsync-0.1.0/LICENSE +676 -0
- wdsync-0.1.0/PKG-INFO +193 -0
- wdsync-0.1.0/README.md +166 -0
- wdsync-0.1.0/SETUP.md +141 -0
- wdsync-0.1.0/docs/DEVELOPER_SETUP.md +149 -0
- wdsync-0.1.0/docs/IN_DEVELOPMENT.md +378 -0
- wdsync-0.1.0/pyproject.toml +100 -0
- wdsync-0.1.0/scripts/bash/wdsync +12 -0
- wdsync-0.1.0/scripts/bash/wdsync-init +12 -0
- wdsync-0.1.0/scripts/fish/wdsync-init.fish +10 -0
- wdsync-0.1.0/scripts/fish/wdsync.fish +10 -0
- wdsync-0.1.0/src/wdsync/__init__.py +3 -0
- wdsync-0.1.0/src/wdsync/__main__.py +4 -0
- wdsync-0.1.0/src/wdsync/cli.py +170 -0
- wdsync-0.1.0/src/wdsync/config.py +156 -0
- wdsync-0.1.0/src/wdsync/doctor.py +106 -0
- wdsync-0.1.0/src/wdsync/exceptions.py +58 -0
- wdsync-0.1.0/src/wdsync/formatters.py +157 -0
- wdsync-0.1.0/src/wdsync/git_dest.py +40 -0
- wdsync-0.1.0/src/wdsync/git_source.py +33 -0
- wdsync-0.1.0/src/wdsync/models.py +188 -0
- wdsync-0.1.0/src/wdsync/path_utils.py +76 -0
- wdsync-0.1.0/src/wdsync/planner.py +46 -0
- wdsync-0.1.0/src/wdsync/runner.py +91 -0
- wdsync-0.1.0/src/wdsync/shell.py +106 -0
- wdsync-0.1.0/src/wdsync/status_parser.py +83 -0
- wdsync-0.1.0/src/wdsync/sync.py +47 -0
- wdsync-0.1.0/tests/conftest.py +83 -0
- wdsync-0.1.0/tests/fixtures/.gitkeep +1 -0
- wdsync-0.1.0/tests/test_cli.py +480 -0
- wdsync-0.1.0/tests/test_config.py +274 -0
- wdsync-0.1.0/tests/test_doctor.py +235 -0
- wdsync-0.1.0/tests/test_formatters.py +141 -0
- wdsync-0.1.0/tests/test_git_dest.py +32 -0
- wdsync-0.1.0/tests/test_git_source.py +41 -0
- wdsync-0.1.0/tests/test_integration.py +95 -0
- wdsync-0.1.0/tests/test_labels.py +20 -0
- wdsync-0.1.0/tests/test_main.py +14 -0
- wdsync-0.1.0/tests/test_path_utils.py +103 -0
- wdsync-0.1.0/tests/test_runner.py +68 -0
- wdsync-0.1.0/tests/test_shell.py +135 -0
- wdsync-0.1.0/tests/test_status_parser.py +60 -0
- wdsync-0.1.0/uv.lock +544 -0
wdsync-0.1.0/.gitignore
ADDED
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
repos:
|
|
2
|
+
- repo: local
|
|
3
|
+
hooks:
|
|
4
|
+
- id: ruff-check
|
|
5
|
+
name: ruff check
|
|
6
|
+
entry: uv run ruff check --fix
|
|
7
|
+
language: system
|
|
8
|
+
files: ^(pyproject\.toml|src/.*\.py|tests/.*\.py)$
|
|
9
|
+
- id: ruff-format
|
|
10
|
+
name: ruff format
|
|
11
|
+
entry: uv run ruff format
|
|
12
|
+
language: system
|
|
13
|
+
files: ^(src/.*\.py|tests/.*\.py)$
|
|
14
|
+
- id: pyright
|
|
15
|
+
name: pyright
|
|
16
|
+
entry: uv run pyright
|
|
17
|
+
language: system
|
|
18
|
+
pass_filenames: false
|
|
19
|
+
files: ^(pyproject\.toml|src/.*\.py|tests/.*\.py)$
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
# Changelog
|
|
2
|
+
|
|
3
|
+
All notable changes to `wdsync` will be documented in this file.
|
|
4
|
+
|
|
5
|
+
The format is based on Keep a Changelog, and this project aims to follow
|
|
6
|
+
Semantic Versioning once formal releases begin.
|
|
7
|
+
|
|
8
|
+
## [0.1.0] - 2026-03-20
|
|
9
|
+
|
|
10
|
+
### Added
|
|
11
|
+
|
|
12
|
+
- Rebuilt `wdsync` as a Python 3.11+ CLI package with a `src/` layout and a
|
|
13
|
+
`wdsync` console entry point.
|
|
14
|
+
- Added Typer-based commands for `preview`, `sync`, `init`, `doctor`, and
|
|
15
|
+
`shell install`.
|
|
16
|
+
- Added `python -m wdsync` support through `__main__.py`.
|
|
17
|
+
- Added `uv`-based project management with dev tooling for Ruff, Pyright, and
|
|
18
|
+
pytest.
|
|
19
|
+
- Added built-in coverage reporting for the default `uv run pytest` workflow
|
|
20
|
+
through `pytest-cov` and `coverage.py` configuration in `pyproject.toml`.
|
|
21
|
+
- Added a repository `.pre-commit-config.yaml` that runs `ruff check --fix`,
|
|
22
|
+
`ruff format`, and `pyright` before commits.
|
|
23
|
+
- Added typed domain models, centralized subprocess execution, structured
|
|
24
|
+
formatters, and JSON output for `preview`, `sync`, and `doctor`.
|
|
25
|
+
- Added optional shell integration for bash, fish, and zsh with auto-detection
|
|
26
|
+
and shell-specific install behavior.
|
|
27
|
+
- Added unit and integration tests covering config loading, status parsing,
|
|
28
|
+
planner behavior, CLI dispatch, sync execution, and doctor checks.
|
|
29
|
+
|
|
30
|
+
### Changed
|
|
31
|
+
|
|
32
|
+
- Moved the core implementation out of shell scripts and into a modular Python
|
|
33
|
+
package.
|
|
34
|
+
- Made the CLI binary-first and shell-agnostic for normal usage.
|
|
35
|
+
- Updated the project workflow to use `uv sync --dev`, `uv run pytest`,
|
|
36
|
+
`uv run ruff check .`, and `uv run pyright`.
|
|
37
|
+
- Updated repository documentation to reflect the Python CLI baseline and the
|
|
38
|
+
v1 feature set.
|
|
39
|
+
|
|
40
|
+
### Fixed
|
|
41
|
+
|
|
42
|
+
- Corrected Git porcelain v1 `-z` rename and copy parsing.
|
|
43
|
+
- Expanded untracked directories to leaf files by reading source status with
|
|
44
|
+
`--untracked-files=all`.
|
|
45
|
+
- Prevented deleted source files from breaking sync by previewing them but
|
|
46
|
+
skipping them during `rsync`.
|
|
47
|
+
- Preserved the low-friction `.wdsync` workflow while making the internal
|
|
48
|
+
implementation typed, testable, and modular.
|