gnaww-cli 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.
- gnaww_cli-0.1.0/LICENSE +21 -0
- gnaww_cli-0.1.0/PKG-INFO +177 -0
- gnaww_cli-0.1.0/README.md +138 -0
- gnaww_cli-0.1.0/pyproject.toml +31 -0
- gnaww_cli-0.1.0/setup.cfg +4 -0
- gnaww_cli-0.1.0/src/gnaww_cli/__init__.py +3 -0
- gnaww_cli-0.1.0/src/gnaww_cli/__main__.py +3 -0
- gnaww_cli-0.1.0/src/gnaww_cli/cli.py +877 -0
- gnaww_cli-0.1.0/src/gnaww_cli/client.py +243 -0
- gnaww_cli-0.1.0/src/gnaww_cli/io.py +379 -0
- gnaww_cli-0.1.0/src/gnaww_cli.egg-info/PKG-INFO +177 -0
- gnaww_cli-0.1.0/src/gnaww_cli.egg-info/SOURCES.txt +14 -0
- gnaww_cli-0.1.0/src/gnaww_cli.egg-info/dependency_links.txt +1 -0
- gnaww_cli-0.1.0/src/gnaww_cli.egg-info/entry_points.txt +2 -0
- gnaww_cli-0.1.0/src/gnaww_cli.egg-info/requires.txt +1 -0
- gnaww_cli-0.1.0/src/gnaww_cli.egg-info/top_level.txt +1 -0
gnaww_cli-0.1.0/LICENSE
ADDED
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
MIT License
|
|
2
|
+
|
|
3
|
+
Copyright (c) 2026 Jawwws Ltd
|
|
4
|
+
|
|
5
|
+
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
6
|
+
of this software and associated documentation files (the "Software"), to deal
|
|
7
|
+
in the Software without restriction, including without limitation the rights
|
|
8
|
+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
9
|
+
copies of the Software, and to permit persons to whom the Software is
|
|
10
|
+
furnished to do so, subject to the following conditions:
|
|
11
|
+
|
|
12
|
+
The above copyright notice and this permission notice shall be included in all
|
|
13
|
+
copies or substantial portions of the Software.
|
|
14
|
+
|
|
15
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
16
|
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
17
|
+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
18
|
+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
19
|
+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
20
|
+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
21
|
+
SOFTWARE.
|
gnaww_cli-0.1.0/PKG-INFO
ADDED
|
@@ -0,0 +1,177 @@
|
|
|
1
|
+
Metadata-Version: 2.4
|
|
2
|
+
Name: gnaww-cli
|
|
3
|
+
Version: 0.1.0
|
|
4
|
+
Summary: Official command line interface for the Gnaww print intelligence API.
|
|
5
|
+
Author: Jawwws Ltd
|
|
6
|
+
License: MIT License
|
|
7
|
+
|
|
8
|
+
Copyright (c) 2026 Jawwws Ltd
|
|
9
|
+
|
|
10
|
+
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
11
|
+
of this software and associated documentation files (the "Software"), to deal
|
|
12
|
+
in the Software without restriction, including without limitation the rights
|
|
13
|
+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
14
|
+
copies of the Software, and to permit persons to whom the Software is
|
|
15
|
+
furnished to do so, subject to the following conditions:
|
|
16
|
+
|
|
17
|
+
The above copyright notice and this permission notice shall be included in all
|
|
18
|
+
copies or substantial portions of the Software.
|
|
19
|
+
|
|
20
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
21
|
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
22
|
+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
23
|
+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
24
|
+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
25
|
+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
26
|
+
SOFTWARE.
|
|
27
|
+
|
|
28
|
+
Project-URL: Homepage, https://gnaww.io
|
|
29
|
+
Keywords: gnaww,print,cli,api
|
|
30
|
+
Classifier: Programming Language :: Python :: 3
|
|
31
|
+
Classifier: Programming Language :: Python :: 3.11
|
|
32
|
+
Classifier: License :: OSI Approved :: MIT License
|
|
33
|
+
Classifier: Operating System :: OS Independent
|
|
34
|
+
Requires-Python: >=3.11
|
|
35
|
+
Description-Content-Type: text/markdown
|
|
36
|
+
License-File: LICENSE
|
|
37
|
+
Requires-Dist: httpx<1.0.0,>=0.28.0
|
|
38
|
+
Dynamic: license-file
|
|
39
|
+
|
|
40
|
+
# Gnaww CLI
|
|
41
|
+
|
|
42
|
+
Official command line interface for the Gnaww print intelligence API.
|
|
43
|
+
|
|
44
|
+
Gnaww accepts incomplete, inconsistent or system-originated print intent, turns it into controlled print requirements and can use SpecMatch™ to compare those requirements with compatible production capability.
|
|
45
|
+
|
|
46
|
+
Capability fit is not a live price, confirmed availability, producer acceptance or an order.
|
|
47
|
+
|
|
48
|
+
## Requirements
|
|
49
|
+
|
|
50
|
+
- Python 3.11 or newer
|
|
51
|
+
- a Gnaww developer API credential
|
|
52
|
+
|
|
53
|
+
## Install
|
|
54
|
+
|
|
55
|
+
The recommended isolated installation is:
|
|
56
|
+
|
|
57
|
+
```bash
|
|
58
|
+
pipx install gnaww-cli
|
|
59
|
+
```
|
|
60
|
+
|
|
61
|
+
A normal Python installation is also supported:
|
|
62
|
+
|
|
63
|
+
```bash
|
|
64
|
+
python -m pip install gnaww-cli
|
|
65
|
+
```
|
|
66
|
+
|
|
67
|
+
## Configuration
|
|
68
|
+
|
|
69
|
+
Set the scoped Gnaww API credential in your environment:
|
|
70
|
+
|
|
71
|
+
```bash
|
|
72
|
+
export GNAWW_API_KEY="<developer-api-key>"
|
|
73
|
+
```
|
|
74
|
+
|
|
75
|
+
The CLI uses `https://api.gnaww.io` by default. Optional configuration is available through:
|
|
76
|
+
|
|
77
|
+
```bash
|
|
78
|
+
export GNAWW_API_BASE_URL="https://api.gnaww.io"
|
|
79
|
+
export GNAWW_WORKSPACE_ID="<workspace-id>"
|
|
80
|
+
```
|
|
81
|
+
|
|
82
|
+
Keep API credentials private. Do not commit them to source control or paste them into tickets, chat or documents.
|
|
83
|
+
|
|
84
|
+
## Commands
|
|
85
|
+
|
|
86
|
+
```text
|
|
87
|
+
gnaww consume
|
|
88
|
+
gnaww digest
|
|
89
|
+
gnaww crunch
|
|
90
|
+
gnaww eat
|
|
91
|
+
gnaww devour
|
|
92
|
+
gnaww regurgitate
|
|
93
|
+
gnaww completion
|
|
94
|
+
```
|
|
95
|
+
|
|
96
|
+
### consume
|
|
97
|
+
|
|
98
|
+
Interpret one ordinary-language print requirement:
|
|
99
|
+
|
|
100
|
+
```bash
|
|
101
|
+
gnaww consume "500 A5 double-sided flyers on 170gsm silk"
|
|
102
|
+
```
|
|
103
|
+
|
|
104
|
+
Use `--json` for stable machine-readable output.
|
|
105
|
+
|
|
106
|
+
Incomplete requirements remain unresolved and may return clarification information. The CLI does not invent missing identity-defining physical attributes.
|
|
107
|
+
|
|
108
|
+
### digest
|
|
109
|
+
|
|
110
|
+
Inspect one retained Recipe or a local JSON result:
|
|
111
|
+
|
|
112
|
+
```bash
|
|
113
|
+
gnaww digest GNR-01ARZ3NDEKTSV4RRFFQ69G5FAV
|
|
114
|
+
gnaww digest result.json
|
|
115
|
+
```
|
|
116
|
+
|
|
117
|
+
### crunch
|
|
118
|
+
|
|
119
|
+
Run SpecMatch™ for one resolved Recipe against an explicit capability target:
|
|
120
|
+
|
|
121
|
+
```bash
|
|
122
|
+
gnaww crunch GNR-01ARZ3NDEKTSV4RRFFQ69G5FAV \
|
|
123
|
+
--quantity 500 \
|
|
124
|
+
--source demo_fixture \
|
|
125
|
+
--producer-profile-id northline-demo
|
|
126
|
+
```
|
|
127
|
+
|
|
128
|
+
Fixture-backed capability remains labelled as fixture-backed.
|
|
129
|
+
|
|
130
|
+
### eat
|
|
131
|
+
|
|
132
|
+
Convenience flow that consumes a requirement, resolves a Recipe when eligible and continues into SpecMatch only when the required capability target is supplied:
|
|
133
|
+
|
|
134
|
+
```bash
|
|
135
|
+
gnaww eat "500 A5 flyers on 170gsm silk"
|
|
136
|
+
```
|
|
137
|
+
|
|
138
|
+
If clarification is required, the command stops safely rather than guessing.
|
|
139
|
+
|
|
140
|
+
### devour
|
|
141
|
+
|
|
142
|
+
Process a bounded batch from text, CSV or JSON:
|
|
143
|
+
|
|
144
|
+
```bash
|
|
145
|
+
gnaww devour requirements.csv
|
|
146
|
+
```
|
|
147
|
+
|
|
148
|
+
### regurgitate
|
|
149
|
+
|
|
150
|
+
Retrieve or export a Recipe or local result:
|
|
151
|
+
|
|
152
|
+
```bash
|
|
153
|
+
gnaww regurgitate GNR-01ARZ3NDEKTSV4RRFFQ69G5FAV --format json
|
|
154
|
+
gnaww regurgitate result.json --format yaml
|
|
155
|
+
```
|
|
156
|
+
|
|
157
|
+
### completion
|
|
158
|
+
|
|
159
|
+
Print dependency-light shell completion:
|
|
160
|
+
|
|
161
|
+
```bash
|
|
162
|
+
gnaww completion bash
|
|
163
|
+
gnaww completion zsh
|
|
164
|
+
gnaww completion fish
|
|
165
|
+
```
|
|
166
|
+
|
|
167
|
+
## Output and safety
|
|
168
|
+
|
|
169
|
+
The CLI supports human-readable and JSON output, stable process exit codes and request/correlation identifiers returned by the Gnaww API.
|
|
170
|
+
|
|
171
|
+
Recipe ID identifies a canonical physical manufacturing definition. It is not an order number, customer identifier, producer selection, price or availability state.
|
|
172
|
+
|
|
173
|
+
Gnaww and SpecMatch™ intelligence remain server-side. This package is an API client, local input/output adapter and presentation surface only.
|
|
174
|
+
|
|
175
|
+
## Licence
|
|
176
|
+
|
|
177
|
+
MIT. See `LICENSE`.
|
|
@@ -0,0 +1,138 @@
|
|
|
1
|
+
# Gnaww CLI
|
|
2
|
+
|
|
3
|
+
Official command line interface for the Gnaww print intelligence API.
|
|
4
|
+
|
|
5
|
+
Gnaww accepts incomplete, inconsistent or system-originated print intent, turns it into controlled print requirements and can use SpecMatch™ to compare those requirements with compatible production capability.
|
|
6
|
+
|
|
7
|
+
Capability fit is not a live price, confirmed availability, producer acceptance or an order.
|
|
8
|
+
|
|
9
|
+
## Requirements
|
|
10
|
+
|
|
11
|
+
- Python 3.11 or newer
|
|
12
|
+
- a Gnaww developer API credential
|
|
13
|
+
|
|
14
|
+
## Install
|
|
15
|
+
|
|
16
|
+
The recommended isolated installation is:
|
|
17
|
+
|
|
18
|
+
```bash
|
|
19
|
+
pipx install gnaww-cli
|
|
20
|
+
```
|
|
21
|
+
|
|
22
|
+
A normal Python installation is also supported:
|
|
23
|
+
|
|
24
|
+
```bash
|
|
25
|
+
python -m pip install gnaww-cli
|
|
26
|
+
```
|
|
27
|
+
|
|
28
|
+
## Configuration
|
|
29
|
+
|
|
30
|
+
Set the scoped Gnaww API credential in your environment:
|
|
31
|
+
|
|
32
|
+
```bash
|
|
33
|
+
export GNAWW_API_KEY="<developer-api-key>"
|
|
34
|
+
```
|
|
35
|
+
|
|
36
|
+
The CLI uses `https://api.gnaww.io` by default. Optional configuration is available through:
|
|
37
|
+
|
|
38
|
+
```bash
|
|
39
|
+
export GNAWW_API_BASE_URL="https://api.gnaww.io"
|
|
40
|
+
export GNAWW_WORKSPACE_ID="<workspace-id>"
|
|
41
|
+
```
|
|
42
|
+
|
|
43
|
+
Keep API credentials private. Do not commit them to source control or paste them into tickets, chat or documents.
|
|
44
|
+
|
|
45
|
+
## Commands
|
|
46
|
+
|
|
47
|
+
```text
|
|
48
|
+
gnaww consume
|
|
49
|
+
gnaww digest
|
|
50
|
+
gnaww crunch
|
|
51
|
+
gnaww eat
|
|
52
|
+
gnaww devour
|
|
53
|
+
gnaww regurgitate
|
|
54
|
+
gnaww completion
|
|
55
|
+
```
|
|
56
|
+
|
|
57
|
+
### consume
|
|
58
|
+
|
|
59
|
+
Interpret one ordinary-language print requirement:
|
|
60
|
+
|
|
61
|
+
```bash
|
|
62
|
+
gnaww consume "500 A5 double-sided flyers on 170gsm silk"
|
|
63
|
+
```
|
|
64
|
+
|
|
65
|
+
Use `--json` for stable machine-readable output.
|
|
66
|
+
|
|
67
|
+
Incomplete requirements remain unresolved and may return clarification information. The CLI does not invent missing identity-defining physical attributes.
|
|
68
|
+
|
|
69
|
+
### digest
|
|
70
|
+
|
|
71
|
+
Inspect one retained Recipe or a local JSON result:
|
|
72
|
+
|
|
73
|
+
```bash
|
|
74
|
+
gnaww digest GNR-01ARZ3NDEKTSV4RRFFQ69G5FAV
|
|
75
|
+
gnaww digest result.json
|
|
76
|
+
```
|
|
77
|
+
|
|
78
|
+
### crunch
|
|
79
|
+
|
|
80
|
+
Run SpecMatch™ for one resolved Recipe against an explicit capability target:
|
|
81
|
+
|
|
82
|
+
```bash
|
|
83
|
+
gnaww crunch GNR-01ARZ3NDEKTSV4RRFFQ69G5FAV \
|
|
84
|
+
--quantity 500 \
|
|
85
|
+
--source demo_fixture \
|
|
86
|
+
--producer-profile-id northline-demo
|
|
87
|
+
```
|
|
88
|
+
|
|
89
|
+
Fixture-backed capability remains labelled as fixture-backed.
|
|
90
|
+
|
|
91
|
+
### eat
|
|
92
|
+
|
|
93
|
+
Convenience flow that consumes a requirement, resolves a Recipe when eligible and continues into SpecMatch only when the required capability target is supplied:
|
|
94
|
+
|
|
95
|
+
```bash
|
|
96
|
+
gnaww eat "500 A5 flyers on 170gsm silk"
|
|
97
|
+
```
|
|
98
|
+
|
|
99
|
+
If clarification is required, the command stops safely rather than guessing.
|
|
100
|
+
|
|
101
|
+
### devour
|
|
102
|
+
|
|
103
|
+
Process a bounded batch from text, CSV or JSON:
|
|
104
|
+
|
|
105
|
+
```bash
|
|
106
|
+
gnaww devour requirements.csv
|
|
107
|
+
```
|
|
108
|
+
|
|
109
|
+
### regurgitate
|
|
110
|
+
|
|
111
|
+
Retrieve or export a Recipe or local result:
|
|
112
|
+
|
|
113
|
+
```bash
|
|
114
|
+
gnaww regurgitate GNR-01ARZ3NDEKTSV4RRFFQ69G5FAV --format json
|
|
115
|
+
gnaww regurgitate result.json --format yaml
|
|
116
|
+
```
|
|
117
|
+
|
|
118
|
+
### completion
|
|
119
|
+
|
|
120
|
+
Print dependency-light shell completion:
|
|
121
|
+
|
|
122
|
+
```bash
|
|
123
|
+
gnaww completion bash
|
|
124
|
+
gnaww completion zsh
|
|
125
|
+
gnaww completion fish
|
|
126
|
+
```
|
|
127
|
+
|
|
128
|
+
## Output and safety
|
|
129
|
+
|
|
130
|
+
The CLI supports human-readable and JSON output, stable process exit codes and request/correlation identifiers returned by the Gnaww API.
|
|
131
|
+
|
|
132
|
+
Recipe ID identifies a canonical physical manufacturing definition. It is not an order number, customer identifier, producer selection, price or availability state.
|
|
133
|
+
|
|
134
|
+
Gnaww and SpecMatch™ intelligence remain server-side. This package is an API client, local input/output adapter and presentation surface only.
|
|
135
|
+
|
|
136
|
+
## Licence
|
|
137
|
+
|
|
138
|
+
MIT. See `LICENSE`.
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
[build-system]
|
|
2
|
+
requires = ["setuptools>=68", "wheel"]
|
|
3
|
+
build-backend = "setuptools.build_meta"
|
|
4
|
+
|
|
5
|
+
[project]
|
|
6
|
+
name = "gnaww-cli"
|
|
7
|
+
version = "0.1.0"
|
|
8
|
+
description = "Official command line interface for the Gnaww print intelligence API."
|
|
9
|
+
readme = "README.md"
|
|
10
|
+
requires-python = ">=3.11"
|
|
11
|
+
license = {file = "LICENSE"}
|
|
12
|
+
authors = [{name = "Jawwws Ltd"}]
|
|
13
|
+
dependencies = [
|
|
14
|
+
"httpx>=0.28.0,<1.0.0",
|
|
15
|
+
]
|
|
16
|
+
keywords = ["gnaww", "print", "cli", "api"]
|
|
17
|
+
classifiers = [
|
|
18
|
+
"Programming Language :: Python :: 3",
|
|
19
|
+
"Programming Language :: Python :: 3.11",
|
|
20
|
+
"License :: OSI Approved :: MIT License",
|
|
21
|
+
"Operating System :: OS Independent",
|
|
22
|
+
]
|
|
23
|
+
|
|
24
|
+
[project.scripts]
|
|
25
|
+
gnaww = "gnaww_cli.cli:main"
|
|
26
|
+
|
|
27
|
+
[project.urls]
|
|
28
|
+
Homepage = "https://gnaww.io"
|
|
29
|
+
|
|
30
|
+
[tool.setuptools.packages.find]
|
|
31
|
+
where = ["src"]
|