softmax-cli 0.26.13__tar.gz → 0.26.14__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.
Files changed (26) hide show
  1. softmax_cli-0.26.14/AGENTS.md +49 -0
  2. {softmax_cli-0.26.13 → softmax_cli-0.26.14}/BUILD.bazel +6 -6
  3. softmax_cli-0.26.14/CLAUDE.md +49 -0
  4. softmax_cli-0.26.14/PKG-INFO +53 -0
  5. softmax_cli-0.26.14/README.md +35 -0
  6. softmax_cli-0.26.14/src/softmax_cli.egg-info/PKG-INFO +53 -0
  7. {softmax_cli-0.26.13 → softmax_cli-0.26.14}/src/softmax_cli.egg-info/SOURCES.txt +3 -0
  8. {softmax_cli-0.26.13 → softmax_cli-0.26.14}/tests/BUILD.bazel +7 -6
  9. {softmax_cli-0.26.13 → softmax_cli-0.26.14}/tests/test_cli_plugins.py +0 -1
  10. softmax_cli-0.26.13/PKG-INFO +0 -17
  11. softmax_cli-0.26.13/src/softmax_cli.egg-info/PKG-INFO +0 -17
  12. {softmax_cli-0.26.13 → softmax_cli-0.26.14}/pyproject.toml +0 -0
  13. {softmax_cli-0.26.13 → softmax_cli-0.26.14}/setup.cfg +0 -0
  14. {softmax_cli-0.26.13 → softmax_cli-0.26.14}/src/softmax/__init__.py +0 -0
  15. {softmax_cli-0.26.13 → softmax_cli-0.26.14}/src/softmax/_console.py +0 -0
  16. {softmax_cli-0.26.13 → softmax_cli-0.26.14}/src/softmax/auth.py +0 -0
  17. {softmax_cli-0.26.13 → softmax_cli-0.26.14}/src/softmax/cli.py +0 -0
  18. {softmax_cli-0.26.13 → softmax_cli-0.26.14}/src/softmax/cogames.py +0 -0
  19. {softmax_cli-0.26.13 → softmax_cli-0.26.14}/src/softmax/perform_login.py +0 -0
  20. {softmax_cli-0.26.13 → softmax_cli-0.26.14}/src/softmax/token_storage.py +0 -0
  21. {softmax_cli-0.26.13 → softmax_cli-0.26.14}/src/softmax_cli.egg-info/dependency_links.txt +0 -0
  22. {softmax_cli-0.26.13 → softmax_cli-0.26.14}/src/softmax_cli.egg-info/entry_points.txt +0 -0
  23. {softmax_cli-0.26.13 → softmax_cli-0.26.14}/src/softmax_cli.egg-info/requires.txt +0 -0
  24. {softmax_cli-0.26.13 → softmax_cli-0.26.14}/src/softmax_cli.egg-info/top_level.txt +0 -0
  25. {softmax_cli-0.26.13 → softmax_cli-0.26.14}/tests/test_auth_login.py +0 -0
  26. {softmax_cli-0.26.13 → softmax_cli-0.26.14}/tests/test_python_api.py +0 -0
@@ -0,0 +1,49 @@
1
+ # AGENTS.md — softmax-cli
2
+
3
+ The `softmax` CLI: authentication and account tools for Softmax/Observatory. Other packages (e.g. `coworld`) depend on
4
+ it for login/token handling and pin an exact version. Deps: `typer`, `rich`, `httpx`, plus `fastapi`/`uvicorn` for the
5
+ local browser-login callback server. The `cogames` optional extra mounts the cogames CLI as a `softmax cogames`
6
+ subcommand. Published to PyPI.
7
+
8
+ ## CLI
9
+
10
+ Installs a `softmax` entrypoint (`softmax.cli:app`, Typer):
11
+
12
+ ```bash
13
+ uv run softmax login # browser-based login (spins up a local callback server)
14
+ uv run softmax logout
15
+ uv run softmax status
16
+ uv run softmax get-login-url
17
+ uv run softmax get-token / set-token
18
+ uv run softmax cogames ... # only when installed with the `cogames` extra
19
+ ```
20
+
21
+ ## Tests
22
+
23
+ ```bash
24
+ uv run metta pytest packages/softmax-cli/tests -v
25
+ uv run metta pytest --changed
26
+ ```
27
+
28
+ Tests cover auth/login, the Python API, and CLI plugin wiring; a `BUILD.bazel` exists under `tests/`.
29
+
30
+ ## Lint
31
+
32
+ ```bash
33
+ uv run metta lint --fix # ruff (also runs via the Edit/Write hook)
34
+ ```
35
+
36
+ ## Source layout (`src/softmax/`)
37
+
38
+ - `cli.py` — the Typer app; mounts the optional `cogames` subapp via `add_typer`.
39
+ - `auth.py` — auth/session state and token validation.
40
+ - `perform_login.py` — the local FastAPI/uvicorn callback server used during `softmax login`.
41
+ - `token_storage.py` — on-disk token persistence.
42
+ - `cogames.py` — the optional cogames subcommand wiring.
43
+ - `_console.py` — shared rich console helpers.
44
+
45
+ ## Gotchas
46
+
47
+ - Versioned via `setuptools_scm` off `softmax-v*` git tags (`fallback_version = 0.0.0`).
48
+ - Downstream packages pin an exact `softmax-cli==X.Y.Z`; bumping the public auth API can break them — coordinate version
49
+ bumps with consumers like `coworld`.
@@ -9,11 +9,11 @@ py_library(
9
9
  visibility = ["//visibility:public"],
10
10
  deps = [
11
11
  # Mirrors packages/softmax-cli/pyproject.toml [project.dependencies].
12
- "@pyenv//:typer",
13
- "@pyenv//:rich",
14
- "@pyenv//:fastapi",
15
- "@pyenv//:uvicorn",
16
- "@pyenv//:httpx",
17
- "@pyenv//:pyyaml",
12
+ "@pypi//typer",
13
+ "@pypi//rich",
14
+ "@pypi//fastapi",
15
+ "@pypi//uvicorn",
16
+ "@pypi//httpx",
17
+ "@pypi//pyyaml",
18
18
  ],
19
19
  )
@@ -0,0 +1,49 @@
1
+ # AGENTS.md — softmax-cli
2
+
3
+ The `softmax` CLI: authentication and account tools for Softmax/Observatory. Other packages (e.g. `coworld`) depend on
4
+ it for login/token handling and pin an exact version. Deps: `typer`, `rich`, `httpx`, plus `fastapi`/`uvicorn` for the
5
+ local browser-login callback server. The `cogames` optional extra mounts the cogames CLI as a `softmax cogames`
6
+ subcommand. Published to PyPI.
7
+
8
+ ## CLI
9
+
10
+ Installs a `softmax` entrypoint (`softmax.cli:app`, Typer):
11
+
12
+ ```bash
13
+ uv run softmax login # browser-based login (spins up a local callback server)
14
+ uv run softmax logout
15
+ uv run softmax status
16
+ uv run softmax get-login-url
17
+ uv run softmax get-token / set-token
18
+ uv run softmax cogames ... # only when installed with the `cogames` extra
19
+ ```
20
+
21
+ ## Tests
22
+
23
+ ```bash
24
+ uv run metta pytest packages/softmax-cli/tests -v
25
+ uv run metta pytest --changed
26
+ ```
27
+
28
+ Tests cover auth/login, the Python API, and CLI plugin wiring; a `BUILD.bazel` exists under `tests/`.
29
+
30
+ ## Lint
31
+
32
+ ```bash
33
+ uv run metta lint --fix # ruff (also runs via the Edit/Write hook)
34
+ ```
35
+
36
+ ## Source layout (`src/softmax/`)
37
+
38
+ - `cli.py` — the Typer app; mounts the optional `cogames` subapp via `add_typer`.
39
+ - `auth.py` — auth/session state and token validation.
40
+ - `perform_login.py` — the local FastAPI/uvicorn callback server used during `softmax login`.
41
+ - `token_storage.py` — on-disk token persistence.
42
+ - `cogames.py` — the optional cogames subcommand wiring.
43
+ - `_console.py` — shared rich console helpers.
44
+
45
+ ## Gotchas
46
+
47
+ - Versioned via `setuptools_scm` off `softmax-v*` git tags (`fallback_version = 0.0.0`).
48
+ - Downstream packages pin an exact `softmax-cli==X.Y.Z`; bumping the public auth API can break them — coordinate version
49
+ bumps with consumers like `coworld`.
@@ -0,0 +1,53 @@
1
+ Metadata-Version: 2.4
2
+ Name: softmax-cli
3
+ Version: 0.26.14
4
+ Summary: Softmax CLI — authentication and account tools
5
+ Classifier: Programming Language :: Python :: 3
6
+ Classifier: Programming Language :: Python :: 3.11
7
+ Classifier: Programming Language :: Python :: 3.12
8
+ Requires-Python: <3.13,>=3.11
9
+ Description-Content-Type: text/markdown
10
+ Requires-Dist: typer>=0.19.2
11
+ Requires-Dist: rich>=13.7.0
12
+ Requires-Dist: fastapi>=0.115.0
13
+ Requires-Dist: uvicorn>=0.34.0
14
+ Requires-Dist: httpx>=0.28.1
15
+ Requires-Dist: pyyaml>=6.0.2
16
+ Provides-Extra: cogames
17
+ Requires-Dist: cogames; extra == "cogames"
18
+
19
+ # softmax-cli
20
+
21
+ The `softmax` command-line tool: authentication and account management for Softmax / Observatory. It provides
22
+ browser-based login (with a local callback server), token storage, and account status. Other packages — notably
23
+ `coworld` — depend on it for auth. Installing with the `cogames` extra mounts the cogames CLI as a `softmax cogames`
24
+ subcommand.
25
+
26
+ ## Install
27
+
28
+ ```bash
29
+ uv tool install softmax-cli # standalone
30
+ uv tool install "softmax-cli[cogames]" # with the cogames subcommand
31
+ ```
32
+
33
+ Within the metta workspace it is available via `uv sync`.
34
+
35
+ ## Usage
36
+
37
+ ```bash
38
+ uv run softmax login # log in via the browser
39
+ uv run softmax status # show current auth status
40
+ uv run softmax logout
41
+ uv run softmax get-token # print the stored token
42
+ uv run softmax set-token # store a token manually
43
+ uv run softmax cogames ... # only with the `cogames` extra
44
+ ```
45
+
46
+ ## Development
47
+
48
+ ```bash
49
+ uv run metta pytest packages/softmax-cli/tests -v # run tests
50
+ uv run metta lint --fix # lint/format
51
+ ```
52
+
53
+ See [AGENTS.md](AGENTS.md) for the source layout and versioning/compatibility notes.
@@ -0,0 +1,35 @@
1
+ # softmax-cli
2
+
3
+ The `softmax` command-line tool: authentication and account management for Softmax / Observatory. It provides
4
+ browser-based login (with a local callback server), token storage, and account status. Other packages — notably
5
+ `coworld` — depend on it for auth. Installing with the `cogames` extra mounts the cogames CLI as a `softmax cogames`
6
+ subcommand.
7
+
8
+ ## Install
9
+
10
+ ```bash
11
+ uv tool install softmax-cli # standalone
12
+ uv tool install "softmax-cli[cogames]" # with the cogames subcommand
13
+ ```
14
+
15
+ Within the metta workspace it is available via `uv sync`.
16
+
17
+ ## Usage
18
+
19
+ ```bash
20
+ uv run softmax login # log in via the browser
21
+ uv run softmax status # show current auth status
22
+ uv run softmax logout
23
+ uv run softmax get-token # print the stored token
24
+ uv run softmax set-token # store a token manually
25
+ uv run softmax cogames ... # only with the `cogames` extra
26
+ ```
27
+
28
+ ## Development
29
+
30
+ ```bash
31
+ uv run metta pytest packages/softmax-cli/tests -v # run tests
32
+ uv run metta lint --fix # lint/format
33
+ ```
34
+
35
+ See [AGENTS.md](AGENTS.md) for the source layout and versioning/compatibility notes.
@@ -0,0 +1,53 @@
1
+ Metadata-Version: 2.4
2
+ Name: softmax-cli
3
+ Version: 0.26.14
4
+ Summary: Softmax CLI — authentication and account tools
5
+ Classifier: Programming Language :: Python :: 3
6
+ Classifier: Programming Language :: Python :: 3.11
7
+ Classifier: Programming Language :: Python :: 3.12
8
+ Requires-Python: <3.13,>=3.11
9
+ Description-Content-Type: text/markdown
10
+ Requires-Dist: typer>=0.19.2
11
+ Requires-Dist: rich>=13.7.0
12
+ Requires-Dist: fastapi>=0.115.0
13
+ Requires-Dist: uvicorn>=0.34.0
14
+ Requires-Dist: httpx>=0.28.1
15
+ Requires-Dist: pyyaml>=6.0.2
16
+ Provides-Extra: cogames
17
+ Requires-Dist: cogames; extra == "cogames"
18
+
19
+ # softmax-cli
20
+
21
+ The `softmax` command-line tool: authentication and account management for Softmax / Observatory. It provides
22
+ browser-based login (with a local callback server), token storage, and account status. Other packages — notably
23
+ `coworld` — depend on it for auth. Installing with the `cogames` extra mounts the cogames CLI as a `softmax cogames`
24
+ subcommand.
25
+
26
+ ## Install
27
+
28
+ ```bash
29
+ uv tool install softmax-cli # standalone
30
+ uv tool install "softmax-cli[cogames]" # with the cogames subcommand
31
+ ```
32
+
33
+ Within the metta workspace it is available via `uv sync`.
34
+
35
+ ## Usage
36
+
37
+ ```bash
38
+ uv run softmax login # log in via the browser
39
+ uv run softmax status # show current auth status
40
+ uv run softmax logout
41
+ uv run softmax get-token # print the stored token
42
+ uv run softmax set-token # store a token manually
43
+ uv run softmax cogames ... # only with the `cogames` extra
44
+ ```
45
+
46
+ ## Development
47
+
48
+ ```bash
49
+ uv run metta pytest packages/softmax-cli/tests -v # run tests
50
+ uv run metta lint --fix # lint/format
51
+ ```
52
+
53
+ See [AGENTS.md](AGENTS.md) for the source layout and versioning/compatibility notes.
@@ -1,4 +1,7 @@
1
+ AGENTS.md
1
2
  BUILD.bazel
3
+ CLAUDE.md
4
+ README.md
2
5
  pyproject.toml
3
6
  src/softmax/__init__.py
4
7
  src/softmax/_console.py
@@ -26,12 +26,13 @@ _TEST_FILES = glob(
26
26
  deps = [
27
27
  "//packages/softmax-cli:softmax",
28
28
  # test_cli_plugins exercises Typer entry-point discovery — it
29
- # asserts `cogames` registers as a softmax subcommand. With
30
- # per-package @pyenv targets only deps you name reach the
31
- # runfiles tree, so the cogames dist-info has to be pulled in
32
- # explicitly for the entry-point loader to find it.
33
- "@pyenv//:cogames",
34
- "@pyenv//:pytest",
29
+ # asserts `cogames` registers as a softmax subcommand. The
30
+ # cogames bazel target carries its src/ tree but not the
31
+ # installed entry-point metadata; if test_cli_plugins fails
32
+ # after this migration the fix is to add a runtime data dep
33
+ # on the cogames wheel's dist-info instead.
34
+ "//packages/cogames:cogames",
35
+ "@pypi//pytest",
35
36
  ],
36
37
  )
37
38
  for test_file in _TEST_FILES
@@ -20,5 +20,4 @@ def test_softmax_cogames_help_lists_local_commands() -> None:
20
20
  assert "train" in result.stdout
21
21
  assert "eval" in result.stdout
22
22
  assert "bundle" in result.stdout
23
- assert "player" in result.stdout
24
23
  assert "tutorial" in result.stdout
@@ -1,17 +0,0 @@
1
- Metadata-Version: 2.4
2
- Name: softmax-cli
3
- Version: 0.26.13
4
- Summary: Softmax CLI — authentication and account tools
5
- Classifier: Programming Language :: Python :: 3
6
- Classifier: Programming Language :: Python :: 3.11
7
- Classifier: Programming Language :: Python :: 3.12
8
- Requires-Python: <3.13,>=3.11
9
- Description-Content-Type: text/markdown
10
- Requires-Dist: typer>=0.19.2
11
- Requires-Dist: rich>=13.7.0
12
- Requires-Dist: fastapi>=0.115.0
13
- Requires-Dist: uvicorn>=0.34.0
14
- Requires-Dist: httpx>=0.28.1
15
- Requires-Dist: pyyaml>=6.0.2
16
- Provides-Extra: cogames
17
- Requires-Dist: cogames; extra == "cogames"
@@ -1,17 +0,0 @@
1
- Metadata-Version: 2.4
2
- Name: softmax-cli
3
- Version: 0.26.13
4
- Summary: Softmax CLI — authentication and account tools
5
- Classifier: Programming Language :: Python :: 3
6
- Classifier: Programming Language :: Python :: 3.11
7
- Classifier: Programming Language :: Python :: 3.12
8
- Requires-Python: <3.13,>=3.11
9
- Description-Content-Type: text/markdown
10
- Requires-Dist: typer>=0.19.2
11
- Requires-Dist: rich>=13.7.0
12
- Requires-Dist: fastapi>=0.115.0
13
- Requires-Dist: uvicorn>=0.34.0
14
- Requires-Dist: httpx>=0.28.1
15
- Requires-Dist: pyyaml>=6.0.2
16
- Provides-Extra: cogames
17
- Requires-Dist: cogames; extra == "cogames"
File without changes