tony-cli 0.3.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.
- tony_cli-0.3.0/LICENSE +24 -0
- tony_cli-0.3.0/PKG-INFO +181 -0
- tony_cli-0.3.0/README.md +127 -0
- tony_cli-0.3.0/pyproject.toml +51 -0
- tony_cli-0.3.0/setup.cfg +4 -0
- tony_cli-0.3.0/src/tony_cli/__init__.py +0 -0
- tony_cli-0.3.0/src/tony_cli/agent.py +767 -0
- tony_cli-0.3.0/src/tony_cli/assets/fonts/Favorit-Bold.woff2 +0 -0
- tony_cli-0.3.0/src/tony_cli/assets/fonts/Favorit-Book.woff2 +0 -0
- tony_cli-0.3.0/src/tony_cli/assets/fonts/Favorit-Regular.woff2 +0 -0
- tony_cli-0.3.0/src/tony_cli/assets/fonts/FavoritMono-Medium.woff2 +0 -0
- tony_cli-0.3.0/src/tony_cli/assets/fonts/FavoritMono-Regular.woff2 +0 -0
- tony_cli-0.3.0/src/tony_cli/assets/viewer.css +281 -0
- tony_cli-0.3.0/src/tony_cli/assets/viewer.js +98 -0
- tony_cli-0.3.0/src/tony_cli/fonts.py +38 -0
- tony_cli-0.3.0/src/tony_cli/hosted.py +324 -0
- tony_cli-0.3.0/src/tony_cli/install.py +138 -0
- tony_cli-0.3.0/src/tony_cli/layout.py +233 -0
- tony_cli-0.3.0/src/tony_cli/page.py +54 -0
- tony_cli-0.3.0/src/tony_cli/payload.py +187 -0
- tony_cli-0.3.0/src/tony_cli/source/__init__.py +0 -0
- tony_cli-0.3.0/src/tony_cli/source/local.py +256 -0
- tony_cli-0.3.0/src/tony_cli/uninstall.py +200 -0
- tony_cli-0.3.0/src/tony_cli.egg-info/PKG-INFO +181 -0
- tony_cli-0.3.0/src/tony_cli.egg-info/SOURCES.txt +27 -0
- tony_cli-0.3.0/src/tony_cli.egg-info/dependency_links.txt +1 -0
- tony_cli-0.3.0/src/tony_cli.egg-info/entry_points.txt +2 -0
- tony_cli-0.3.0/src/tony_cli.egg-info/requires.txt +7 -0
- tony_cli-0.3.0/src/tony_cli.egg-info/top_level.txt +1 -0
tony_cli-0.3.0/LICENSE
ADDED
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
MIT License
|
|
2
|
+
|
|
3
|
+
Copyright (c) 2026 Fawwaz Abayomi
|
|
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 ABC Favorit and ABC Favorit Mono font files under src/tony_cli/assets/fonts
|
|
16
|
+
are commercial typefaces by Dinamo and are NOT covered by this license.
|
|
17
|
+
|
|
18
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
19
|
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
20
|
+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
21
|
+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
22
|
+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
23
|
+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
24
|
+
SOFTWARE.
|
tony_cli-0.3.0/PKG-INFO
ADDED
|
@@ -0,0 +1,181 @@
|
|
|
1
|
+
Metadata-Version: 2.4
|
|
2
|
+
Name: tony-cli
|
|
3
|
+
Version: 0.3.0
|
|
4
|
+
Summary: Explains a git diff to whoever now owns it — annotated changes, blast radius, and steppable runtime walkthroughs.
|
|
5
|
+
Author: Fawwaz Abayomi
|
|
6
|
+
License: MIT License
|
|
7
|
+
|
|
8
|
+
Copyright (c) 2026 Fawwaz Abayomi
|
|
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 ABC Favorit and ABC Favorit Mono font files under src/tony_cli/assets/fonts
|
|
21
|
+
are commercial typefaces by Dinamo and are NOT covered by this license.
|
|
22
|
+
|
|
23
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
24
|
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
25
|
+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
26
|
+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
27
|
+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
28
|
+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
29
|
+
SOFTWARE.
|
|
30
|
+
|
|
31
|
+
Project-URL: Homepage, https://github.com/fawwaz46/tony
|
|
32
|
+
Project-URL: Issues, https://github.com/fawwaz46/tony/issues
|
|
33
|
+
Keywords: git,diff,code-review,ai,claude
|
|
34
|
+
Classifier: Development Status :: 4 - Beta
|
|
35
|
+
Classifier: Environment :: Console
|
|
36
|
+
Classifier: Intended Audience :: Developers
|
|
37
|
+
Classifier: Operating System :: OS Independent
|
|
38
|
+
Classifier: Programming Language :: Python :: 3
|
|
39
|
+
Classifier: Programming Language :: Python :: 3.10
|
|
40
|
+
Classifier: Programming Language :: Python :: 3.11
|
|
41
|
+
Classifier: Programming Language :: Python :: 3.12
|
|
42
|
+
Classifier: Programming Language :: Python :: 3.13
|
|
43
|
+
Classifier: Topic :: Software Development :: Version Control :: Git
|
|
44
|
+
Requires-Python: >=3.10
|
|
45
|
+
Description-Content-Type: text/markdown
|
|
46
|
+
License-File: LICENSE
|
|
47
|
+
Requires-Dist: anthropic>=0.40
|
|
48
|
+
Requires-Dist: python-dotenv>=1.0
|
|
49
|
+
Requires-Dist: httpx>=0.27
|
|
50
|
+
Requires-Dist: cryptography>=42
|
|
51
|
+
Provides-Extra: dev
|
|
52
|
+
Requires-Dist: pytest>=8; extra == "dev"
|
|
53
|
+
Dynamic: license-file
|
|
54
|
+
|
|
55
|
+
# tony
|
|
56
|
+
|
|
57
|
+
**Your AI wrote the code. tony explains what now exists.**
|
|
58
|
+
|
|
59
|
+
tony is a CLI that turns a git diff into a review page for the person who now
|
|
60
|
+
owns the code — often someone who didn't type a line of it. Not a linter, not a
|
|
61
|
+
code-review gate: it builds your mental model of the change, fast.
|
|
62
|
+
|
|
63
|
+
Every review page has three tabs:
|
|
64
|
+
|
|
65
|
+
1. **File changes** — the diff per file, with plain-language annotations sitting
|
|
66
|
+
inline above the lines they explain. Modified code gets Prev / New / Changes
|
|
67
|
+
panes; line numbers are computed from the diff, never trusted to the model.
|
|
68
|
+
2. **Blast radius** — files the change reaches that are *not* in the diff, each
|
|
69
|
+
consumer classified breaks / behavior-change / compatible, shown at the
|
|
70
|
+
affected lines.
|
|
71
|
+
3. **How it works** — steppable runtime walkthroughs. One concrete scenario
|
|
72
|
+
("you run `export --resume` after a crash") traced step by step, showing the
|
|
73
|
+
real source lines read from your disk, a small state table, and one plain
|
|
74
|
+
sentence per step.
|
|
75
|
+
|
|
76
|
+
## Install
|
|
77
|
+
|
|
78
|
+
```sh
|
|
79
|
+
curl -fsSL https://tony-cli.com/install.sh | sh
|
|
80
|
+
```
|
|
81
|
+
|
|
82
|
+
or, if you already use uv or pipx:
|
|
83
|
+
|
|
84
|
+
```sh
|
|
85
|
+
uv tool install tony-cli # or: pipx install tony-cli
|
|
86
|
+
```
|
|
87
|
+
|
|
88
|
+
Either way you get a `tony` command on your PATH.
|
|
89
|
+
|
|
90
|
+
## Use
|
|
91
|
+
|
|
92
|
+
```sh
|
|
93
|
+
cd your-repo
|
|
94
|
+
tony main...my-branch # review a branch against main
|
|
95
|
+
tony # review the default branch...HEAD
|
|
96
|
+
```
|
|
97
|
+
|
|
98
|
+
The page is written to `.tony/` inside the repo (gitignored automatically) and
|
|
99
|
+
opens in your browser. It's one self-contained HTML file — fonts, styles, and
|
|
100
|
+
data inlined — so it works offline and forever.
|
|
101
|
+
|
|
102
|
+
tony needs an Anthropic API key (`ANTHROPIC_API_KEY`, or `~/.tony/.env`). The
|
|
103
|
+
first run tells you exactly where to get one and where to put it. tony reviews
|
|
104
|
+
**committed** work: it shows code straight from disk, so the working tree must
|
|
105
|
+
match the revision under review.
|
|
106
|
+
|
|
107
|
+
Useful flags: `--replay` rebuilds the page from the last run without calling
|
|
108
|
+
the API, `--json` prints the raw review, `-v` logs every file the model
|
|
109
|
+
actually read, `--stale` overrides the clean-tree check.
|
|
110
|
+
|
|
111
|
+
## Share a review
|
|
112
|
+
|
|
113
|
+
```sh
|
|
114
|
+
tony login # once — GitHub device flow
|
|
115
|
+
tony main...my-branch # publishing is the default
|
|
116
|
+
tony: https://tony-cli.com/r/8f3ka92m
|
|
117
|
+
```
|
|
118
|
+
|
|
119
|
+
**Who can read a published review:** anyone signed in who has the link. Review
|
|
120
|
+
ids are random, so the link is what grants access — treat it like a password.
|
|
121
|
+
`tony unpublish <id>` removes a review at any time.
|
|
122
|
+
|
|
123
|
+
**What the site can read:** everything in the review. The payload is uploaded
|
|
124
|
+
over TLS and encrypted at rest under a key the server holds, so a leak of the
|
|
125
|
+
stored blobs yields nothing — but we can open a review, and so can any lawful
|
|
126
|
+
demand made to us. Do not publish from a repository you could not share with
|
|
127
|
+
us. An earlier design encrypted on your machine and kept the key in the link's
|
|
128
|
+
fragment; that was dropped deliberately when reading moved behind an account
|
|
129
|
+
and a history of past reviews became part of the product, since both need the
|
|
130
|
+
server to be able to open a review.
|
|
131
|
+
|
|
132
|
+
Local review needs no account and never leaves the machine: `tony --local`.
|
|
133
|
+
|
|
134
|
+
## Update
|
|
135
|
+
|
|
136
|
+
```sh
|
|
137
|
+
tony update
|
|
138
|
+
```
|
|
139
|
+
|
|
140
|
+
Uses whichever of uv, pipx, or pip installed tony, and resolves from PyPI
|
|
141
|
+
explicitly so a machine pointed at an internal mirror cannot decide what
|
|
142
|
+
`tony-cli` is. `tony --version` says what you have; `tony --help` lists every
|
|
143
|
+
command.
|
|
144
|
+
|
|
145
|
+
## Uninstall
|
|
146
|
+
|
|
147
|
+
```sh
|
|
148
|
+
tony uninstall
|
|
149
|
+
```
|
|
150
|
+
|
|
151
|
+
Removing the package by itself would leave the parts worth removing: your
|
|
152
|
+
`ANTHROPIC_API_KEY` and site login in `~/.tony`, and a `.tony/` directory of
|
|
153
|
+
past reviews inside every repository you ran tony in — those hold source code.
|
|
154
|
+
`tony uninstall` revokes the site token, lists everything it found and waits
|
|
155
|
+
for you to type `yes`, deletes it, then removes the package with whichever of
|
|
156
|
+
uv, pipx, or pip installed it.
|
|
157
|
+
|
|
158
|
+
It searches your home directory for stray review directories; `--no-scan`
|
|
159
|
+
limits it to the current repository, and `--yes` skips the prompt. Reviews you
|
|
160
|
+
published to the site are separate — take those down with `tony unpublish <id>`
|
|
161
|
+
before uninstalling, or they stay up.
|
|
162
|
+
|
|
163
|
+
## Development
|
|
164
|
+
|
|
165
|
+
```sh
|
|
166
|
+
pip install -e ".[dev]" # the CLI, with pytest
|
|
167
|
+
python -m pytest # the deterministic layer's tests
|
|
168
|
+
cd web && npm install
|
|
169
|
+
npm run build:viewer # rebuild the renderer bundle the CLI embeds
|
|
170
|
+
npm run dev # the site; /dev renders src/fixtures/review.json
|
|
171
|
+
```
|
|
172
|
+
|
|
173
|
+
There is exactly one renderer — `web/src/renderer/render.ts` — used by both
|
|
174
|
+
the local page and the hosted site. The Python side decides all layout facts
|
|
175
|
+
(line numbers, spans, added/changed tags) in `src/tony_cli/layout.py` and ships
|
|
176
|
+
them in the payload; the renderer never re-derives them. `DESIGN.md` is the
|
|
177
|
+
visual contract.
|
|
178
|
+
|
|
179
|
+
The site deploys to Vercel and needs `DATABASE_URL` (Neon Postgres),
|
|
180
|
+
`BLOB_READ_WRITE_TOKEN` (Vercel Blob), and `GITHUB_CLIENT_ID` (an OAuth app
|
|
181
|
+
with device flow enabled).
|
tony_cli-0.3.0/README.md
ADDED
|
@@ -0,0 +1,127 @@
|
|
|
1
|
+
# tony
|
|
2
|
+
|
|
3
|
+
**Your AI wrote the code. tony explains what now exists.**
|
|
4
|
+
|
|
5
|
+
tony is a CLI that turns a git diff into a review page for the person who now
|
|
6
|
+
owns the code — often someone who didn't type a line of it. Not a linter, not a
|
|
7
|
+
code-review gate: it builds your mental model of the change, fast.
|
|
8
|
+
|
|
9
|
+
Every review page has three tabs:
|
|
10
|
+
|
|
11
|
+
1. **File changes** — the diff per file, with plain-language annotations sitting
|
|
12
|
+
inline above the lines they explain. Modified code gets Prev / New / Changes
|
|
13
|
+
panes; line numbers are computed from the diff, never trusted to the model.
|
|
14
|
+
2. **Blast radius** — files the change reaches that are *not* in the diff, each
|
|
15
|
+
consumer classified breaks / behavior-change / compatible, shown at the
|
|
16
|
+
affected lines.
|
|
17
|
+
3. **How it works** — steppable runtime walkthroughs. One concrete scenario
|
|
18
|
+
("you run `export --resume` after a crash") traced step by step, showing the
|
|
19
|
+
real source lines read from your disk, a small state table, and one plain
|
|
20
|
+
sentence per step.
|
|
21
|
+
|
|
22
|
+
## Install
|
|
23
|
+
|
|
24
|
+
```sh
|
|
25
|
+
curl -fsSL https://tony-cli.com/install.sh | sh
|
|
26
|
+
```
|
|
27
|
+
|
|
28
|
+
or, if you already use uv or pipx:
|
|
29
|
+
|
|
30
|
+
```sh
|
|
31
|
+
uv tool install tony-cli # or: pipx install tony-cli
|
|
32
|
+
```
|
|
33
|
+
|
|
34
|
+
Either way you get a `tony` command on your PATH.
|
|
35
|
+
|
|
36
|
+
## Use
|
|
37
|
+
|
|
38
|
+
```sh
|
|
39
|
+
cd your-repo
|
|
40
|
+
tony main...my-branch # review a branch against main
|
|
41
|
+
tony # review the default branch...HEAD
|
|
42
|
+
```
|
|
43
|
+
|
|
44
|
+
The page is written to `.tony/` inside the repo (gitignored automatically) and
|
|
45
|
+
opens in your browser. It's one self-contained HTML file — fonts, styles, and
|
|
46
|
+
data inlined — so it works offline and forever.
|
|
47
|
+
|
|
48
|
+
tony needs an Anthropic API key (`ANTHROPIC_API_KEY`, or `~/.tony/.env`). The
|
|
49
|
+
first run tells you exactly where to get one and where to put it. tony reviews
|
|
50
|
+
**committed** work: it shows code straight from disk, so the working tree must
|
|
51
|
+
match the revision under review.
|
|
52
|
+
|
|
53
|
+
Useful flags: `--replay` rebuilds the page from the last run without calling
|
|
54
|
+
the API, `--json` prints the raw review, `-v` logs every file the model
|
|
55
|
+
actually read, `--stale` overrides the clean-tree check.
|
|
56
|
+
|
|
57
|
+
## Share a review
|
|
58
|
+
|
|
59
|
+
```sh
|
|
60
|
+
tony login # once — GitHub device flow
|
|
61
|
+
tony main...my-branch # publishing is the default
|
|
62
|
+
tony: https://tony-cli.com/r/8f3ka92m
|
|
63
|
+
```
|
|
64
|
+
|
|
65
|
+
**Who can read a published review:** anyone signed in who has the link. Review
|
|
66
|
+
ids are random, so the link is what grants access — treat it like a password.
|
|
67
|
+
`tony unpublish <id>` removes a review at any time.
|
|
68
|
+
|
|
69
|
+
**What the site can read:** everything in the review. The payload is uploaded
|
|
70
|
+
over TLS and encrypted at rest under a key the server holds, so a leak of the
|
|
71
|
+
stored blobs yields nothing — but we can open a review, and so can any lawful
|
|
72
|
+
demand made to us. Do not publish from a repository you could not share with
|
|
73
|
+
us. An earlier design encrypted on your machine and kept the key in the link's
|
|
74
|
+
fragment; that was dropped deliberately when reading moved behind an account
|
|
75
|
+
and a history of past reviews became part of the product, since both need the
|
|
76
|
+
server to be able to open a review.
|
|
77
|
+
|
|
78
|
+
Local review needs no account and never leaves the machine: `tony --local`.
|
|
79
|
+
|
|
80
|
+
## Update
|
|
81
|
+
|
|
82
|
+
```sh
|
|
83
|
+
tony update
|
|
84
|
+
```
|
|
85
|
+
|
|
86
|
+
Uses whichever of uv, pipx, or pip installed tony, and resolves from PyPI
|
|
87
|
+
explicitly so a machine pointed at an internal mirror cannot decide what
|
|
88
|
+
`tony-cli` is. `tony --version` says what you have; `tony --help` lists every
|
|
89
|
+
command.
|
|
90
|
+
|
|
91
|
+
## Uninstall
|
|
92
|
+
|
|
93
|
+
```sh
|
|
94
|
+
tony uninstall
|
|
95
|
+
```
|
|
96
|
+
|
|
97
|
+
Removing the package by itself would leave the parts worth removing: your
|
|
98
|
+
`ANTHROPIC_API_KEY` and site login in `~/.tony`, and a `.tony/` directory of
|
|
99
|
+
past reviews inside every repository you ran tony in — those hold source code.
|
|
100
|
+
`tony uninstall` revokes the site token, lists everything it found and waits
|
|
101
|
+
for you to type `yes`, deletes it, then removes the package with whichever of
|
|
102
|
+
uv, pipx, or pip installed it.
|
|
103
|
+
|
|
104
|
+
It searches your home directory for stray review directories; `--no-scan`
|
|
105
|
+
limits it to the current repository, and `--yes` skips the prompt. Reviews you
|
|
106
|
+
published to the site are separate — take those down with `tony unpublish <id>`
|
|
107
|
+
before uninstalling, or they stay up.
|
|
108
|
+
|
|
109
|
+
## Development
|
|
110
|
+
|
|
111
|
+
```sh
|
|
112
|
+
pip install -e ".[dev]" # the CLI, with pytest
|
|
113
|
+
python -m pytest # the deterministic layer's tests
|
|
114
|
+
cd web && npm install
|
|
115
|
+
npm run build:viewer # rebuild the renderer bundle the CLI embeds
|
|
116
|
+
npm run dev # the site; /dev renders src/fixtures/review.json
|
|
117
|
+
```
|
|
118
|
+
|
|
119
|
+
There is exactly one renderer — `web/src/renderer/render.ts` — used by both
|
|
120
|
+
the local page and the hosted site. The Python side decides all layout facts
|
|
121
|
+
(line numbers, spans, added/changed tags) in `src/tony_cli/layout.py` and ships
|
|
122
|
+
them in the payload; the renderer never re-derives them. `DESIGN.md` is the
|
|
123
|
+
visual contract.
|
|
124
|
+
|
|
125
|
+
The site deploys to Vercel and needs `DATABASE_URL` (Neon Postgres),
|
|
126
|
+
`BLOB_READ_WRITE_TOKEN` (Vercel Blob), and `GITHUB_CLIENT_ID` (an OAuth app
|
|
127
|
+
with device flow enabled).
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
[project]
|
|
2
|
+
name = "tony-cli"
|
|
3
|
+
version = "0.3.0"
|
|
4
|
+
description = "Explains a git diff to whoever now owns it — annotated changes, blast radius, and steppable runtime walkthroughs."
|
|
5
|
+
readme = "README.md"
|
|
6
|
+
license = { file = "LICENSE" }
|
|
7
|
+
requires-python = ">=3.10"
|
|
8
|
+
authors = [{ name = "Fawwaz Abayomi" }]
|
|
9
|
+
keywords = ["git", "diff", "code-review", "ai", "claude"]
|
|
10
|
+
classifiers = [
|
|
11
|
+
"Development Status :: 4 - Beta",
|
|
12
|
+
"Environment :: Console",
|
|
13
|
+
"Intended Audience :: Developers",
|
|
14
|
+
"Operating System :: OS Independent",
|
|
15
|
+
"Programming Language :: Python :: 3",
|
|
16
|
+
"Programming Language :: Python :: 3.10",
|
|
17
|
+
"Programming Language :: Python :: 3.11",
|
|
18
|
+
"Programming Language :: Python :: 3.12",
|
|
19
|
+
"Programming Language :: Python :: 3.13",
|
|
20
|
+
"Topic :: Software Development :: Version Control :: Git",
|
|
21
|
+
]
|
|
22
|
+
dependencies = [
|
|
23
|
+
"anthropic>=0.40",
|
|
24
|
+
"python-dotenv>=1.0",
|
|
25
|
+
"httpx>=0.27",
|
|
26
|
+
"cryptography>=42",
|
|
27
|
+
]
|
|
28
|
+
|
|
29
|
+
[project.optional-dependencies]
|
|
30
|
+
dev = ["pytest>=8"]
|
|
31
|
+
|
|
32
|
+
[project.urls]
|
|
33
|
+
Homepage = "https://github.com/fawwaz46/tony"
|
|
34
|
+
Issues = "https://github.com/fawwaz46/tony/issues"
|
|
35
|
+
|
|
36
|
+
[project.scripts]
|
|
37
|
+
tony = "tony_cli.agent:main"
|
|
38
|
+
|
|
39
|
+
[build-system]
|
|
40
|
+
requires = ["setuptools>=68"]
|
|
41
|
+
build-backend = "setuptools.build_meta"
|
|
42
|
+
|
|
43
|
+
[tool.setuptools.packages.find]
|
|
44
|
+
where = ["src"]
|
|
45
|
+
include = ["tony_cli*"]
|
|
46
|
+
|
|
47
|
+
[tool.setuptools.package-data]
|
|
48
|
+
tony_cli = ["assets/fonts/*.woff2", "assets/viewer.js", "assets/viewer.css"]
|
|
49
|
+
|
|
50
|
+
[tool.pytest.ini_options]
|
|
51
|
+
testpaths = ["src/tests"]
|
tony_cli-0.3.0/setup.cfg
ADDED
|
File without changes
|