jupyter-remote-runner


Namejupyter-remote-runner JSON
Version 0.1.1 PyPI version JSON
download
home_pagehttps://github.com/user/jupyter-remote-runner
SummaryCLI interface to a persistent Jupyter kernel for code execution with timeout handling
upload_time2025-08-05 06:34:18
maintainerNone
docs_urlNone
authorUser
requires_python<4.0,>=3.8
licenseNone
keywords
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            # Jupyter Remote Runner

A CLI interface to a persistent Jupyter kernel for code execution with timeout handling and streaming output.

## Installation

Install using pipx (recommended):

```bash
pipx install .
```

Or using pip:

```bash
pip install .
```

## Usage

### Commands

- `jupyter-remote-runner --help` - Show help
- `jupyter-remote-runner start` - Start the Jupyter kernel daemon
- `jupyter-remote-runner stop` - Stop the daemon
- `jupyter-remote-runner status` - Check daemon status
- `jupyter-remote-runner run <code>` - Execute code in the persistent kernel

### Run Command Options

- `--timeout <seconds>` - Set execution timeout (default: 60)
- `--is-input` - Send code as input to Python input() prompt

### Examples

```bash
# Start the daemon
jupyter-remote-runner start

# Execute Python code
jupyter-remote-runner run "print('Hello World')"

# Execute shell command
jupyter-remote-runner run "!ls -la"

# Execute bash magic
jupyter-remote-runner run "%%bash\necho 'Hello from bash'"

# Continue previous command output
jupyter-remote-runner run " "

# Interrupt running command
jupyter-remote-runner run "C-c"

# Execute with custom timeout
jupyter-remote-runner run "import time; time.sleep(10)" --timeout 15

# Check status
jupyter-remote-runner status

# Stop the daemon
jupyter-remote-runner stop
```

## Features

- **Persistent Kernel**: Maintains state between commands
- **Streaming Output**: Real-time output streaming
- **Timeout Support**: Configurable execution timeouts
- **Cross-Platform**: Works on Windows, macOS, and Linux
- **Background Daemon**: Runs kernel in background process
- **Signal Handling**: Support for interrupting long-running commands
- **Input Support**: Handle Python input() calls

## Development

Run tests:

```bash
python test_cli.py
```

Run directly from source:

```bash
python -m jupyter_remote_runner --help
```
            

Raw data

            {
    "_id": null,
    "home_page": "https://github.com/user/jupyter-remote-runner",
    "name": "jupyter-remote-runner",
    "maintainer": null,
    "docs_url": null,
    "requires_python": "<4.0,>=3.8",
    "maintainer_email": null,
    "keywords": null,
    "author": "User",
    "author_email": "user@example.com",
    "download_url": "https://files.pythonhosted.org/packages/1d/f3/171ad814eb5f1643a7393e88bfae22ae71ffd923b4a0e2739f03f87e504d/jupyter_remote_runner-0.1.1.tar.gz",
    "platform": null,
    "description": "# Jupyter Remote Runner\n\nA CLI interface to a persistent Jupyter kernel for code execution with timeout handling and streaming output.\n\n## Installation\n\nInstall using pipx (recommended):\n\n```bash\npipx install .\n```\n\nOr using pip:\n\n```bash\npip install .\n```\n\n## Usage\n\n### Commands\n\n- `jupyter-remote-runner --help` - Show help\n- `jupyter-remote-runner start` - Start the Jupyter kernel daemon\n- `jupyter-remote-runner stop` - Stop the daemon\n- `jupyter-remote-runner status` - Check daemon status\n- `jupyter-remote-runner run <code>` - Execute code in the persistent kernel\n\n### Run Command Options\n\n- `--timeout <seconds>` - Set execution timeout (default: 60)\n- `--is-input` - Send code as input to Python input() prompt\n\n### Examples\n\n```bash\n# Start the daemon\njupyter-remote-runner start\n\n# Execute Python code\njupyter-remote-runner run \"print('Hello World')\"\n\n# Execute shell command\njupyter-remote-runner run \"!ls -la\"\n\n# Execute bash magic\njupyter-remote-runner run \"%%bash\\necho 'Hello from bash'\"\n\n# Continue previous command output\njupyter-remote-runner run \" \"\n\n# Interrupt running command\njupyter-remote-runner run \"C-c\"\n\n# Execute with custom timeout\njupyter-remote-runner run \"import time; time.sleep(10)\" --timeout 15\n\n# Check status\njupyter-remote-runner status\n\n# Stop the daemon\njupyter-remote-runner stop\n```\n\n## Features\n\n- **Persistent Kernel**: Maintains state between commands\n- **Streaming Output**: Real-time output streaming\n- **Timeout Support**: Configurable execution timeouts\n- **Cross-Platform**: Works on Windows, macOS, and Linux\n- **Background Daemon**: Runs kernel in background process\n- **Signal Handling**: Support for interrupting long-running commands\n- **Input Support**: Handle Python input() calls\n\n## Development\n\nRun tests:\n\n```bash\npython test_cli.py\n```\n\nRun directly from source:\n\n```bash\npython -m jupyter_remote_runner --help\n```",
    "bugtrack_url": null,
    "license": null,
    "summary": "CLI interface to a persistent Jupyter kernel for code execution with timeout handling",
    "version": "0.1.1",
    "project_urls": {
        "Homepage": "https://github.com/user/jupyter-remote-runner",
        "Repository": "https://github.com/user/jupyter-remote-runner"
    },
    "split_keywords": [],
    "urls": [
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "be4c6ef5e6903b46f716f8396bac534ca594d2f5528e8b5007e5a11adb9b40c6",
                "md5": "8f8876eddfdefebe94aa5d0846bc6d8d",
                "sha256": "cde2de1a84048253000d78ef43dee1ab4618cf23ffca41838708a8c7f43b12a3"
            },
            "downloads": -1,
            "filename": "jupyter_remote_runner-0.1.1-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "8f8876eddfdefebe94aa5d0846bc6d8d",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": "<4.0,>=3.8",
            "size": 9938,
            "upload_time": "2025-08-05T06:34:16",
            "upload_time_iso_8601": "2025-08-05T06:34:16.943585Z",
            "url": "https://files.pythonhosted.org/packages/be/4c/6ef5e6903b46f716f8396bac534ca594d2f5528e8b5007e5a11adb9b40c6/jupyter_remote_runner-0.1.1-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "1df3171ad814eb5f1643a7393e88bfae22ae71ffd923b4a0e2739f03f87e504d",
                "md5": "dc23388decf11793078192c7bdaa75d5",
                "sha256": "85b8f64501648ed5cdd02c3e65c3d5da1d834ac7a6963e5a5df40929d5f3b841"
            },
            "downloads": -1,
            "filename": "jupyter_remote_runner-0.1.1.tar.gz",
            "has_sig": false,
            "md5_digest": "dc23388decf11793078192c7bdaa75d5",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": "<4.0,>=3.8",
            "size": 7643,
            "upload_time": "2025-08-05T06:34:18",
            "upload_time_iso_8601": "2025-08-05T06:34:18.170332Z",
            "url": "https://files.pythonhosted.org/packages/1d/f3/171ad814eb5f1643a7393e88bfae22ae71ffd923b4a0e2739f03f87e504d/jupyter_remote_runner-0.1.1.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2025-08-05 06:34:18",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "user",
    "github_project": "jupyter-remote-runner",
    "github_not_found": true,
    "lcname": "jupyter-remote-runner"
}
        
Elapsed time: 1.30191s