| Name | eopod JSON |
| Version |
0.0.31
JSON |
| download |
| home_page | None |
| Summary | eopod is a streamlined command execution tool designed to run and manage operations on Google Cloud Pods efficiently |
| upload_time | 2025-08-15 10:58:25 |
| maintainer | None |
| docs_url | None |
| author | Erfan Zare Chavoshi |
| requires_python | <3.14,>=3.11 |
| license | Apache-2.0 |
| keywords |
eopod
|
| VCS |
 |
| bugtrack_url |
|
| requirements |
No requirements were recorded.
|
| Travis-CI |
No Travis.
|
| coveralls test coverage |
No coveralls.
|
# eopod: Enhanced TPU Command Runner
eopod is a command-line tool designed to simplify and enhance interaction with Google Cloud TPU VMs. It provides real-time output streaming, background process management, and robust error handling.
## Features
* **Configuration Management:** Easily configure eopod with your Google Cloud project ID, zone, and TPU name.
* **Command Execution:** Run commands on TPU VMs with advanced features like retries, delays, timeouts, and worker selection.
* **Interactive Mode (Experimental):** Run commands in an interactive SSH session (use with caution).
* **Command History:** View a history of executed commands, their status, and truncated output.
* **Error Logging:** Detailed error logs are maintained for debugging failed commands.
* **Rich Output:** Utilizes the `rich` library for visually appealing and informative output in the console.
## Installation
```bash
pip install eopod
```
## Configuration
Before using eopod, configure it with your Google Cloud credentials:
```bash
eopod configure --project-id YOUR_PROJECT_ID --zone YOUR_ZONE --tpu-name YOUR_TPU_NAME
```
## Usage Examples
### Basic Command Execution
Commands are executed with real-time output streaming by default:
```bash
# Simple command
eopod run echo "Hello TPU"
# Run Python script
eopod run python train.py --batch-size 32
# Complex commands with pipes and redirections
eopod run "cat data.txt | grep error > errors.log"
# Commands with multiple arguments
eopod run ls -la /path/to/dir
```
### Background Processes
Run long-running tasks in the background:
```bash
# Start training in background
eopod run python long_training.py --epochs 1000 --background
# Check background processes
eopod check-background
# Check specific process
eopod check-background 12345
# Kill a background process
eopod kill 12345
# Force kill if necessary
eopod kill 12345 --force
```
### Worker-Specific Commands
Execute commands on specific workers:
```bash
# Run on specific worker
eopod run nvidia-smi --worker 0
# Run on all workers (default)
eopod run hostname --worker all
```
### Advanced Options
```bash
# Disable output streaming
eopod run python script.py --no-stream
# Set custom retry count
eopod run python train.py --retry 5
# Set custom retry delay
eopod run python train.py --delay 10
# Set custom timeout
eopod run python train.py --timeout 600
```
### Kill and free TPU process
```bash
# Kill all TPU processes
eopod kill-tpu
# Force kill all TPU processes
eopod kill-tpu --force
# Kill specific PID(s)
eopod kill-tpu --pid 1234 --pid 5678
# Kill processes on specific worker
eopod kill-tpu --worker 0
```
### Viewing History and Logs
```bash
# View command history
eopod history
# View error logs
eopod errors
# View current configuration
eopod show-config
```
## Command Reference
### Main Commands
* `run`: Execute commands on TPU VM
```bash
eopod run [OPTIONS] COMMAND [ARGS]...
```
Options:
* `--worker TEXT`: Specific worker or "all" (default: "all")
* `--retry INTEGER`: Number of retries for failed commands (default: 3)
* `--delay INTEGER`: Delay between retries in seconds (default: 5)
* `--timeout INTEGER`: Command timeout in seconds (default: 300)
* `--no-stream`: Disable output streaming
* `--background`: Run command in background
* `configure`: Set up eopod configuration
```bash
eopod configure --project-id ID --zone ZONE --tpu-name NAME
```
* `status`: Check TPU status
```bash
eopod status
```
* `check-background`: Check background processes
```bash
eopod check-background [PID]
```
* `kill`: Kill background processes
```bash
eopod kill PID [--force]
```
### Utility Commands
* `history`: View command execution history
* `errors`: View error logs
* `show-config`: Display current configuration
## File Locations
* Configuration: `~/.eopod/config.ini`
* Command history: `~/.eopod/history.yaml`
* Error logs: `~/.eopod/error_log.yaml`
* Application logs: `~/.eopod/eopod.log`
## Error Handling
eopod includes built-in error handling and retry mechanisms:
* Automatic retry for failed commands
* Timeout handling
* Detailed error logging
* Rich error output
## Contributing
Contributions are welcome! Please feel free to submit a Pull Request.
## License
This project is licensed under the Apache License 2.0 - see the LICENSE file for details.
Raw data
{
"_id": null,
"home_page": null,
"name": "eopod",
"maintainer": null,
"docs_url": null,
"requires_python": "<3.14,>=3.11",
"maintainer_email": null,
"keywords": "eopod",
"author": "Erfan Zare Chavoshi",
"author_email": "Erfan Zare Chavoshi <Erfanzare810@gmail.com>",
"download_url": "https://files.pythonhosted.org/packages/e7/d9/d97c6662423a456b091e3aa033d756a8a2ddd1b6866f941e6f732ca13e97/eopod-0.0.31.tar.gz",
"platform": null,
"description": "# eopod: Enhanced TPU Command Runner\n\neopod is a command-line tool designed to simplify and enhance interaction with Google Cloud TPU VMs. It provides real-time output streaming, background process management, and robust error handling.\n\n## Features\n\n* **Configuration Management:** Easily configure eopod with your Google Cloud project ID, zone, and TPU name.\n* **Command Execution:** Run commands on TPU VMs with advanced features like retries, delays, timeouts, and worker selection.\n* **Interactive Mode (Experimental):** Run commands in an interactive SSH session (use with caution).\n* **Command History:** View a history of executed commands, their status, and truncated output.\n* **Error Logging:** Detailed error logs are maintained for debugging failed commands.\n* **Rich Output:** Utilizes the `rich` library for visually appealing and informative output in the console.\n\n## Installation\n\n```bash\npip install eopod\n```\n\n## Configuration\n\nBefore using eopod, configure it with your Google Cloud credentials:\n\n```bash\neopod configure --project-id YOUR_PROJECT_ID --zone YOUR_ZONE --tpu-name YOUR_TPU_NAME\n```\n\n## Usage Examples\n\n### Basic Command Execution\n\nCommands are executed with real-time output streaming by default:\n\n```bash\n# Simple command\neopod run echo \"Hello TPU\"\n\n# Run Python script\neopod run python train.py --batch-size 32\n\n# Complex commands with pipes and redirections\neopod run \"cat data.txt | grep error > errors.log\"\n\n# Commands with multiple arguments\neopod run ls -la /path/to/dir\n```\n\n### Background Processes\n\nRun long-running tasks in the background:\n\n```bash\n# Start training in background\neopod run python long_training.py --epochs 1000 --background\n\n# Check background processes\neopod check-background\n\n# Check specific process\neopod check-background 12345\n\n# Kill a background process\neopod kill 12345\n\n# Force kill if necessary\neopod kill 12345 --force\n```\n\n### Worker-Specific Commands\n\nExecute commands on specific workers:\n\n```bash\n# Run on specific worker\neopod run nvidia-smi --worker 0\n\n# Run on all workers (default)\neopod run hostname --worker all\n```\n\n### Advanced Options\n\n```bash\n# Disable output streaming\neopod run python script.py --no-stream\n\n# Set custom retry count\neopod run python train.py --retry 5\n\n# Set custom retry delay\neopod run python train.py --delay 10\n\n# Set custom timeout\neopod run python train.py --timeout 600\n```\n\n### Kill and free TPU process\n\n```bash\n# Kill all TPU processes\neopod kill-tpu\n\n# Force kill all TPU processes\neopod kill-tpu --force\n\n# Kill specific PID(s)\neopod kill-tpu --pid 1234 --pid 5678\n\n# Kill processes on specific worker\neopod kill-tpu --worker 0\n```\n\n### Viewing History and Logs\n\n```bash\n# View command history\neopod history\n\n# View error logs\neopod errors\n\n# View current configuration\neopod show-config\n```\n\n## Command Reference\n\n### Main Commands\n\n* `run`: Execute commands on TPU VM\n\n ```bash\n eopod run [OPTIONS] COMMAND [ARGS]...\n ```\n\n Options:\n * `--worker TEXT`: Specific worker or \"all\" (default: \"all\")\n * `--retry INTEGER`: Number of retries for failed commands (default: 3)\n * `--delay INTEGER`: Delay between retries in seconds (default: 5)\n * `--timeout INTEGER`: Command timeout in seconds (default: 300)\n * `--no-stream`: Disable output streaming\n * `--background`: Run command in background\n\n* `configure`: Set up eopod configuration\n\n ```bash\n eopod configure --project-id ID --zone ZONE --tpu-name NAME\n ```\n\n* `status`: Check TPU status\n\n ```bash\n eopod status\n ```\n\n* `check-background`: Check background processes\n\n ```bash\n eopod check-background [PID]\n ```\n\n* `kill`: Kill background processes\n\n ```bash\n eopod kill PID [--force]\n ```\n\n### Utility Commands\n\n* `history`: View command execution history\n* `errors`: View error logs\n* `show-config`: Display current configuration\n\n## File Locations\n\n* Configuration: `~/.eopod/config.ini`\n* Command history: `~/.eopod/history.yaml`\n* Error logs: `~/.eopod/error_log.yaml`\n* Application logs: `~/.eopod/eopod.log`\n\n## Error Handling\n\neopod includes built-in error handling and retry mechanisms:\n\n* Automatic retry for failed commands\n* Timeout handling\n* Detailed error logging\n* Rich error output\n\n## Contributing\n\nContributions are welcome! Please feel free to submit a Pull Request.\n\n## License\n\nThis project is licensed under the Apache License 2.0 - see the LICENSE file for details.\n",
"bugtrack_url": null,
"license": "Apache-2.0",
"summary": "eopod is a streamlined command execution tool designed to run and manage operations on Google Cloud Pods efficiently",
"version": "0.0.31",
"project_urls": {
"Documentation": "https://eopod.readthedocs.io/en/latest/",
"Homepage": "https://github.com/erfanzar/eopod",
"Repository": "https://github.com/erfanzar/eopod"
},
"split_keywords": [
"eopod"
],
"urls": [
{
"comment_text": null,
"digests": {
"blake2b_256": "c97168f3bcc8b09f53837c4d52d628bc086a44dad4fdd03b5898ea07dec7fbde",
"md5": "e4b0d4e9c17c25997eadee22745a3fe1",
"sha256": "7c12adec8aa82a1a19a434cfab7f7a34291afa628c9733b217e22ed0dc72ab45"
},
"downloads": -1,
"filename": "eopod-0.0.31-py3-none-any.whl",
"has_sig": false,
"md5_digest": "e4b0d4e9c17c25997eadee22745a3fe1",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": "<3.14,>=3.11",
"size": 19593,
"upload_time": "2025-08-15T10:58:24",
"upload_time_iso_8601": "2025-08-15T10:58:24.148016Z",
"url": "https://files.pythonhosted.org/packages/c9/71/68f3bcc8b09f53837c4d52d628bc086a44dad4fdd03b5898ea07dec7fbde/eopod-0.0.31-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "e7d9d97c6662423a456b091e3aa033d756a8a2ddd1b6866f941e6f732ca13e97",
"md5": "4085abe18e6656947e32aa57e46ad9b6",
"sha256": "236fe24ca41b8b74804e00dac2f15c79d321355adb1cc02ea61cacb9b5aa06d1"
},
"downloads": -1,
"filename": "eopod-0.0.31.tar.gz",
"has_sig": false,
"md5_digest": "4085abe18e6656947e32aa57e46ad9b6",
"packagetype": "sdist",
"python_version": "source",
"requires_python": "<3.14,>=3.11",
"size": 17949,
"upload_time": "2025-08-15T10:58:25",
"upload_time_iso_8601": "2025-08-15T10:58:25.502690Z",
"url": "https://files.pythonhosted.org/packages/e7/d9/d97c6662423a456b091e3aa033d756a8a2ddd1b6866f941e6f732ca13e97/eopod-0.0.31.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2025-08-15 10:58:25",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "erfanzar",
"github_project": "eopod",
"travis_ci": false,
"coveralls": false,
"github_actions": false,
"lcname": "eopod"
}