astromesh-cli 0.2.0__tar.gz → 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.
- {astromesh_cli-0.2.0 → astromesh_cli-0.3.0}/CHANGELOG.md +5 -0
- {astromesh_cli-0.2.0 → astromesh_cli-0.3.0}/PKG-INFO +2 -2
- astromesh_cli-0.3.0/README.md +68 -0
- {astromesh_cli-0.2.0 → astromesh_cli-0.3.0}/astromesh_cli/__init__.py +1 -1
- {astromesh_cli-0.2.0 → astromesh_cli-0.3.0}/pyproject.toml +2 -2
- {astromesh_cli-0.2.0 → astromesh_cli-0.3.0}/uv.lock +5 -4
- {astromesh_cli-0.2.0 → astromesh_cli-0.3.0}/.gitignore +0 -0
- {astromesh_cli-0.2.0 → astromesh_cli-0.3.0}/astromesh_cli/client.py +0 -0
- {astromesh_cli-0.2.0 → astromesh_cli-0.3.0}/astromesh_cli/commands/__init__.py +0 -0
- {astromesh_cli-0.2.0 → astromesh_cli-0.3.0}/astromesh_cli/commands/agents.py +0 -0
- {astromesh_cli-0.2.0 → astromesh_cli-0.3.0}/astromesh_cli/commands/ask.py +0 -0
- {astromesh_cli-0.2.0 → astromesh_cli-0.3.0}/astromesh_cli/commands/dev.py +0 -0
- {astromesh_cli-0.2.0 → astromesh_cli-0.3.0}/astromesh_cli/commands/doctor.py +0 -0
- {astromesh_cli-0.2.0 → astromesh_cli-0.3.0}/astromesh_cli/commands/mesh.py +0 -0
- {astromesh_cli-0.2.0 → astromesh_cli-0.3.0}/astromesh_cli/commands/metrics.py +0 -0
- {astromesh_cli-0.2.0 → astromesh_cli-0.3.0}/astromesh_cli/commands/new.py +0 -0
- {astromesh_cli-0.2.0 → astromesh_cli-0.3.0}/astromesh_cli/commands/peers.py +0 -0
- {astromesh_cli-0.2.0 → astromesh_cli-0.3.0}/astromesh_cli/commands/providers.py +0 -0
- {astromesh_cli-0.2.0 → astromesh_cli-0.3.0}/astromesh_cli/commands/run.py +0 -0
- {astromesh_cli-0.2.0 → astromesh_cli-0.3.0}/astromesh_cli/commands/services.py +0 -0
- {astromesh_cli-0.2.0 → astromesh_cli-0.3.0}/astromesh_cli/commands/status.py +0 -0
- {astromesh_cli-0.2.0 → astromesh_cli-0.3.0}/astromesh_cli/commands/tools.py +0 -0
- {astromesh_cli-0.2.0 → astromesh_cli-0.3.0}/astromesh_cli/commands/traces.py +0 -0
- {astromesh_cli-0.2.0 → astromesh_cli-0.3.0}/astromesh_cli/main.py +0 -0
- {astromesh_cli-0.2.0 → astromesh_cli-0.3.0}/astromesh_cli/output.py +0 -0
- {astromesh_cli-0.2.0 → astromesh_cli-0.3.0}/astromesh_cli/templates/agent.yaml.j2 +0 -0
- {astromesh_cli-0.2.0 → astromesh_cli-0.3.0}/astromesh_cli/templates/tool.py.j2 +0 -0
- {astromesh_cli-0.2.0 → astromesh_cli-0.3.0}/astromesh_cli/templates/workflow.yaml.j2 +0 -0
- {astromesh_cli-0.2.0 → astromesh_cli-0.3.0}/tests/conftest.py +0 -0
- {astromesh_cli-0.2.0 → astromesh_cli-0.3.0}/tests/test_ask.py +0 -0
- {astromesh_cli-0.2.0 → astromesh_cli-0.3.0}/tests/test_client.py +0 -0
- {astromesh_cli-0.2.0 → astromesh_cli-0.3.0}/tests/test_main.py +0 -0
- {astromesh_cli-0.2.0 → astromesh_cli-0.3.0}/tests/test_output.py +0 -0
- {astromesh_cli-0.2.0 → astromesh_cli-0.3.0}/tests/test_run_usage.py +0 -0
- {astromesh_cli-0.2.0 → astromesh_cli-0.3.0}/tests/test_version.py +0 -0
|
@@ -7,6 +7,11 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
|
|
|
7
7
|
|
|
8
8
|
## [Unreleased]
|
|
9
9
|
|
|
10
|
+
## [0.2.1] - 2026-08-10
|
|
11
|
+
|
|
12
|
+
### Changed
|
|
13
|
+
- Bumped the `astromesh` core dependency floor to `>=0.40.0` (`pyproject.toml`).
|
|
14
|
+
|
|
10
15
|
## [0.2.0] - 2026-07-27
|
|
11
16
|
|
|
12
17
|
### Added
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: astromesh-cli
|
|
3
|
-
Version: 0.
|
|
3
|
+
Version: 0.3.0
|
|
4
4
|
Summary: CLI tool for managing Astromesh nodes and clusters
|
|
5
5
|
License: Apache-2.0
|
|
6
6
|
Requires-Python: >=3.12
|
|
7
|
-
Requires-Dist: astromesh>=0.
|
|
7
|
+
Requires-Dist: astromesh>=0.40.0
|
|
8
8
|
Requires-Dist: jinja2>=3.1.0
|
|
9
9
|
Requires-Dist: rich>=13.0.0
|
|
10
10
|
Requires-Dist: typer>=0.12.0
|
|
@@ -0,0 +1,68 @@
|
|
|
1
|
+
# astromeshctl
|
|
2
|
+
|
|
3
|
+
<p align="center">
|
|
4
|
+
<a href="https://monaccode.github.io/astromesh/#ecosystem"><img src="https://img.shields.io/badge/astromesh-operate-f59e0b?labelColor=161b22" alt="Astromesh · Operate"></a>
|
|
5
|
+
<a href="https://github.com/monaccode/astromesh/actions/workflows/ci.yml"><img src="https://github.com/monaccode/astromesh/actions/workflows/ci.yml/badge.svg?branch=main" alt="CI"></a>
|
|
6
|
+
<a href="https://github.com/monaccode/astromesh/actions/workflows/release-cli.yml"><img src="https://github.com/monaccode/astromesh/actions/workflows/release-cli.yml/badge.svg" alt="CLI Release"></a>
|
|
7
|
+
<a href="https://pypi.org/project/astromesh-cli/"><img src="https://img.shields.io/pypi/v/astromesh-cli?label=astromeshctl%20PyPI" alt="CLI PyPI"></a>
|
|
8
|
+
<a href="https://test.pypi.org/project/astromesh-cli/"><img src="https://img.shields.io/badge/dynamic/json?url=https%3A%2F%2Ftest.pypi.org%2Fpypi%2Fastromesh-cli%2Fjson&query=%24.info.version&label=CLI%20TestPyPI" alt="CLI TestPyPI"></a>
|
|
9
|
+
<a href="https://github.com/monaccode/astromesh/blob/develop/LICENSE"><img src="https://img.shields.io/github/license/monaccode/astromesh" alt="License"></a>
|
|
10
|
+
<a href="https://www.python.org/"><img src="https://img.shields.io/badge/python-3.12%2B-blue" alt="Python 3.12+"></a>
|
|
11
|
+
</p>
|
|
12
|
+
|
|
13
|
+
The terminal interface to an Astromesh node: agents, config, mesh state, profiles, and more.
|
|
14
|
+
|
|
15
|
+
## Install
|
|
16
|
+
|
|
17
|
+
```bash
|
|
18
|
+
pip install astromesh-cli
|
|
19
|
+
```
|
|
20
|
+
|
|
21
|
+
## Quick start
|
|
22
|
+
|
|
23
|
+
```bash
|
|
24
|
+
# Check versions
|
|
25
|
+
astromeshctl version
|
|
26
|
+
|
|
27
|
+
# Talk to a running node
|
|
28
|
+
astromeshctl status
|
|
29
|
+
astromeshctl agents list
|
|
30
|
+
astromeshctl ask "What agents are running?"
|
|
31
|
+
|
|
32
|
+
# Run an agent
|
|
33
|
+
astromeshctl run my-agent "Hello"
|
|
34
|
+
|
|
35
|
+
# Inspect traces and metrics
|
|
36
|
+
astromeshctl traces list
|
|
37
|
+
astromeshctl metrics
|
|
38
|
+
astromeshctl cost
|
|
39
|
+
```
|
|
40
|
+
|
|
41
|
+
## Commands
|
|
42
|
+
|
|
43
|
+
| Command | Purpose |
|
|
44
|
+
|---------|---------|
|
|
45
|
+
| `status` | Node health and summary |
|
|
46
|
+
| `doctor` | Diagnostics |
|
|
47
|
+
| `agents` | List, create, and manage agents |
|
|
48
|
+
| `providers` | Manage LLM providers |
|
|
49
|
+
| `mesh` / `peers` | Mesh networking |
|
|
50
|
+
| `services` | Service discovery |
|
|
51
|
+
| `run` | Run an agent |
|
|
52
|
+
| `dev` | Local development server |
|
|
53
|
+
| `traces` / `trace` | Execution traces |
|
|
54
|
+
| `tools` | Tool registry |
|
|
55
|
+
| `metrics` / `cost` | Usage and cost |
|
|
56
|
+
| `ask` | Ask the node a question |
|
|
57
|
+
| `new` | Scaffold new resources |
|
|
58
|
+
|
|
59
|
+
Plugins can extend `astromeshctl` via the `astromeshctl.plugins` entry point. For example, `astromesh-node` and `astromesh-orbit` register themselves this way.
|
|
60
|
+
|
|
61
|
+
## Documentation
|
|
62
|
+
|
|
63
|
+
- [CLI Commands](../docs-site/src/content/docs/reference/cli-commands.md)
|
|
64
|
+
- [Astromesh Docs](https://monaccode.github.io/astromesh/)
|
|
65
|
+
|
|
66
|
+
## License
|
|
67
|
+
|
|
68
|
+
Apache-2.0
|
|
@@ -4,12 +4,12 @@ build-backend = "hatchling.build"
|
|
|
4
4
|
|
|
5
5
|
[project]
|
|
6
6
|
name = "astromesh-cli"
|
|
7
|
-
version = "0.
|
|
7
|
+
version = "0.3.0"
|
|
8
8
|
description = "CLI tool for managing Astromesh nodes and clusters"
|
|
9
9
|
requires-python = ">=3.12"
|
|
10
10
|
license = {text = "Apache-2.0"}
|
|
11
11
|
dependencies = [
|
|
12
|
-
"astromesh>=0.
|
|
12
|
+
"astromesh>=0.40.0",
|
|
13
13
|
"typer>=0.12.0",
|
|
14
14
|
"rich>=13.0.0",
|
|
15
15
|
"jinja2>=3.1.0",
|
|
@@ -35,7 +35,7 @@ wheels = [
|
|
|
35
35
|
|
|
36
36
|
[[package]]
|
|
37
37
|
name = "astromesh"
|
|
38
|
-
version = "0.
|
|
38
|
+
version = "0.40.0"
|
|
39
39
|
source = { editable = "../" }
|
|
40
40
|
dependencies = [
|
|
41
41
|
{ name = "fastapi" },
|
|
@@ -50,7 +50,8 @@ dependencies = [
|
|
|
50
50
|
[package.metadata]
|
|
51
51
|
requires-dist = [
|
|
52
52
|
{ name = "aiosqlite", marker = "extra == 'sqlite'", specifier = ">=0.20.0" },
|
|
53
|
-
{ name = "astromesh", extras = ["redis", "postgres", "sqlite", "chromadb", "qdrant", "faiss", "embeddings", "onnx", "observability", "mcp", "mesh", "litellm", "centinela"], marker = "extra == 'all'" },
|
|
53
|
+
{ name = "astromesh", extras = ["redis", "postgres", "sqlite", "chromadb", "qdrant", "faiss", "embeddings", "onnx", "observability", "mcp", "mesh", "litellm", "centinela", "glyph"], marker = "extra == 'all'" },
|
|
54
|
+
{ name = "astromesh-glyph", marker = "extra == 'glyph'", editable = "../astromesh-glyph" },
|
|
54
55
|
{ name = "asyncpg", marker = "extra == 'postgres'", specifier = ">=0.30.0" },
|
|
55
56
|
{ name = "chromadb", marker = "extra == 'chromadb'", specifier = ">=0.5.0" },
|
|
56
57
|
{ name = "faiss-cpu", marker = "extra == 'faiss'", specifier = ">=1.8.0" },
|
|
@@ -75,7 +76,7 @@ requires-dist = [
|
|
|
75
76
|
{ name = "torch", marker = "extra == 'ml'", specifier = ">=2.0.0" },
|
|
76
77
|
{ name = "uvicorn", extras = ["standard"], specifier = ">=0.30.0" },
|
|
77
78
|
]
|
|
78
|
-
provides-extras = ["redis", "postgres", "sqlite", "chromadb", "qdrant", "faiss", "embeddings", "onnx", "ml", "observability", "mcp", "mesh", "litellm", "centinela", "all"]
|
|
79
|
+
provides-extras = ["redis", "postgres", "sqlite", "chromadb", "qdrant", "faiss", "embeddings", "onnx", "ml", "observability", "mcp", "mesh", "litellm", "centinela", "glyph", "all"]
|
|
79
80
|
|
|
80
81
|
[package.metadata.requires-dev]
|
|
81
82
|
dev = [
|
|
@@ -94,7 +95,7 @@ dev = [
|
|
|
94
95
|
|
|
95
96
|
[[package]]
|
|
96
97
|
name = "astromesh-cli"
|
|
97
|
-
version = "0.
|
|
98
|
+
version = "0.3.0"
|
|
98
99
|
source = { editable = "." }
|
|
99
100
|
dependencies = [
|
|
100
101
|
{ name = "astromesh" },
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|