Name | eopod JSON |
Version |
0.0.29
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-07-26 13:07:33 |
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/ee/7e/480eac903ca10b2780bcaf28875f62f4e65aa81afa20c49c6f292d6ca3e2/eopod-0.0.29.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.29",
"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": "cbe9e652e12e5c39cdd42f24a62c14d0b01541097df3278c9dce097cb446639e",
"md5": "51be7ce3a2b6fbe17393fbb8961b141d",
"sha256": "c57cede926b909ff4e267fda0e92273ba871569f95c37dabdd737549bf9e279e"
},
"downloads": -1,
"filename": "eopod-0.0.29-py3-none-any.whl",
"has_sig": false,
"md5_digest": "51be7ce3a2b6fbe17393fbb8961b141d",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": "<3.14,>=3.11",
"size": 18499,
"upload_time": "2025-07-26T13:07:32",
"upload_time_iso_8601": "2025-07-26T13:07:32.303581Z",
"url": "https://files.pythonhosted.org/packages/cb/e9/e652e12e5c39cdd42f24a62c14d0b01541097df3278c9dce097cb446639e/eopod-0.0.29-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "ee7e480eac903ca10b2780bcaf28875f62f4e65aa81afa20c49c6f292d6ca3e2",
"md5": "06bf3ec29a958dab5507ae6de7a9dc8e",
"sha256": "b990d5e04a1af4ee4fc1fb6505a84edbe920d0ea90c7240d25195d5658930971"
},
"downloads": -1,
"filename": "eopod-0.0.29.tar.gz",
"has_sig": false,
"md5_digest": "06bf3ec29a958dab5507ae6de7a9dc8e",
"packagetype": "sdist",
"python_version": "source",
"requires_python": "<3.14,>=3.11",
"size": 16929,
"upload_time": "2025-07-26T13:07:33",
"upload_time_iso_8601": "2025-07-26T13:07:33.652683Z",
"url": "https://files.pythonhosted.org/packages/ee/7e/480eac903ca10b2780bcaf28875f62f4e65aa81afa20c49c6f292d6ca3e2/eopod-0.0.29.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2025-07-26 13:07:33",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "erfanzar",
"github_project": "eopod",
"travis_ci": false,
"coveralls": false,
"github_actions": false,
"lcname": "eopod"
}