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.
@@ -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.
@@ -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"]
@@ -0,0 +1,4 @@
1
+ [egg_info]
2
+ tag_build =
3
+ tag_date = 0
4
+
@@ -0,0 +1,3 @@
1
+ """Official Gnaww command line client."""
2
+
3
+ __version__ = "0.1.0"
@@ -0,0 +1,3 @@
1
+ from gnaww_cli.cli import main
2
+
3
+ raise SystemExit(main())