grove-wt 0.5.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.
- grove_wt-0.5.0/PKG-INFO +79 -0
- grove_wt-0.5.0/README.md +53 -0
- grove_wt-0.5.0/pyproject.toml +47 -0
- grove_wt-0.5.0/setup.cfg +4 -0
- grove_wt-0.5.0/src/grove/__init__.py +11 -0
- grove_wt-0.5.0/src/grove/__main__.py +6 -0
- grove_wt-0.5.0/src/grove/cli/__init__.py +1 -0
- grove_wt-0.5.0/src/grove/cli/main.py +1305 -0
- grove_wt-0.5.0/src/grove/cli/output.py +101 -0
- grove_wt-0.5.0/src/grove/core/__init__.py +1 -0
- grove_wt-0.5.0/src/grove/core/blockedit.py +179 -0
- grove_wt-0.5.0/src/grove/core/compare.py +96 -0
- grove_wt-0.5.0/src/grove/core/config.py +269 -0
- grove_wt-0.5.0/src/grove/core/create.py +104 -0
- grove_wt-0.5.0/src/grove/core/doctor.py +197 -0
- grove_wt-0.5.0/src/grove/core/errors.py +27 -0
- grove_wt-0.5.0/src/grove/core/gitidentity.py +171 -0
- grove_wt-0.5.0/src/grove/core/gitrunner.py +81 -0
- grove_wt-0.5.0/src/grove/core/model.py +122 -0
- grove_wt-0.5.0/src/grove/core/naming.py +70 -0
- grove_wt-0.5.0/src/grove/core/ops.py +109 -0
- grove_wt-0.5.0/src/grove/core/patch.py +77 -0
- grove_wt-0.5.0/src/grove/core/platform.py +144 -0
- grove_wt-0.5.0/src/grove/core/publish.py +122 -0
- grove_wt-0.5.0/src/grove/core/remove.py +143 -0
- grove_wt-0.5.0/src/grove/core/repo.py +33 -0
- grove_wt-0.5.0/src/grove/core/setup.py +90 -0
- grove_wt-0.5.0/src/grove/core/sshalias.py +67 -0
- grove_wt-0.5.0/src/grove/core/sshcheck.py +230 -0
- grove_wt-0.5.0/src/grove/core/sshdoctor.py +189 -0
- grove_wt-0.5.0/src/grove/core/sshprov.py +335 -0
- grove_wt-0.5.0/src/grove/core/sync.py +50 -0
- grove_wt-0.5.0/src/grove/core/track.py +94 -0
- grove_wt-0.5.0/src/grove/mcp/__init__.py +5 -0
- grove_wt-0.5.0/src/grove/mcp/__main__.py +6 -0
- grove_wt-0.5.0/src/grove/mcp/_ops.py +508 -0
- grove_wt-0.5.0/src/grove/mcp/server.py +265 -0
- grove_wt-0.5.0/src/grove_wt.egg-info/PKG-INFO +79 -0
- grove_wt-0.5.0/src/grove_wt.egg-info/SOURCES.txt +54 -0
- grove_wt-0.5.0/src/grove_wt.egg-info/dependency_links.txt +1 -0
- grove_wt-0.5.0/src/grove_wt.egg-info/entry_points.txt +3 -0
- grove_wt-0.5.0/src/grove_wt.egg-info/requires.txt +6 -0
- grove_wt-0.5.0/src/grove_wt.egg-info/top_level.txt +1 -0
- grove_wt-0.5.0/tests/test_blockedit.py +85 -0
- grove_wt-0.5.0/tests/test_compare.py +19 -0
- grove_wt-0.5.0/tests/test_config.py +56 -0
- grove_wt-0.5.0/tests/test_integration.py +198 -0
- grove_wt-0.5.0/tests/test_mcp_ops.py +145 -0
- grove_wt-0.5.0/tests/test_mcp_schema.py +53 -0
- grove_wt-0.5.0/tests/test_naming.py +56 -0
- grove_wt-0.5.0/tests/test_platform.py +61 -0
- grove_wt-0.5.0/tests/test_ssh_cli.py +64 -0
- grove_wt-0.5.0/tests/test_sshalias.py +30 -0
- grove_wt-0.5.0/tests/test_sshdoctor.py +120 -0
- grove_wt-0.5.0/tests/test_sshprov.py +125 -0
- grove_wt-0.5.0/tests/test_sshprov_add.py +128 -0
grove_wt-0.5.0/PKG-INFO
ADDED
|
@@ -0,0 +1,79 @@
|
|
|
1
|
+
Metadata-Version: 2.4
|
|
2
|
+
Name: grove-wt
|
|
3
|
+
Version: 0.5.0
|
|
4
|
+
Summary: Manage git worktrees with a consistent convention and structure (gwt command)
|
|
5
|
+
Author: Victor Ney
|
|
6
|
+
License: GPL-3.0-or-later
|
|
7
|
+
Project-URL: Homepage, https://github.com/N3Y70R/grove
|
|
8
|
+
Project-URL: Repository, https://github.com/N3Y70R/grove
|
|
9
|
+
Project-URL: Documentation, https://github.com/N3Y70R/grove/tree/main/docs
|
|
10
|
+
Keywords: git,worktree,cli,git-worktree,branches
|
|
11
|
+
Classifier: Development Status :: 3 - Alpha
|
|
12
|
+
Classifier: Environment :: Console
|
|
13
|
+
Classifier: Intended Audience :: Developers
|
|
14
|
+
Classifier: License :: OSI Approved :: GNU General Public License v3 or later (GPLv3+)
|
|
15
|
+
Classifier: Operating System :: OS Independent
|
|
16
|
+
Classifier: Programming Language :: Python :: 3
|
|
17
|
+
Classifier: Programming Language :: Python :: 3.11
|
|
18
|
+
Classifier: Programming Language :: Python :: 3.12
|
|
19
|
+
Classifier: Topic :: Software Development :: Version Control :: Git
|
|
20
|
+
Requires-Python: >=3.11
|
|
21
|
+
Description-Content-Type: text/markdown
|
|
22
|
+
Provides-Extra: test
|
|
23
|
+
Requires-Dist: pytest>=7; extra == "test"
|
|
24
|
+
Provides-Extra: mcp
|
|
25
|
+
Requires-Dist: mcp>=1.2; extra == "mcp"
|
|
26
|
+
|
|
27
|
+
# grove — Python implementation
|
|
28
|
+
|
|
29
|
+
Reference implementation of **grove** (the `gwt` command). Standard library only; requires **Python 3.11+** (uses `tomllib`).
|
|
30
|
+
|
|
31
|
+
To learn how to use the tool, see the shared documentation in [`../docs/`](../docs/); for the design, see [`../spec/specification.md`](../spec/specification.md). This README covers only what's specific to the Python implementation.
|
|
32
|
+
|
|
33
|
+
## Installation
|
|
34
|
+
|
|
35
|
+
The PyPI/distribution name is **`grove-wt`** (the name `grove` was taken); the
|
|
36
|
+
imported package and commands are still `grove`, `gwt` and `grove-mcp`.
|
|
37
|
+
|
|
38
|
+
With [pipx](https://pipx.pypa.io/) (recommended):
|
|
39
|
+
|
|
40
|
+
```
|
|
41
|
+
# from PyPI
|
|
42
|
+
pipx install grove-wt # or: grove-wt[mcp] for the MCP server
|
|
43
|
+
|
|
44
|
+
# from the repo folder
|
|
45
|
+
pipx install ./python
|
|
46
|
+
|
|
47
|
+
# from git, pointing at the subdirectory
|
|
48
|
+
pipx install "grove-wt[mcp] @ git+https://github.com/N3Y70R/grove.git#subdirectory=python"
|
|
49
|
+
```
|
|
50
|
+
|
|
51
|
+
Verify with `gwt --version`. Update with `pipx upgrade grove-wt`. Full guide
|
|
52
|
+
(other systems, updating, troubleshooting) in [`../docs/INSTALL.md`](../docs/INSTALL.md).
|
|
53
|
+
|
|
54
|
+
Development (editable):
|
|
55
|
+
|
|
56
|
+
```
|
|
57
|
+
cd python
|
|
58
|
+
python3 -m venv .venv && source .venv/bin/activate
|
|
59
|
+
pip install -e .
|
|
60
|
+
```
|
|
61
|
+
|
|
62
|
+
## Building the wheel
|
|
63
|
+
|
|
64
|
+
```
|
|
65
|
+
cd python
|
|
66
|
+
python3 -m pip install --upgrade build
|
|
67
|
+
python3 -m build --wheel # produces dist/grove-<version>-py3-none-any.whl
|
|
68
|
+
```
|
|
69
|
+
|
|
70
|
+
The wheel is universal (`py3-none-any`): it works on Windows, macOS and Linux.
|
|
71
|
+
|
|
72
|
+
## Architecture
|
|
73
|
+
|
|
74
|
+
- `src/grove/core/`: reusable logic (convention, validations, git). Designed so a future MCP facade can import it directly.
|
|
75
|
+
- `src/grove/cli/`: command-line facade (argparse + presentation).
|
|
76
|
+
|
|
77
|
+
## Version
|
|
78
|
+
|
|
79
|
+
The version lives in `pyproject.toml`. Releases tagged `python/vX.Y.Z`.
|
grove_wt-0.5.0/README.md
ADDED
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
# grove — Python implementation
|
|
2
|
+
|
|
3
|
+
Reference implementation of **grove** (the `gwt` command). Standard library only; requires **Python 3.11+** (uses `tomllib`).
|
|
4
|
+
|
|
5
|
+
To learn how to use the tool, see the shared documentation in [`../docs/`](../docs/); for the design, see [`../spec/specification.md`](../spec/specification.md). This README covers only what's specific to the Python implementation.
|
|
6
|
+
|
|
7
|
+
## Installation
|
|
8
|
+
|
|
9
|
+
The PyPI/distribution name is **`grove-wt`** (the name `grove` was taken); the
|
|
10
|
+
imported package and commands are still `grove`, `gwt` and `grove-mcp`.
|
|
11
|
+
|
|
12
|
+
With [pipx](https://pipx.pypa.io/) (recommended):
|
|
13
|
+
|
|
14
|
+
```
|
|
15
|
+
# from PyPI
|
|
16
|
+
pipx install grove-wt # or: grove-wt[mcp] for the MCP server
|
|
17
|
+
|
|
18
|
+
# from the repo folder
|
|
19
|
+
pipx install ./python
|
|
20
|
+
|
|
21
|
+
# from git, pointing at the subdirectory
|
|
22
|
+
pipx install "grove-wt[mcp] @ git+https://github.com/N3Y70R/grove.git#subdirectory=python"
|
|
23
|
+
```
|
|
24
|
+
|
|
25
|
+
Verify with `gwt --version`. Update with `pipx upgrade grove-wt`. Full guide
|
|
26
|
+
(other systems, updating, troubleshooting) in [`../docs/INSTALL.md`](../docs/INSTALL.md).
|
|
27
|
+
|
|
28
|
+
Development (editable):
|
|
29
|
+
|
|
30
|
+
```
|
|
31
|
+
cd python
|
|
32
|
+
python3 -m venv .venv && source .venv/bin/activate
|
|
33
|
+
pip install -e .
|
|
34
|
+
```
|
|
35
|
+
|
|
36
|
+
## Building the wheel
|
|
37
|
+
|
|
38
|
+
```
|
|
39
|
+
cd python
|
|
40
|
+
python3 -m pip install --upgrade build
|
|
41
|
+
python3 -m build --wheel # produces dist/grove-<version>-py3-none-any.whl
|
|
42
|
+
```
|
|
43
|
+
|
|
44
|
+
The wheel is universal (`py3-none-any`): it works on Windows, macOS and Linux.
|
|
45
|
+
|
|
46
|
+
## Architecture
|
|
47
|
+
|
|
48
|
+
- `src/grove/core/`: reusable logic (convention, validations, git). Designed so a future MCP facade can import it directly.
|
|
49
|
+
- `src/grove/cli/`: command-line facade (argparse + presentation).
|
|
50
|
+
|
|
51
|
+
## Version
|
|
52
|
+
|
|
53
|
+
The version lives in `pyproject.toml`. Releases tagged `python/vX.Y.Z`.
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
[build-system]
|
|
2
|
+
requires = ["setuptools>=61"]
|
|
3
|
+
build-backend = "setuptools.build_meta"
|
|
4
|
+
|
|
5
|
+
[project]
|
|
6
|
+
# Distribution name on PyPI ("grove" was already taken). The imported package is
|
|
7
|
+
# still `grove` and the commands are still `gwt` and `grove-mcp`.
|
|
8
|
+
name = "grove-wt"
|
|
9
|
+
version = "0.5.0"
|
|
10
|
+
description = "Manage git worktrees with a consistent convention and structure (gwt command)"
|
|
11
|
+
readme = "README.md"
|
|
12
|
+
requires-python = ">=3.11"
|
|
13
|
+
license = { text = "GPL-3.0-or-later" }
|
|
14
|
+
authors = [{ name = "Victor Ney" }]
|
|
15
|
+
keywords = ["git", "worktree", "cli", "git-worktree", "branches"]
|
|
16
|
+
dependencies = [] # standard library only
|
|
17
|
+
classifiers = [
|
|
18
|
+
"Development Status :: 3 - Alpha",
|
|
19
|
+
"Environment :: Console",
|
|
20
|
+
"Intended Audience :: Developers",
|
|
21
|
+
"License :: OSI Approved :: GNU General Public License v3 or later (GPLv3+)",
|
|
22
|
+
"Operating System :: OS Independent",
|
|
23
|
+
"Programming Language :: Python :: 3",
|
|
24
|
+
"Programming Language :: Python :: 3.11",
|
|
25
|
+
"Programming Language :: Python :: 3.12",
|
|
26
|
+
"Topic :: Software Development :: Version Control :: Git",
|
|
27
|
+
]
|
|
28
|
+
|
|
29
|
+
[project.optional-dependencies]
|
|
30
|
+
test = ["pytest>=7"]
|
|
31
|
+
mcp = ["mcp>=1.2"]
|
|
32
|
+
|
|
33
|
+
[project.urls]
|
|
34
|
+
Homepage = "https://github.com/N3Y70R/grove"
|
|
35
|
+
Repository = "https://github.com/N3Y70R/grove"
|
|
36
|
+
Documentation = "https://github.com/N3Y70R/grove/tree/main/docs"
|
|
37
|
+
|
|
38
|
+
[project.scripts]
|
|
39
|
+
gwt = "grove.cli.main:main"
|
|
40
|
+
grove-mcp = "grove.mcp.server:main"
|
|
41
|
+
|
|
42
|
+
[tool.setuptools.packages.find]
|
|
43
|
+
where = ["src"]
|
|
44
|
+
|
|
45
|
+
[tool.pytest.ini_options]
|
|
46
|
+
testpaths = ["tests"]
|
|
47
|
+
pythonpath = ["src"]
|
grove_wt-0.5.0/setup.cfg
ADDED
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
"""grove: git worktree management with a consistent convention.
|
|
2
|
+
|
|
3
|
+
Command: gwt
|
|
4
|
+
|
|
5
|
+
Structure:
|
|
6
|
+
grove.core -> reusable logic (shared by the facades)
|
|
7
|
+
grove.cli -> command-line facade (gwt)
|
|
8
|
+
grove.mcp -> MCP server facade (grove-mcp)
|
|
9
|
+
"""
|
|
10
|
+
|
|
11
|
+
__version__ = "0.5.0"
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"""Command-line facade of wt."""
|