ffwf-tau 0.9.3__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.
- ffwf_tau-0.9.3/LICENSE +21 -0
- ffwf_tau-0.9.3/PKG-INFO +77 -0
- ffwf_tau-0.9.3/README.md +61 -0
- ffwf_tau-0.9.3/pyproject.toml +52 -0
- ffwf_tau-0.9.3/setup.cfg +4 -0
- ffwf_tau-0.9.3/src/ffwf_tau.egg-info/PKG-INFO +77 -0
- ffwf_tau-0.9.3/src/ffwf_tau.egg-info/SOURCES.txt +9 -0
- ffwf_tau-0.9.3/src/ffwf_tau.egg-info/dependency_links.txt +1 -0
- ffwf_tau-0.9.3/src/ffwf_tau.egg-info/requires.txt +1 -0
- ffwf_tau-0.9.3/src/ffwf_tau.egg-info/top_level.txt +1 -0
- ffwf_tau-0.9.3/src/tau_meta/__init__.py +12 -0
ffwf_tau-0.9.3/LICENSE
ADDED
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
MIT License
|
|
2
|
+
|
|
3
|
+
Copyright (c) 2026 Fight Fire with Fire Robotics, LLC
|
|
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.
|
ffwf_tau-0.9.3/PKG-INFO
ADDED
|
@@ -0,0 +1,77 @@
|
|
|
1
|
+
Metadata-Version: 2.4
|
|
2
|
+
Name: ffwf-tau
|
|
3
|
+
Version: 0.9.3
|
|
4
|
+
Summary: τ: the guessable name. Installs ffwf-tau-coding-agent[tui] — the `tau` command with its TUI.
|
|
5
|
+
Author: Fight Fire with Fire Robotics, LLC
|
|
6
|
+
License-Expression: MIT
|
|
7
|
+
Project-URL: Homepage, https://ffwfrobotics.github.io/tau/
|
|
8
|
+
Project-URL: Documentation, https://ffwfrobotics.github.io/tau/
|
|
9
|
+
Project-URL: Repository, https://github.com/jmccardle/tau
|
|
10
|
+
Project-URL: Issues, https://github.com/jmccardle/tau/issues
|
|
11
|
+
Requires-Python: >=3.11
|
|
12
|
+
Description-Content-Type: text/markdown
|
|
13
|
+
License-File: LICENSE
|
|
14
|
+
Requires-Dist: ffwf-tau-coding-agent[tui]==0.9.3
|
|
15
|
+
Dynamic: license-file
|
|
16
|
+
|
|
17
|
+
# ffwf-tau
|
|
18
|
+
|
|
19
|
+
The guessable name for **Tau**, a programmable coding-agent harness with an
|
|
20
|
+
optional TUI.
|
|
21
|
+
|
|
22
|
+
```bash
|
|
23
|
+
pip install ffwf-tau
|
|
24
|
+
tau
|
|
25
|
+
```
|
|
26
|
+
|
|
27
|
+
This distribution contains no code. It depends on
|
|
28
|
+
`ffwf-tau-coding-agent[tui]` at the same version and nothing else, so the two
|
|
29
|
+
commands above install the `tau` program with its interface and start it.
|
|
30
|
+
|
|
31
|
+
## Why it exists
|
|
32
|
+
|
|
33
|
+
Tau publishes four distributions, and none of them is called `ffwf-tau`:
|
|
34
|
+
|
|
35
|
+
| Distribution | Imports as | What it is |
|
|
36
|
+
|---|---|---|
|
|
37
|
+
| `ffwf-tau-llm` | `tau_llm` | the provider and streaming layer |
|
|
38
|
+
| `ffwf-tau-agent-core` | `tau_agent_core` | the agent loop, tools, sessions, extensions |
|
|
39
|
+
| `ffwf-tau-coding-agent` | `tau_coding_agent` | the `tau` command and the Textual TUI |
|
|
40
|
+
| `ffwf-tau-jmfts` | `tau_jmfts` | the optional JMFTS session store |
|
|
41
|
+
|
|
42
|
+
`pip install ffwf-tau` used to fail with `could not find a version that
|
|
43
|
+
satisfies the requirement`, which reads as "wrong Python" or "wrong index" and
|
|
44
|
+
is neither. It also matches the name of a command Tau already installs: the
|
|
45
|
+
`ffwf-tau` executable is the prefixed spelling of `tau`, for scripts that need a
|
|
46
|
+
name PyPI guarantees. One name now means one thing in both places.
|
|
47
|
+
|
|
48
|
+
Note the `ffwf-` prefix throughout. `tau`, `tau-llm`, and `tau-ai` on PyPI are
|
|
49
|
+
unrelated projects.
|
|
50
|
+
|
|
51
|
+
## What you get, and what you do not
|
|
52
|
+
|
|
53
|
+
`ffwf-tau` resolves to `ffwf-tau-coding-agent[tui]`: the CLI, the headless
|
|
54
|
+
modes, and the Textual interface.
|
|
55
|
+
|
|
56
|
+
It deliberately does **not** pull in `[jmfts]`. The JMFTS session store needs a
|
|
57
|
+
running server, so an install that added it by default would answer a question
|
|
58
|
+
nobody asked. Install it when you want it:
|
|
59
|
+
|
|
60
|
+
```bash
|
|
61
|
+
pip install 'ffwf-tau-coding-agent[tui,jmfts]'
|
|
62
|
+
```
|
|
63
|
+
|
|
64
|
+
If you want the headless agent without any interface libraries — 15 packages
|
|
65
|
+
instead of 27 — install the real distribution rather than this one:
|
|
66
|
+
|
|
67
|
+
```bash
|
|
68
|
+
pip install ffwf-tau-coding-agent
|
|
69
|
+
```
|
|
70
|
+
|
|
71
|
+
## Everything else
|
|
72
|
+
|
|
73
|
+
Documentation: <https://ffwfrobotics.github.io/tau/>
|
|
74
|
+
|
|
75
|
+
Repository: <https://github.com/jmccardle/tau>
|
|
76
|
+
|
|
77
|
+
MIT © Fight Fire with Fire Robotics, LLC
|
ffwf_tau-0.9.3/README.md
ADDED
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
# ffwf-tau
|
|
2
|
+
|
|
3
|
+
The guessable name for **Tau**, a programmable coding-agent harness with an
|
|
4
|
+
optional TUI.
|
|
5
|
+
|
|
6
|
+
```bash
|
|
7
|
+
pip install ffwf-tau
|
|
8
|
+
tau
|
|
9
|
+
```
|
|
10
|
+
|
|
11
|
+
This distribution contains no code. It depends on
|
|
12
|
+
`ffwf-tau-coding-agent[tui]` at the same version and nothing else, so the two
|
|
13
|
+
commands above install the `tau` program with its interface and start it.
|
|
14
|
+
|
|
15
|
+
## Why it exists
|
|
16
|
+
|
|
17
|
+
Tau publishes four distributions, and none of them is called `ffwf-tau`:
|
|
18
|
+
|
|
19
|
+
| Distribution | Imports as | What it is |
|
|
20
|
+
|---|---|---|
|
|
21
|
+
| `ffwf-tau-llm` | `tau_llm` | the provider and streaming layer |
|
|
22
|
+
| `ffwf-tau-agent-core` | `tau_agent_core` | the agent loop, tools, sessions, extensions |
|
|
23
|
+
| `ffwf-tau-coding-agent` | `tau_coding_agent` | the `tau` command and the Textual TUI |
|
|
24
|
+
| `ffwf-tau-jmfts` | `tau_jmfts` | the optional JMFTS session store |
|
|
25
|
+
|
|
26
|
+
`pip install ffwf-tau` used to fail with `could not find a version that
|
|
27
|
+
satisfies the requirement`, which reads as "wrong Python" or "wrong index" and
|
|
28
|
+
is neither. It also matches the name of a command Tau already installs: the
|
|
29
|
+
`ffwf-tau` executable is the prefixed spelling of `tau`, for scripts that need a
|
|
30
|
+
name PyPI guarantees. One name now means one thing in both places.
|
|
31
|
+
|
|
32
|
+
Note the `ffwf-` prefix throughout. `tau`, `tau-llm`, and `tau-ai` on PyPI are
|
|
33
|
+
unrelated projects.
|
|
34
|
+
|
|
35
|
+
## What you get, and what you do not
|
|
36
|
+
|
|
37
|
+
`ffwf-tau` resolves to `ffwf-tau-coding-agent[tui]`: the CLI, the headless
|
|
38
|
+
modes, and the Textual interface.
|
|
39
|
+
|
|
40
|
+
It deliberately does **not** pull in `[jmfts]`. The JMFTS session store needs a
|
|
41
|
+
running server, so an install that added it by default would answer a question
|
|
42
|
+
nobody asked. Install it when you want it:
|
|
43
|
+
|
|
44
|
+
```bash
|
|
45
|
+
pip install 'ffwf-tau-coding-agent[tui,jmfts]'
|
|
46
|
+
```
|
|
47
|
+
|
|
48
|
+
If you want the headless agent without any interface libraries — 15 packages
|
|
49
|
+
instead of 27 — install the real distribution rather than this one:
|
|
50
|
+
|
|
51
|
+
```bash
|
|
52
|
+
pip install ffwf-tau-coding-agent
|
|
53
|
+
```
|
|
54
|
+
|
|
55
|
+
## Everything else
|
|
56
|
+
|
|
57
|
+
Documentation: <https://ffwfrobotics.github.io/tau/>
|
|
58
|
+
|
|
59
|
+
Repository: <https://github.com/jmccardle/tau>
|
|
60
|
+
|
|
61
|
+
MIT © Fight Fire with Fire Robotics, LLC
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
[project]
|
|
2
|
+
name = "ffwf-tau"
|
|
3
|
+
# The version is not a literal here. Each distribution reads it from its own
|
|
4
|
+
# package's ``__version__``, so the wheel metadata and what the code reports can
|
|
5
|
+
# never disagree -- they are the same line. Bump that line to cut a release.
|
|
6
|
+
#
|
|
7
|
+
# This distribution ships no functional code, and ``tau_meta/__init__.py`` exists
|
|
8
|
+
# only to hold that line. The alternative -- a plain ``version = "..."`` literal,
|
|
9
|
+
# the exemption the repo-root pyproject gets -- is the second copy of the number
|
|
10
|
+
# that tests/test_packaging.py forbids by name, and this tree already shipped
|
|
11
|
+
# ``0.0.0`` in four pyprojects while ``tau --version`` said ``0.9.1``. A one-line
|
|
12
|
+
# module is cheaper than an exception to the rule that caught that.
|
|
13
|
+
dynamic = ["version"]
|
|
14
|
+
description = "τ: the guessable name. Installs ffwf-tau-coding-agent[tui] — the `tau` command with its TUI."
|
|
15
|
+
requires-python = ">=3.11"
|
|
16
|
+
readme = "README.md"
|
|
17
|
+
# SPDX expression + the file itself (PEP 639), which is why build-system below
|
|
18
|
+
# needs setuptools >= 77.0.3: earlier versions ignore `license-files` and the
|
|
19
|
+
# wheel ships without the licence text. Each package carries its own copy of the
|
|
20
|
+
# repo-root LICENSE because a wheel is built from one package directory and
|
|
21
|
+
# cannot reach outside it.
|
|
22
|
+
license = "MIT"
|
|
23
|
+
license-files = ["LICENSE"]
|
|
24
|
+
authors = [{ name = "Fight Fire with Fire Robotics, LLC" }]
|
|
25
|
+
# The whole distribution. `[tui]` and not the bare package, because someone who
|
|
26
|
+
# types the shortest name wants the program: `tau` with no arguments launches the
|
|
27
|
+
# TUI, and without this extra that is the one thing it cannot do. `[jmfts]` is
|
|
28
|
+
# deliberately absent -- it needs a running server, and an install that pulls one
|
|
29
|
+
# in by default would be answering a question nobody asked.
|
|
30
|
+
dependencies = [
|
|
31
|
+
"ffwf-tau-coding-agent[tui]==0.9.3",
|
|
32
|
+
]
|
|
33
|
+
|
|
34
|
+
# The PUBLIC repository only. This tree has a second, private git remote whose
|
|
35
|
+
# history is unfiltered; its hostname must never reach this file or a README,
|
|
36
|
+
# because both are uploaded verbatim (pyproject.toml ships inside the sdist).
|
|
37
|
+
# tests/test_packaging.py enforces that.
|
|
38
|
+
[project.urls]
|
|
39
|
+
Homepage = "https://ffwfrobotics.github.io/tau/"
|
|
40
|
+
Documentation = "https://ffwfrobotics.github.io/tau/"
|
|
41
|
+
Repository = "https://github.com/jmccardle/tau"
|
|
42
|
+
Issues = "https://github.com/jmccardle/tau/issues"
|
|
43
|
+
|
|
44
|
+
[build-system]
|
|
45
|
+
requires = ["setuptools>=77.0.3", "wheel"]
|
|
46
|
+
build-backend = "setuptools.build_meta"
|
|
47
|
+
|
|
48
|
+
[tool.setuptools.packages.find]
|
|
49
|
+
where = ["src"]
|
|
50
|
+
|
|
51
|
+
[tool.setuptools.dynamic]
|
|
52
|
+
version = { attr = "tau_meta.__version__" }
|
ffwf_tau-0.9.3/setup.cfg
ADDED
|
@@ -0,0 +1,77 @@
|
|
|
1
|
+
Metadata-Version: 2.4
|
|
2
|
+
Name: ffwf-tau
|
|
3
|
+
Version: 0.9.3
|
|
4
|
+
Summary: τ: the guessable name. Installs ffwf-tau-coding-agent[tui] — the `tau` command with its TUI.
|
|
5
|
+
Author: Fight Fire with Fire Robotics, LLC
|
|
6
|
+
License-Expression: MIT
|
|
7
|
+
Project-URL: Homepage, https://ffwfrobotics.github.io/tau/
|
|
8
|
+
Project-URL: Documentation, https://ffwfrobotics.github.io/tau/
|
|
9
|
+
Project-URL: Repository, https://github.com/jmccardle/tau
|
|
10
|
+
Project-URL: Issues, https://github.com/jmccardle/tau/issues
|
|
11
|
+
Requires-Python: >=3.11
|
|
12
|
+
Description-Content-Type: text/markdown
|
|
13
|
+
License-File: LICENSE
|
|
14
|
+
Requires-Dist: ffwf-tau-coding-agent[tui]==0.9.3
|
|
15
|
+
Dynamic: license-file
|
|
16
|
+
|
|
17
|
+
# ffwf-tau
|
|
18
|
+
|
|
19
|
+
The guessable name for **Tau**, a programmable coding-agent harness with an
|
|
20
|
+
optional TUI.
|
|
21
|
+
|
|
22
|
+
```bash
|
|
23
|
+
pip install ffwf-tau
|
|
24
|
+
tau
|
|
25
|
+
```
|
|
26
|
+
|
|
27
|
+
This distribution contains no code. It depends on
|
|
28
|
+
`ffwf-tau-coding-agent[tui]` at the same version and nothing else, so the two
|
|
29
|
+
commands above install the `tau` program with its interface and start it.
|
|
30
|
+
|
|
31
|
+
## Why it exists
|
|
32
|
+
|
|
33
|
+
Tau publishes four distributions, and none of them is called `ffwf-tau`:
|
|
34
|
+
|
|
35
|
+
| Distribution | Imports as | What it is |
|
|
36
|
+
|---|---|---|
|
|
37
|
+
| `ffwf-tau-llm` | `tau_llm` | the provider and streaming layer |
|
|
38
|
+
| `ffwf-tau-agent-core` | `tau_agent_core` | the agent loop, tools, sessions, extensions |
|
|
39
|
+
| `ffwf-tau-coding-agent` | `tau_coding_agent` | the `tau` command and the Textual TUI |
|
|
40
|
+
| `ffwf-tau-jmfts` | `tau_jmfts` | the optional JMFTS session store |
|
|
41
|
+
|
|
42
|
+
`pip install ffwf-tau` used to fail with `could not find a version that
|
|
43
|
+
satisfies the requirement`, which reads as "wrong Python" or "wrong index" and
|
|
44
|
+
is neither. It also matches the name of a command Tau already installs: the
|
|
45
|
+
`ffwf-tau` executable is the prefixed spelling of `tau`, for scripts that need a
|
|
46
|
+
name PyPI guarantees. One name now means one thing in both places.
|
|
47
|
+
|
|
48
|
+
Note the `ffwf-` prefix throughout. `tau`, `tau-llm`, and `tau-ai` on PyPI are
|
|
49
|
+
unrelated projects.
|
|
50
|
+
|
|
51
|
+
## What you get, and what you do not
|
|
52
|
+
|
|
53
|
+
`ffwf-tau` resolves to `ffwf-tau-coding-agent[tui]`: the CLI, the headless
|
|
54
|
+
modes, and the Textual interface.
|
|
55
|
+
|
|
56
|
+
It deliberately does **not** pull in `[jmfts]`. The JMFTS session store needs a
|
|
57
|
+
running server, so an install that added it by default would answer a question
|
|
58
|
+
nobody asked. Install it when you want it:
|
|
59
|
+
|
|
60
|
+
```bash
|
|
61
|
+
pip install 'ffwf-tau-coding-agent[tui,jmfts]'
|
|
62
|
+
```
|
|
63
|
+
|
|
64
|
+
If you want the headless agent without any interface libraries — 15 packages
|
|
65
|
+
instead of 27 — install the real distribution rather than this one:
|
|
66
|
+
|
|
67
|
+
```bash
|
|
68
|
+
pip install ffwf-tau-coding-agent
|
|
69
|
+
```
|
|
70
|
+
|
|
71
|
+
## Everything else
|
|
72
|
+
|
|
73
|
+
Documentation: <https://ffwfrobotics.github.io/tau/>
|
|
74
|
+
|
|
75
|
+
Repository: <https://github.com/jmccardle/tau>
|
|
76
|
+
|
|
77
|
+
MIT © Fight Fire with Fire Robotics, LLC
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
ffwf-tau-coding-agent[tui]==0.9.3
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
tau_meta
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
"""The version literal for the ``ffwf-tau`` metapackage, and nothing else.
|
|
2
|
+
|
|
3
|
+
``ffwf-tau`` ships no functional code: it is a name that resolves to
|
|
4
|
+
``ffwf-tau-coding-agent[tui]``. This module exists so that its wheel version is
|
|
5
|
+
read from a package attribute like every other distribution in this tree, rather
|
|
6
|
+
than from a second copy of the number written into a pyproject.
|
|
7
|
+
|
|
8
|
+
Nothing imports this. ``tau_coding_agent.__version__`` is the version the running
|
|
9
|
+
program reports.
|
|
10
|
+
"""
|
|
11
|
+
|
|
12
|
+
__version__ = "0.9.3"
|