asher-cli 0.0.1__tar.gz → 0.0.2__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.
- asher_cli-0.0.2/.github/workflows/release.yml +60 -0
- {asher_cli-0.0.1 → asher_cli-0.0.2}/PKG-INFO +39 -1
- {asher_cli-0.0.1 → asher_cli-0.0.2}/README.md +38 -0
- {asher_cli-0.0.1 → asher_cli-0.0.2}/pyproject.toml +2 -2
- asher_cli-0.0.1/.github/workflows/release.yml +0 -36
- {asher_cli-0.0.1 → asher_cli-0.0.2}/.claude/skills/textual/SKILL.md +0 -0
- {asher_cli-0.0.1 → asher_cli-0.0.2}/.githooks/pre-push +0 -0
- {asher_cli-0.0.1 → asher_cli-0.0.2}/.github/workflows/ci.yml +0 -0
- {asher_cli-0.0.1 → asher_cli-0.0.2}/.gitignore +0 -0
- {asher_cli-0.0.1 → asher_cli-0.0.2}/.vscode/launch.json +0 -0
- {asher_cli-0.0.1 → asher_cli-0.0.2}/.vscode/settings.json +0 -0
- {asher_cli-0.0.1 → asher_cli-0.0.2}/.vscode/tasks.json +0 -0
- {asher_cli-0.0.1 → asher_cli-0.0.2}/CLAUDE.md +0 -0
- {asher_cli-0.0.1 → asher_cli-0.0.2}/LICENSE +0 -0
- {asher_cli-0.0.1 → asher_cli-0.0.2}/ROADMAP.md +0 -0
- {asher_cli-0.0.1 → asher_cli-0.0.2}/app.py +0 -0
- {asher_cli-0.0.1 → asher_cli-0.0.2}/asher/__init__.py +0 -0
- {asher_cli-0.0.1 → asher_cli-0.0.2}/asher/__main__.py +0 -0
- {asher_cli-0.0.1 → asher_cli-0.0.2}/asher/app.py +0 -0
- {asher_cli-0.0.1 → asher_cli-0.0.2}/asher/auth.py +0 -0
- {asher_cli-0.0.1 → asher_cli-0.0.2}/asher/cats.py +0 -0
- {asher_cli-0.0.1 → asher_cli-0.0.2}/asher/commands/__init__.py +0 -0
- {asher_cli-0.0.1 → asher_cli-0.0.2}/asher/connection/__init__.py +0 -0
- {asher_cli-0.0.1 → asher_cli-0.0.2}/asher/helpers.py +0 -0
- {asher_cli-0.0.1 → asher_cli-0.0.2}/asher/monitoring/__init__.py +0 -0
- {asher_cli-0.0.1 → asher_cli-0.0.2}/asher/slash-commands/__init__.py +0 -0
- {asher_cli-0.0.1 → asher_cli-0.0.2}/asher/ui/__init__.py +0 -0
- {asher_cli-0.0.1 → asher_cli-0.0.2}/requirements.txt +0 -0
- {asher_cli-0.0.1 → asher_cli-0.0.2}/test.py +0 -0
- {asher_cli-0.0.1 → asher_cli-0.0.2}/tests/__init__.py +0 -0
- {asher_cli-0.0.1 → asher_cli-0.0.2}/tests/conftest.py +0 -0
- {asher_cli-0.0.1 → asher_cli-0.0.2}/tests/testhelpers.py +0 -0
- {asher_cli-0.0.1 → asher_cli-0.0.2}/uv.lock +0 -0
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
name: Release
|
|
2
|
+
|
|
3
|
+
on:
|
|
4
|
+
push:
|
|
5
|
+
branches:
|
|
6
|
+
- "release/*"
|
|
7
|
+
|
|
8
|
+
permissions:
|
|
9
|
+
contents: write # needed to create GitHub Releases
|
|
10
|
+
id-token: write # needed for PyPI OIDC trusted publishing
|
|
11
|
+
|
|
12
|
+
jobs:
|
|
13
|
+
build:
|
|
14
|
+
name: Build distribution
|
|
15
|
+
runs-on: ubuntu-latest
|
|
16
|
+
outputs:
|
|
17
|
+
version: ${{ steps.version.outputs.version }}
|
|
18
|
+
steps:
|
|
19
|
+
- uses: actions/checkout@v4
|
|
20
|
+
- name: Extract version from branch name
|
|
21
|
+
id: version
|
|
22
|
+
run: echo "version=${GITHUB_REF_NAME#release/}" >> "$GITHUB_OUTPUT"
|
|
23
|
+
- uses: astral-sh/setup-uv@v3
|
|
24
|
+
- run: uv build
|
|
25
|
+
- uses: actions/upload-artifact@v4
|
|
26
|
+
with:
|
|
27
|
+
name: dist
|
|
28
|
+
path: dist/
|
|
29
|
+
|
|
30
|
+
publish:
|
|
31
|
+
name: Publish to PyPI
|
|
32
|
+
needs: build
|
|
33
|
+
runs-on: ubuntu-latest
|
|
34
|
+
environment: pypi
|
|
35
|
+
steps:
|
|
36
|
+
- uses: actions/download-artifact@v4
|
|
37
|
+
with:
|
|
38
|
+
name: dist
|
|
39
|
+
path: dist/
|
|
40
|
+
- uses: pypa/gh-action-pypi-publish@release/v1
|
|
41
|
+
|
|
42
|
+
github-release:
|
|
43
|
+
name: Create GitHub Release
|
|
44
|
+
needs: [build, publish]
|
|
45
|
+
runs-on: ubuntu-latest
|
|
46
|
+
steps:
|
|
47
|
+
- uses: actions/checkout@v4
|
|
48
|
+
- uses: actions/download-artifact@v4
|
|
49
|
+
with:
|
|
50
|
+
name: dist
|
|
51
|
+
path: dist/
|
|
52
|
+
- name: Create release
|
|
53
|
+
env:
|
|
54
|
+
GH_TOKEN: ${{ github.token }}
|
|
55
|
+
VERSION: ${{ needs.build.outputs.version }}
|
|
56
|
+
run: |
|
|
57
|
+
gh release create "v${VERSION}" dist/* \
|
|
58
|
+
--title "v${VERSION}" \
|
|
59
|
+
--generate-notes \
|
|
60
|
+
--verify-tag=false
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: asher-cli
|
|
3
|
-
Version: 0.0.
|
|
3
|
+
Version: 0.0.2
|
|
4
4
|
Summary: Terminal dashboard for Litter Robot (LR3/LR4/LR5) via the Whisker cloud API
|
|
5
5
|
License: MIT License
|
|
6
6
|
|
|
@@ -60,6 +60,15 @@ A Claude Code-style terminal dashboard for monitoring and controlling Litter Rob
|
|
|
60
60
|
|
|
61
61
|
## Install
|
|
62
62
|
|
|
63
|
+
```bash
|
|
64
|
+
pipx install asher-cli
|
|
65
|
+
asher
|
|
66
|
+
```
|
|
67
|
+
|
|
68
|
+
`pipx` installs the CLI into an isolated environment and puts `asher` on your PATH automatically. Install `pipx` with `pip install pipx` if you don't have it.
|
|
69
|
+
|
|
70
|
+
Or with plain pip (ensure Python's `Scripts` folder is on your PATH):
|
|
71
|
+
|
|
63
72
|
```bash
|
|
64
73
|
pip install asher-cli
|
|
65
74
|
asher
|
|
@@ -141,6 +150,35 @@ git checkout -b release/0.0.2
|
|
|
141
150
|
git push origin release/0.0.2
|
|
142
151
|
```
|
|
143
152
|
|
|
153
|
+
## Troubleshooting
|
|
154
|
+
|
|
155
|
+
**`asher` not found after `pip install asher-cli`**
|
|
156
|
+
|
|
157
|
+
Python's `Scripts` folder isn't on your PATH. Use `pipx` instead — it handles this automatically:
|
|
158
|
+
|
|
159
|
+
```bash
|
|
160
|
+
pip install pipx
|
|
161
|
+
pipx install asher-cli
|
|
162
|
+
asher
|
|
163
|
+
```
|
|
164
|
+
|
|
165
|
+
If you're in a virtualenv, deactivate it first:
|
|
166
|
+
|
|
167
|
+
```bash
|
|
168
|
+
deactivate
|
|
169
|
+
pip install pipx
|
|
170
|
+
pipx install asher-cli
|
|
171
|
+
```
|
|
172
|
+
|
|
173
|
+
**`pipx: command not found`**
|
|
174
|
+
|
|
175
|
+
Run it as a module instead:
|
|
176
|
+
|
|
177
|
+
```bash
|
|
178
|
+
python -m pip install pipx
|
|
179
|
+
python -m pipx install asher-cli
|
|
180
|
+
```
|
|
181
|
+
|
|
144
182
|
## Testing
|
|
145
183
|
|
|
146
184
|
```bash
|
|
@@ -17,6 +17,15 @@ A Claude Code-style terminal dashboard for monitoring and controlling Litter Rob
|
|
|
17
17
|
|
|
18
18
|
## Install
|
|
19
19
|
|
|
20
|
+
```bash
|
|
21
|
+
pipx install asher-cli
|
|
22
|
+
asher
|
|
23
|
+
```
|
|
24
|
+
|
|
25
|
+
`pipx` installs the CLI into an isolated environment and puts `asher` on your PATH automatically. Install `pipx` with `pip install pipx` if you don't have it.
|
|
26
|
+
|
|
27
|
+
Or with plain pip (ensure Python's `Scripts` folder is on your PATH):
|
|
28
|
+
|
|
20
29
|
```bash
|
|
21
30
|
pip install asher-cli
|
|
22
31
|
asher
|
|
@@ -98,6 +107,35 @@ git checkout -b release/0.0.2
|
|
|
98
107
|
git push origin release/0.0.2
|
|
99
108
|
```
|
|
100
109
|
|
|
110
|
+
## Troubleshooting
|
|
111
|
+
|
|
112
|
+
**`asher` not found after `pip install asher-cli`**
|
|
113
|
+
|
|
114
|
+
Python's `Scripts` folder isn't on your PATH. Use `pipx` instead — it handles this automatically:
|
|
115
|
+
|
|
116
|
+
```bash
|
|
117
|
+
pip install pipx
|
|
118
|
+
pipx install asher-cli
|
|
119
|
+
asher
|
|
120
|
+
```
|
|
121
|
+
|
|
122
|
+
If you're in a virtualenv, deactivate it first:
|
|
123
|
+
|
|
124
|
+
```bash
|
|
125
|
+
deactivate
|
|
126
|
+
pip install pipx
|
|
127
|
+
pipx install asher-cli
|
|
128
|
+
```
|
|
129
|
+
|
|
130
|
+
**`pipx: command not found`**
|
|
131
|
+
|
|
132
|
+
Run it as a module instead:
|
|
133
|
+
|
|
134
|
+
```bash
|
|
135
|
+
python -m pip install pipx
|
|
136
|
+
python -m pipx install asher-cli
|
|
137
|
+
```
|
|
138
|
+
|
|
101
139
|
## Testing
|
|
102
140
|
|
|
103
141
|
```bash
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
[project]
|
|
2
2
|
name = "asher-cli"
|
|
3
|
-
version = "0.0.
|
|
3
|
+
version = "0.0.2"
|
|
4
4
|
description = "Terminal dashboard for Litter Robot (LR3/LR4/LR5) via the Whisker cloud API"
|
|
5
5
|
readme = "README.md"
|
|
6
6
|
license = { file = "LICENSE" }
|
|
@@ -81,7 +81,7 @@ exclude = ["asher/slash-commands"]
|
|
|
81
81
|
# ── bump-my-version ───────────────────────────────────────────────────────────
|
|
82
82
|
|
|
83
83
|
[tool.bumpversion]
|
|
84
|
-
current_version = "0.0.
|
|
84
|
+
current_version = "0.0.2"
|
|
85
85
|
commit = true
|
|
86
86
|
tag = true
|
|
87
87
|
tag_name = "v{new_version}"
|
|
@@ -1,36 +0,0 @@
|
|
|
1
|
-
name: Release
|
|
2
|
-
|
|
3
|
-
on:
|
|
4
|
-
push:
|
|
5
|
-
branches:
|
|
6
|
-
- "release/*"
|
|
7
|
-
|
|
8
|
-
permissions:
|
|
9
|
-
contents: read
|
|
10
|
-
|
|
11
|
-
jobs:
|
|
12
|
-
build:
|
|
13
|
-
name: Build distribution
|
|
14
|
-
runs-on: ubuntu-latest
|
|
15
|
-
steps:
|
|
16
|
-
- uses: actions/checkout@v4
|
|
17
|
-
- uses: astral-sh/setup-uv@v3
|
|
18
|
-
- run: uv build
|
|
19
|
-
- uses: actions/upload-artifact@v4
|
|
20
|
-
with:
|
|
21
|
-
name: dist
|
|
22
|
-
path: dist/
|
|
23
|
-
|
|
24
|
-
publish:
|
|
25
|
-
name: Publish to PyPI
|
|
26
|
-
needs: build
|
|
27
|
-
runs-on: ubuntu-latest
|
|
28
|
-
environment: pypi
|
|
29
|
-
permissions:
|
|
30
|
-
id-token: write # required for OIDC trusted publisher
|
|
31
|
-
steps:
|
|
32
|
-
- uses: actions/download-artifact@v4
|
|
33
|
-
with:
|
|
34
|
-
name: dist
|
|
35
|
-
path: dist/
|
|
36
|
-
- uses: pypa/gh-action-pypi-publish@release/v1
|
|
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
|
|
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
|