Client SDK for App Mesh
Project description
Advanced Application Management Platform
App Mesh is a secure platform for executing and managing user-defined process behaviors as managed services, providing control and integration via CLI and RESTful APIs.
App Mesh = systemd + scheduler + remote exec + API
1. Application Management
Manages user-defined processes in a way similar to systemd services or Docker-managed processes, while providing more advanced capabilities for control, security, and integration.
# List registered applications
$ appc ls
ID NAME OWNER STATUS HEALTH PID USER MEMORY %CPU RETURN AGE DURATION STARTS COMMAND
1 pyexec mesh disabled - - - - - - 37s - 0 "python3 ../../bin/py_exec.py"
2 ping mesh enabled OK 747 root 5.9 MiB 0 - 37s 37s 1 "ping cloudflare.com"
3 pytask mesh enabled OK 748 root 29.7 MiB 0 - 37s 37s 1 "python3 ../../bin/py_task.py"
# Add app
$ appc add -a myapp -c "ping www.baidu.com"
# View app
$ appc ls -a myapp -o
PING www.baidu.com (183.2.172.17) 56(84) bytes of data.
64 bytes from 183.2.172.17 (183.2.172.17): icmp_seq=1 ttl=52 time=34.9 ms
64 bytes from 183.2.172.17 (183.2.172.17): icmp_seq=2 ttl=52 time=35.1 ms
64 bytes from 183.2.172.17 (183.2.172.17): icmp_seq=3 ttl=52 time=35.3 ms
# appc -h for more usage
Supports not only long-running services, but also scheduled and policy-driven executions, with remote control and execution status tracking.
2. Sending Tasks to a Running Application
Interact with a running application by sending tasks or data to it and receiving responses through the SDK.
from appmesh import AppMeshClient
client = AppMeshClient()
client.login("USER-NAME", "USER-PWD")
result_from_server = "0"
for i in range(10):
task_data = f"print({result_from_server} + {i}, end='')"
result_from_server = client.run_task(app_name="pytask", data=task_data)
print(result_from_server)
🚀 Features
| Feature | Description |
|---|---|
| App Management | 🧩 App CURD with Full Remote Control – including cgroup, OS user, environment variables, Docker, stdin, and stdout – along with comprehensive monitoring (start counts, exit codes, error messages, health checks). 🧩 Fine-Grained Behavior Control & Scheduling – supports long- and short-running tasks, periodic jobs, cron schedules, custom timings, and robust error handling. 🧩 Multi-Tenancy – built-in user ownership model and access controls. 🧩 Unified Access Interface – interact via CLI, REST, SDK or WebGUI. |
| Computing | 🚀 High-performance in-memory computing ▶️ Remote execution |
| Security | 🔐 Authentication: OAuth, 2FA, YAML-based storage (local or Consul for clustering) 🔐 Authorization: JWT, RBAC, multi-tenant isolation 🔐 Protection: SSL/TLS for TCP/HTTP/WebSocket, CSRF tokens, HMAC with PSK for non-token verification |
| Cloud Native | 🌩️ Prometheus Exporter (build-in) 🌩️ Grafana SimpleJson datasource 🌩️ Grafana Loki 🌩️ Dockerfile 🧱 Consul micro-service cluster management |
| Extra Features | Collect host/app resource usage Remote shell command execution File upload/download API Hot-update support systemctl reload appmesh Bash completion Request Forwarding 🌐Web GUI |
| Echosystem | LLM: Model Context Protocol (MCP) AI: Claude Code Plugin IoT: MQTT |
| Platform support | X86, ARM |
| SDK | C++, Rust, Python, Golang, JavaScript, Java, Swagger OpenAPI Specification |
📦 Install
Refer to the Installation doc, this covers:
- Docker Compose setup
- Native installation
- Cluster initialization
📚 Documentation
🆚 Comparison
Standalone mode
| Feature | App Mesh | Supervisor | crontab |
|---|---|---|---|
| Accuracy | Seconds | Seconds | Minutes |
| Language | C++11 | Python | C |
| Web GUI | √ | √ | |
| Command lines | √ | √ | √ |
| SDK | √ | ||
| Cron schedule expression | √ | √ | |
| Manage docker app | √ | ||
| Session login | √ | ||
| Manage stdout/stderr | √ | √ | |
| Health check | √ | ||
| Authentication | √ | √ | |
| Multi-tenant | √ | √ |
Mind diagram
💡 Success
- In-memory remote task execute
- Build a powerful monitor system with Grafana/Prometheus/Loki
- Customize application start behavior
- Open service broker support local PV for Kubernetes
- Promote native application to microservice application
- Secure REST file server
- Standalone JWT server
- Kubernetes run none-container applications
- Remote execute
- Python parallel run
- Secure consul cluster
- JWT service with REST and UI
🔗 Library dependency
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distributions
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file appmesh-2.1.13-py3-none-any.whl.
File metadata
- Download URL: appmesh-2.1.13-py3-none-any.whl
- Upload date:
- Size: 44.6 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
11d37009e91d433d8471ed42fdf541641e848ec35ff49736623d7f01b03e52e2
|
|
| MD5 |
44a5c1b736f63ead49b451d7c0cc9993
|
|
| BLAKE2b-256 |
f1c44f225ce095dff44b4e43dc579b11a2f1f1692935e72d2849496bbab7c187
|