jrl-cmakemodules-scripts 2.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,99 @@
1
+ Metadata-Version: 2.4
2
+ Name: jrl-cmakemodules-scripts
3
+ Version: 2.0.0
4
+ Summary: Release scripting tools for JRL CMake modules
5
+ License: BSD-3-Clause
6
+ Project-URL: homepage, https://github.com/jrl-umi3218/jrl-cmakemodules
7
+ Requires-Python: >=3.10
8
+ Description-Content-Type: text/markdown
9
+ Requires-Dist: tomlkit>=0.11.0
10
+ Requires-Dist: ruamel.yaml>=0.17.0
11
+ Requires-Dist: rich>=12.0.0
12
+ Requires-Dist: packaging>=21.0
13
+ Requires-Dist: cmake-parser>=0.1.0
14
+ Provides-Extra: test
15
+ Requires-Dist: pytest>=8.0.0; extra == "test"
16
+ Requires-Dist: pytest-cov>=5.0.0; extra == "test"
17
+ Requires-Dist: pytest-mock>=3.12.0; extra == "test"
18
+
19
+ # jrl_release.py
20
+
21
+ Version management script for multi-format projects. Keeps version strings in sync across all tracked files and automates the release process.
22
+
23
+ ## Usage
24
+
25
+ The tool can be invoked two equivalent ways:
26
+
27
+ ```bash
28
+ # Installed console command — after `pip install .` / `uv tool install .`, or inside `uv run`
29
+ jrl-release [OPTIONS]
30
+
31
+ # Standalone, no install — runs the script directly via uv (PEP 723 inline deps)
32
+ uv run --no-project jrl_release.py [OPTIONS]
33
+ ```
34
+
35
+ > The standalone form requires [`uv`](https://docs.astral.sh/uv/); it auto-installs dependencies from the script's inline metadata.
36
+
37
+ The examples below use the installed `jrl-release` form. If you haven't installed it, prefix-swap `jrl-release` → `uv run --no-project jrl_release.py`.
38
+
39
+ ## Common Commands
40
+
41
+ ```bash
42
+ # Check that all files agree on the current version
43
+ jrl-release --check-version
44
+
45
+ # Bump version
46
+ jrl-release --bump patch # 1.0.0 -> 1.0.1
47
+ jrl-release --bump minor # 1.0.0 -> 1.1.0
48
+ jrl-release --bump major # 1.0.0 -> 2.0.0
49
+
50
+ # Set a specific version
51
+ jrl-release --update-version 1.2.3
52
+
53
+ # Bump, commit and tag in one step
54
+ jrl-release --bump patch --git-commit --git-tag
55
+ ```
56
+
57
+ ## Options
58
+
59
+ | Option | Description |
60
+ | :--- | :--- |
61
+ | `--root <PATH>` | Project root (default: cwd). |
62
+ | `--bump <major\|minor\|patch>` | Bump version component. |
63
+ | `--update-version <X.Y.Z>` | Set a specific version. |
64
+ | `--dry-run` | Show changes without writing files. |
65
+ | `--short` | Print only the version string. |
66
+ | `--output-format <text\|json>` | Output format (default: text). |
67
+ | `--confirm` | Skip interactive prompts. |
68
+ | `--list-files` | List tracked files. |
69
+ | `--git-commit [MSG]` | Commit changes. Optional message (`{version}` placeholder). |
70
+ | `--git-tag [NAME]` | Create a tag. Optional name (`{version}` placeholder). |
71
+ | `--git-tag-message <MSG>` | Tag annotation (`{version}` placeholder). |
72
+
73
+ **Git defaults**: commit `chore: bump version to {version}`, tag `v{version}`, tag message `Release version {version}`.
74
+
75
+ ## Supported Files
76
+
77
+ | File | Key |
78
+ | :--- | :--- |
79
+ | `package.xml` | `<version>` tag |
80
+ | `pyproject.toml` | `project.version` |
81
+ | `CHANGELOG.md` | First `## [X.Y.Z]` section (not Unreleased) |
82
+ | `pixi.toml` | `[workspace] version` |
83
+ | `pixi.lock` | Regenerated via `pixi list` |
84
+ | `CITATION.cff` | `version` key |
85
+ | `CMakeLists.txt` | `project(... VERSION X.Y.Z ...)` |
86
+
87
+ > Requires `pixi` CLI if `pixi.lock` exists in the project root.
88
+
89
+ ## Testing
90
+
91
+ The unit tests live in [`test_jrl_release.py`](test_jrl_release.py) and can be run two ways:
92
+
93
+ ```bash
94
+ # Standalone (PEP 723 inline metadata, no install needed)
95
+ uv run --no-project test_jrl_release.py
96
+
97
+ # Via the project's test extra (from the repo root)
98
+ uv run --extra test pytest
99
+ ```
@@ -0,0 +1,81 @@
1
+ # jrl_release.py
2
+
3
+ Version management script for multi-format projects. Keeps version strings in sync across all tracked files and automates the release process.
4
+
5
+ ## Usage
6
+
7
+ The tool can be invoked two equivalent ways:
8
+
9
+ ```bash
10
+ # Installed console command — after `pip install .` / `uv tool install .`, or inside `uv run`
11
+ jrl-release [OPTIONS]
12
+
13
+ # Standalone, no install — runs the script directly via uv (PEP 723 inline deps)
14
+ uv run --no-project jrl_release.py [OPTIONS]
15
+ ```
16
+
17
+ > The standalone form requires [`uv`](https://docs.astral.sh/uv/); it auto-installs dependencies from the script's inline metadata.
18
+
19
+ The examples below use the installed `jrl-release` form. If you haven't installed it, prefix-swap `jrl-release` → `uv run --no-project jrl_release.py`.
20
+
21
+ ## Common Commands
22
+
23
+ ```bash
24
+ # Check that all files agree on the current version
25
+ jrl-release --check-version
26
+
27
+ # Bump version
28
+ jrl-release --bump patch # 1.0.0 -> 1.0.1
29
+ jrl-release --bump minor # 1.0.0 -> 1.1.0
30
+ jrl-release --bump major # 1.0.0 -> 2.0.0
31
+
32
+ # Set a specific version
33
+ jrl-release --update-version 1.2.3
34
+
35
+ # Bump, commit and tag in one step
36
+ jrl-release --bump patch --git-commit --git-tag
37
+ ```
38
+
39
+ ## Options
40
+
41
+ | Option | Description |
42
+ | :--- | :--- |
43
+ | `--root <PATH>` | Project root (default: cwd). |
44
+ | `--bump <major\|minor\|patch>` | Bump version component. |
45
+ | `--update-version <X.Y.Z>` | Set a specific version. |
46
+ | `--dry-run` | Show changes without writing files. |
47
+ | `--short` | Print only the version string. |
48
+ | `--output-format <text\|json>` | Output format (default: text). |
49
+ | `--confirm` | Skip interactive prompts. |
50
+ | `--list-files` | List tracked files. |
51
+ | `--git-commit [MSG]` | Commit changes. Optional message (`{version}` placeholder). |
52
+ | `--git-tag [NAME]` | Create a tag. Optional name (`{version}` placeholder). |
53
+ | `--git-tag-message <MSG>` | Tag annotation (`{version}` placeholder). |
54
+
55
+ **Git defaults**: commit `chore: bump version to {version}`, tag `v{version}`, tag message `Release version {version}`.
56
+
57
+ ## Supported Files
58
+
59
+ | File | Key |
60
+ | :--- | :--- |
61
+ | `package.xml` | `<version>` tag |
62
+ | `pyproject.toml` | `project.version` |
63
+ | `CHANGELOG.md` | First `## [X.Y.Z]` section (not Unreleased) |
64
+ | `pixi.toml` | `[workspace] version` |
65
+ | `pixi.lock` | Regenerated via `pixi list` |
66
+ | `CITATION.cff` | `version` key |
67
+ | `CMakeLists.txt` | `project(... VERSION X.Y.Z ...)` |
68
+
69
+ > Requires `pixi` CLI if `pixi.lock` exists in the project root.
70
+
71
+ ## Testing
72
+
73
+ The unit tests live in [`test_jrl_release.py`](test_jrl_release.py) and can be run two ways:
74
+
75
+ ```bash
76
+ # Standalone (PEP 723 inline metadata, no install needed)
77
+ uv run --no-project test_jrl_release.py
78
+
79
+ # Via the project's test extra (from the repo root)
80
+ uv run --extra test pytest
81
+ ```
@@ -0,0 +1,99 @@
1
+ Metadata-Version: 2.4
2
+ Name: jrl-cmakemodules-scripts
3
+ Version: 2.0.0
4
+ Summary: Release scripting tools for JRL CMake modules
5
+ License: BSD-3-Clause
6
+ Project-URL: homepage, https://github.com/jrl-umi3218/jrl-cmakemodules
7
+ Requires-Python: >=3.10
8
+ Description-Content-Type: text/markdown
9
+ Requires-Dist: tomlkit>=0.11.0
10
+ Requires-Dist: ruamel.yaml>=0.17.0
11
+ Requires-Dist: rich>=12.0.0
12
+ Requires-Dist: packaging>=21.0
13
+ Requires-Dist: cmake-parser>=0.1.0
14
+ Provides-Extra: test
15
+ Requires-Dist: pytest>=8.0.0; extra == "test"
16
+ Requires-Dist: pytest-cov>=5.0.0; extra == "test"
17
+ Requires-Dist: pytest-mock>=3.12.0; extra == "test"
18
+
19
+ # jrl_release.py
20
+
21
+ Version management script for multi-format projects. Keeps version strings in sync across all tracked files and automates the release process.
22
+
23
+ ## Usage
24
+
25
+ The tool can be invoked two equivalent ways:
26
+
27
+ ```bash
28
+ # Installed console command — after `pip install .` / `uv tool install .`, or inside `uv run`
29
+ jrl-release [OPTIONS]
30
+
31
+ # Standalone, no install — runs the script directly via uv (PEP 723 inline deps)
32
+ uv run --no-project jrl_release.py [OPTIONS]
33
+ ```
34
+
35
+ > The standalone form requires [`uv`](https://docs.astral.sh/uv/); it auto-installs dependencies from the script's inline metadata.
36
+
37
+ The examples below use the installed `jrl-release` form. If you haven't installed it, prefix-swap `jrl-release` → `uv run --no-project jrl_release.py`.
38
+
39
+ ## Common Commands
40
+
41
+ ```bash
42
+ # Check that all files agree on the current version
43
+ jrl-release --check-version
44
+
45
+ # Bump version
46
+ jrl-release --bump patch # 1.0.0 -> 1.0.1
47
+ jrl-release --bump minor # 1.0.0 -> 1.1.0
48
+ jrl-release --bump major # 1.0.0 -> 2.0.0
49
+
50
+ # Set a specific version
51
+ jrl-release --update-version 1.2.3
52
+
53
+ # Bump, commit and tag in one step
54
+ jrl-release --bump patch --git-commit --git-tag
55
+ ```
56
+
57
+ ## Options
58
+
59
+ | Option | Description |
60
+ | :--- | :--- |
61
+ | `--root <PATH>` | Project root (default: cwd). |
62
+ | `--bump <major\|minor\|patch>` | Bump version component. |
63
+ | `--update-version <X.Y.Z>` | Set a specific version. |
64
+ | `--dry-run` | Show changes without writing files. |
65
+ | `--short` | Print only the version string. |
66
+ | `--output-format <text\|json>` | Output format (default: text). |
67
+ | `--confirm` | Skip interactive prompts. |
68
+ | `--list-files` | List tracked files. |
69
+ | `--git-commit [MSG]` | Commit changes. Optional message (`{version}` placeholder). |
70
+ | `--git-tag [NAME]` | Create a tag. Optional name (`{version}` placeholder). |
71
+ | `--git-tag-message <MSG>` | Tag annotation (`{version}` placeholder). |
72
+
73
+ **Git defaults**: commit `chore: bump version to {version}`, tag `v{version}`, tag message `Release version {version}`.
74
+
75
+ ## Supported Files
76
+
77
+ | File | Key |
78
+ | :--- | :--- |
79
+ | `package.xml` | `<version>` tag |
80
+ | `pyproject.toml` | `project.version` |
81
+ | `CHANGELOG.md` | First `## [X.Y.Z]` section (not Unreleased) |
82
+ | `pixi.toml` | `[workspace] version` |
83
+ | `pixi.lock` | Regenerated via `pixi list` |
84
+ | `CITATION.cff` | `version` key |
85
+ | `CMakeLists.txt` | `project(... VERSION X.Y.Z ...)` |
86
+
87
+ > Requires `pixi` CLI if `pixi.lock` exists in the project root.
88
+
89
+ ## Testing
90
+
91
+ The unit tests live in [`test_jrl_release.py`](test_jrl_release.py) and can be run two ways:
92
+
93
+ ```bash
94
+ # Standalone (PEP 723 inline metadata, no install needed)
95
+ uv run --no-project test_jrl_release.py
96
+
97
+ # Via the project's test extra (from the repo root)
98
+ uv run --extra test pytest
99
+ ```
@@ -0,0 +1,10 @@
1
+ README.md
2
+ jrl_release.py
3
+ pyproject.toml
4
+ ./jrl_release.py
5
+ jrl_cmakemodules_scripts.egg-info/PKG-INFO
6
+ jrl_cmakemodules_scripts.egg-info/SOURCES.txt
7
+ jrl_cmakemodules_scripts.egg-info/dependency_links.txt
8
+ jrl_cmakemodules_scripts.egg-info/entry_points.txt
9
+ jrl_cmakemodules_scripts.egg-info/requires.txt
10
+ jrl_cmakemodules_scripts.egg-info/top_level.txt
@@ -0,0 +1,2 @@
1
+ [console_scripts]
2
+ jrl-release = jrl_release:main
@@ -0,0 +1,10 @@
1
+ tomlkit>=0.11.0
2
+ ruamel.yaml>=0.17.0
3
+ rich>=12.0.0
4
+ packaging>=21.0
5
+ cmake-parser>=0.1.0
6
+
7
+ [test]
8
+ pytest>=8.0.0
9
+ pytest-cov>=5.0.0
10
+ pytest-mock>=3.12.0