vspagent 2.2.0__tar.gz → 3.0.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.
Files changed (30) hide show
  1. {vspagent-2.2.0 → vspagent-3.0.0}/LICENSE +23 -22
  2. vspagent-3.0.0/PKG-INFO +159 -0
  3. vspagent-3.0.0/README.md +131 -0
  4. {vspagent-2.2.0 → vspagent-3.0.0}/setup.cfg +4 -4
  5. {vspagent-2.2.0 → vspagent-3.0.0}/setup.py +49 -45
  6. vspagent-3.0.0/vspagent/__init__.py +23 -0
  7. vspagent-3.0.0/vspagent/cli.py +259 -0
  8. vspagent-3.0.0/vspagent/colab/__init__.py +19 -0
  9. vspagent-3.0.0/vspagent/colab/client.py +457 -0
  10. vspagent-3.0.0/vspagent/colab/integrations/__init__.py +6 -0
  11. vspagent-3.0.0/vspagent/colab/integrations/fastapi.py +89 -0
  12. vspagent-3.0.0/vspagent/colab/integrations/flask.py +85 -0
  13. vspagent-3.0.0/vspagent/colab/launcher.py +24 -0
  14. vspagent-3.0.0/vspagent/colab/profiles.py +236 -0
  15. vspagent-3.0.0/vspagent.egg-info/PKG-INFO +159 -0
  16. vspagent-3.0.0/vspagent.egg-info/SOURCES.txt +18 -0
  17. vspagent-3.0.0/vspagent.egg-info/entry_points.txt +2 -0
  18. vspagent-3.0.0/vspagent.egg-info/requires.txt +14 -0
  19. vspagent-2.2.0/PKG-INFO +0 -206
  20. vspagent-2.2.0/README.md +0 -168
  21. vspagent-2.2.0/requirements.txt +0 -10
  22. vspagent-2.2.0/vspagent/__init__.py +0 -9
  23. vspagent-2.2.0/vspagent/agent.py +0 -134
  24. vspagent-2.2.0/vspagent/cli.py +0 -106
  25. vspagent-2.2.0/vspagent.egg-info/PKG-INFO +0 -206
  26. vspagent-2.2.0/vspagent.egg-info/SOURCES.txt +0 -13
  27. vspagent-2.2.0/vspagent.egg-info/entry_points.txt +0 -2
  28. vspagent-2.2.0/vspagent.egg-info/requires.txt +0 -2
  29. {vspagent-2.2.0 → vspagent-3.0.0}/vspagent.egg-info/dependency_links.txt +0 -0
  30. {vspagent-2.2.0 → vspagent-3.0.0}/vspagent.egg-info/top_level.txt +0 -0
@@ -1,22 +1,23 @@
1
- MIT License
2
-
3
- Copyright (c) 2023 Vishnu Suresh Perumbavoor
4
-
5
- Permission is hereby granted, free of charge, to any person obtaining a copy
6
- of this software and associated documentation files (the "Software"), to deal
7
- in the Software without restriction, including without limitation the rights
8
- to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
- copies of the Software, and to permit persons to whom the Software is
10
- furnished to do so, subject to the following conditions:
11
-
12
- The above copyright notice and this permission notice shall be included in all
13
- copies or substantial portions of the Software.
14
-
15
- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
- IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
- FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
- AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
- LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
- OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
- SOFTWARE.
22
-
1
+ MIT License
2
+
3
+ Copyright (c) 2023 Vishnu Suresh Perumbavoor
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in all
13
+ copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
+ SOFTWARE.
22
+
23
+
@@ -0,0 +1,159 @@
1
+ Metadata-Version: 2.1
2
+ Name: vspagent
3
+ Version: 3.0.0
4
+ Summary: Universal Google Colab MCP Engine & Remote Cloud GPU Orchestration SDK.
5
+ Home-page: https://github.com/vishnusureshperumbavoor/vspagent
6
+ Author: Vishnu Suresh Perumbavoor
7
+ Project-URL: Bug Tracker, https://github.com/vishnusureshperumbavoor/vspagent/issues
8
+ Project-URL: LinkedIn, https://www.linkedin.com/in/vishnu-suresh-perumbavoor/
9
+ Project-URL: GitHub, https://github.com/vishnusureshperumbavoor
10
+ Keywords: colab mcp model-context-protocol gpu fine-tuning cloud-execution ai-agent
11
+ Classifier: Development Status :: 5 - Production/Stable
12
+ Classifier: Intended Audience :: Developers
13
+ Classifier: Topic :: Scientific/Engineering :: Artificial Intelligence
14
+ Classifier: Topic :: Software Development :: Libraries :: Python Modules
15
+ Classifier: License :: OSI Approved :: MIT License
16
+ Classifier: Programming Language :: Python :: 3
17
+ Classifier: Programming Language :: Python :: 3.8
18
+ Classifier: Programming Language :: Python :: 3.9
19
+ Classifier: Programming Language :: Python :: 3.10
20
+ Classifier: Programming Language :: Python :: 3.11
21
+ Classifier: Programming Language :: Python :: 3.12
22
+ Requires-Python: >=3.8
23
+ Description-Content-Type: text/markdown
24
+ Provides-Extra: all
25
+ Provides-Extra: fastapi
26
+ Provides-Extra: flask
27
+ License-File: LICENSE
28
+
29
+ # ⚡ vspagent
30
+
31
+ [![PyPI version](https://badge.fury.io/py/vspagent.svg)](https://pypi.org/project/vspagent/)
32
+ [![Python Versions](https://img.shields.io/pypi/pyversions/vspagent.svg)](https://pypi.org/project/vspagent/)
33
+ [![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)
34
+
35
+ **Universal Google Colab MCP Engine & Remote Cloud GPU Orchestration SDK.**
36
+
37
+ `vspagent` gives any Python app, web server, or CLI instant access to free/pro Google Colab Cloud GPUs (Tesla T4, A100, V100) via the **Model Context Protocol (MCP)** with **zero local VRAM/GPU requirements**.
38
+
39
+ ---
40
+
41
+ ## 🌟 Key Features
42
+
43
+ - 🔗 **Zero-Configuration Colab MCP Handshake**: Automatically manages the `colab-mcp` stdio subprocess and JSON-RPC lifecycle.
44
+ - 👤 **Cross-Platform Chrome Profile Detection**: Detects all signed-in Google/Gmail accounts across Linux native, WSL, Windows, and macOS, opening pairing in the exact profile chosen.
45
+ - 🚀 **Remote GPU Execution**: Programmatically injects, executes, polls, and deletes code cells on Google Colab with structured output and traceback handling.
46
+ - 🔌 **Pre-Built Web Framework Adapters**:
47
+ - **FastAPI**: One-line `include_router(get_colab_router())` providing ready-to-use `/colab/status`, `/colab/accounts`, `/colab/connect`, `/colab/execute` endpoints.
48
+ - **Flask**: One-line `register_blueprint(get_colab_blueprint())` supporting synchronous multi-threaded Flask servers.
49
+ - 🖥️ **Built-in CLI**: Interactive terminal utility with live account discovery, status dashboards, and code execution.
50
+ - 🪶 **Ultra-Lightweight**: Zero local PyTorch, CUDA, or transformers dependencies. Local package size is under 1MB.
51
+
52
+ ---
53
+
54
+ ## 📦 Installation
55
+
56
+ ```bash
57
+ pip install vspagent
58
+ ```
59
+
60
+ For web framework support:
61
+ ```bash
62
+ # With FastAPI support
63
+ pip install "vspagent[fastapi]"
64
+
65
+ # With Flask support
66
+ pip install "vspagent[flask]"
67
+
68
+ # With all integrations
69
+ pip install "vspagent[all]"
70
+ ```
71
+
72
+ ---
73
+
74
+ ## 🛠️ Quickstart
75
+
76
+ ### 1. Python SDK
77
+
78
+ ```python
79
+ import asyncio
80
+ from vspagent import ColabClient
81
+
82
+ async def main():
83
+ colab = ColabClient()
84
+
85
+ # Connect with preferred Chrome profile (or Default)
86
+ print("Connecting to Google Colab...")
87
+ await colab.connect_browser(profile_directory="Default")
88
+
89
+ # Wait until user approves pairing in Chrome tab
90
+ await colab.ensure_connected(timeout=60.0)
91
+ print(f"Connected! GPU: {colab.gpu_info}")
92
+
93
+ # Execute code on remote cloud GPU
94
+ code = """
95
+ import torch
96
+ print("Hello from Colab GPU:", torch.cuda.get_device_name(0))
97
+ """
98
+ res = await colab.execute_code(code, keep_cell=False)
99
+ print("Output:\n", res["output"])
100
+
101
+ asyncio.run(main())
102
+ ```
103
+
104
+ ---
105
+
106
+ ### 2. FastAPI Web Integration (e.g. Vibe-ML-Studio, Vibe-MI-Stdio)
107
+
108
+ Mount the pre-built router directly onto your FastAPI application:
109
+
110
+ ```python
111
+ from fastapi import FastAPI
112
+ from vspagent.colab.integrations import get_colab_router
113
+
114
+ app = FastAPI(title="My GPU-Accelerated Service")
115
+
116
+ # Mounts /colab/status, /colab/accounts, /colab/connect, /colab/execute
117
+ app.include_router(get_colab_router(), prefix="/api")
118
+ ```
119
+
120
+ ---
121
+
122
+ ### 3. Flask Web Integration (e.g. Karaoke Extractor)
123
+
124
+ ```python
125
+ from flask import Flask
126
+ from vspagent.colab.integrations import get_colab_blueprint
127
+
128
+ app = Flask(__name__)
129
+
130
+ # Mounts /colab/status, /colab/accounts, /colab/connect, /colab/execute
131
+ app.register_blueprint(get_colab_blueprint(), url_prefix="/api/colab")
132
+ ```
133
+
134
+ ---
135
+
136
+ ### 4. Interactive Terminal CLI
137
+
138
+ ```bash
139
+ # 1. Discover available Google / Chrome accounts
140
+ vspagent colab accounts
141
+
142
+ # 2. Check connection status and GPU hardware
143
+ vspagent colab status
144
+
145
+ # 3. Interactively connect to Colab tab
146
+ vspagent colab connect
147
+
148
+ # 4. Execute Python code directly on remote Colab GPU
149
+ vspagent colab exec -c "import torch; print(torch.cuda.is_available())"
150
+
151
+ # Or run a complete Python script file
152
+ vspagent colab exec -f ./train_decision_model.py
153
+ ```
154
+
155
+ ---
156
+
157
+ ## 📄 License
158
+
159
+ MIT License © [Vishnu Suresh Perumbavoor](https://github.com/vishnusureshperumbavoor)
@@ -0,0 +1,131 @@
1
+ # ⚡ vspagent
2
+
3
+ [![PyPI version](https://badge.fury.io/py/vspagent.svg)](https://pypi.org/project/vspagent/)
4
+ [![Python Versions](https://img.shields.io/pypi/pyversions/vspagent.svg)](https://pypi.org/project/vspagent/)
5
+ [![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)
6
+
7
+ **Universal Google Colab MCP Engine & Remote Cloud GPU Orchestration SDK.**
8
+
9
+ `vspagent` gives any Python app, web server, or CLI instant access to free/pro Google Colab Cloud GPUs (Tesla T4, A100, V100) via the **Model Context Protocol (MCP)** with **zero local VRAM/GPU requirements**.
10
+
11
+ ---
12
+
13
+ ## 🌟 Key Features
14
+
15
+ - 🔗 **Zero-Configuration Colab MCP Handshake**: Automatically manages the `colab-mcp` stdio subprocess and JSON-RPC lifecycle.
16
+ - 👤 **Cross-Platform Chrome Profile Detection**: Detects all signed-in Google/Gmail accounts across Linux native, WSL, Windows, and macOS, opening pairing in the exact profile chosen.
17
+ - 🚀 **Remote GPU Execution**: Programmatically injects, executes, polls, and deletes code cells on Google Colab with structured output and traceback handling.
18
+ - 🔌 **Pre-Built Web Framework Adapters**:
19
+ - **FastAPI**: One-line `include_router(get_colab_router())` providing ready-to-use `/colab/status`, `/colab/accounts`, `/colab/connect`, `/colab/execute` endpoints.
20
+ - **Flask**: One-line `register_blueprint(get_colab_blueprint())` supporting synchronous multi-threaded Flask servers.
21
+ - 🖥️ **Built-in CLI**: Interactive terminal utility with live account discovery, status dashboards, and code execution.
22
+ - 🪶 **Ultra-Lightweight**: Zero local PyTorch, CUDA, or transformers dependencies. Local package size is under 1MB.
23
+
24
+ ---
25
+
26
+ ## 📦 Installation
27
+
28
+ ```bash
29
+ pip install vspagent
30
+ ```
31
+
32
+ For web framework support:
33
+ ```bash
34
+ # With FastAPI support
35
+ pip install "vspagent[fastapi]"
36
+
37
+ # With Flask support
38
+ pip install "vspagent[flask]"
39
+
40
+ # With all integrations
41
+ pip install "vspagent[all]"
42
+ ```
43
+
44
+ ---
45
+
46
+ ## 🛠️ Quickstart
47
+
48
+ ### 1. Python SDK
49
+
50
+ ```python
51
+ import asyncio
52
+ from vspagent import ColabClient
53
+
54
+ async def main():
55
+ colab = ColabClient()
56
+
57
+ # Connect with preferred Chrome profile (or Default)
58
+ print("Connecting to Google Colab...")
59
+ await colab.connect_browser(profile_directory="Default")
60
+
61
+ # Wait until user approves pairing in Chrome tab
62
+ await colab.ensure_connected(timeout=60.0)
63
+ print(f"Connected! GPU: {colab.gpu_info}")
64
+
65
+ # Execute code on remote cloud GPU
66
+ code = """
67
+ import torch
68
+ print("Hello from Colab GPU:", torch.cuda.get_device_name(0))
69
+ """
70
+ res = await colab.execute_code(code, keep_cell=False)
71
+ print("Output:\n", res["output"])
72
+
73
+ asyncio.run(main())
74
+ ```
75
+
76
+ ---
77
+
78
+ ### 2. FastAPI Web Integration (e.g. Vibe-ML-Studio, Vibe-MI-Stdio)
79
+
80
+ Mount the pre-built router directly onto your FastAPI application:
81
+
82
+ ```python
83
+ from fastapi import FastAPI
84
+ from vspagent.colab.integrations import get_colab_router
85
+
86
+ app = FastAPI(title="My GPU-Accelerated Service")
87
+
88
+ # Mounts /colab/status, /colab/accounts, /colab/connect, /colab/execute
89
+ app.include_router(get_colab_router(), prefix="/api")
90
+ ```
91
+
92
+ ---
93
+
94
+ ### 3. Flask Web Integration (e.g. Karaoke Extractor)
95
+
96
+ ```python
97
+ from flask import Flask
98
+ from vspagent.colab.integrations import get_colab_blueprint
99
+
100
+ app = Flask(__name__)
101
+
102
+ # Mounts /colab/status, /colab/accounts, /colab/connect, /colab/execute
103
+ app.register_blueprint(get_colab_blueprint(), url_prefix="/api/colab")
104
+ ```
105
+
106
+ ---
107
+
108
+ ### 4. Interactive Terminal CLI
109
+
110
+ ```bash
111
+ # 1. Discover available Google / Chrome accounts
112
+ vspagent colab accounts
113
+
114
+ # 2. Check connection status and GPU hardware
115
+ vspagent colab status
116
+
117
+ # 3. Interactively connect to Colab tab
118
+ vspagent colab connect
119
+
120
+ # 4. Execute Python code directly on remote Colab GPU
121
+ vspagent colab exec -c "import torch; print(torch.cuda.is_available())"
122
+
123
+ # Or run a complete Python script file
124
+ vspagent colab exec -f ./train_decision_model.py
125
+ ```
126
+
127
+ ---
128
+
129
+ ## 📄 License
130
+
131
+ MIT License © [Vishnu Suresh Perumbavoor](https://github.com/vishnusureshperumbavoor)
@@ -1,4 +1,4 @@
1
- [egg_info]
2
- tag_build =
3
- tag_date = 0
4
-
1
+ [egg_info]
2
+ tag_build =
3
+ tag_date = 0
4
+
@@ -1,45 +1,49 @@
1
- from setuptools import setup, find_packages
2
-
3
- with open("README.md", "r", encoding="utf-8") as fh:
4
- long_description = fh.read()
5
-
6
- setup(
7
- name="vspagent",
8
- version="2.2.0",
9
- author="Vishnu Suresh Perumbavoor",
10
- author_email="vishnusureshperumbavoor@gmail.com",
11
- description="AI-powered chat agent about Vishnu Suresh Perumbavoor. Powered by Qwen2.5-0.5B.",
12
- long_description=long_description,
13
- long_description_content_type="text/markdown",
14
- url="https://github.com/vishnusureshperumbavoor/vsp_bot",
15
- project_urls={
16
- "Bug Tracker": "https://github.com/vishnusureshperumbavoor/vsp_bot/issues",
17
- "LinkedIn": "https://www.linkedin.com/in/vishnu-suresh-perumbavoor/",
18
- "GitHub": "https://github.com/vishnusureshperumbavoor",
19
- },
20
- classifiers=[
21
- "Development Status :: 4 - Beta",
22
- "Intended Audience :: Developers",
23
- "Topic :: Scientific/Engineering :: Artificial Intelligence",
24
- "License :: OSI Approved :: MIT License",
25
- "Programming Language :: Python :: 3",
26
- "Programming Language :: Python :: 3.8",
27
- "Programming Language :: Python :: 3.9",
28
- "Programming Language :: Python :: 3.10",
29
- "Programming Language :: Python :: 3.11",
30
- ],
31
- packages=find_packages(),
32
- python_requires=">=3.8",
33
- install_requires=[
34
- "transformers>=4.30.0",
35
- "torch>=2.0.0",
36
- ],
37
- entry_points={
38
- "console_scripts": [
39
- "vspagent-py=vspagent.cli:main",
40
- # Alternative: "pyvspagent=vspagent.cli:main",
41
- ],
42
- },
43
- keywords="ai agent chatbot qwen llm vsp transformers",
44
- )
45
-
1
+ from setuptools import setup, find_packages
2
+
3
+ with open("README.md", "r", encoding="utf-8") as fh:
4
+ long_description = fh.read()
5
+
6
+ setup(
7
+ name="vspagent",
8
+ version="3.0.0",
9
+ author="Vishnu Suresh Perumbavoor",
10
+ description="Universal Google Colab MCP Engine & Remote Cloud GPU Orchestration SDK.",
11
+ long_description=long_description,
12
+ long_description_content_type="text/markdown",
13
+ url="https://github.com/vishnusureshperumbavoor/vspagent",
14
+ project_urls={
15
+ "Bug Tracker": "https://github.com/vishnusureshperumbavoor/vspagent/issues",
16
+ "LinkedIn": "https://www.linkedin.com/in/vishnu-suresh-perumbavoor/",
17
+ "GitHub": "https://github.com/vishnusureshperumbavoor",
18
+ },
19
+ classifiers=[
20
+ "Development Status :: 5 - Production/Stable",
21
+ "Intended Audience :: Developers",
22
+ "Topic :: Scientific/Engineering :: Artificial Intelligence",
23
+ "Topic :: Software Development :: Libraries :: Python Modules",
24
+ "License :: OSI Approved :: MIT License",
25
+ "Programming Language :: Python :: 3",
26
+ "Programming Language :: Python :: 3.8",
27
+ "Programming Language :: Python :: 3.9",
28
+ "Programming Language :: Python :: 3.10",
29
+ "Programming Language :: Python :: 3.11",
30
+ "Programming Language :: Python :: 3.12",
31
+ ],
32
+ packages=find_packages(),
33
+ python_requires=">=3.8",
34
+ install_requires=[
35
+ "pydantic>=1.10.0",
36
+ "rich>=12.0.0",
37
+ ],
38
+ extras_require={
39
+ "fastapi": ["fastapi>=0.100.0", "uvicorn>=0.20.0"],
40
+ "flask": ["flask>=2.0.0"],
41
+ "all": ["fastapi>=0.100.0", "uvicorn>=0.20.0", "flask>=2.0.0"],
42
+ },
43
+ entry_points={
44
+ "console_scripts": [
45
+ "vspagent=vspagent.cli:main",
46
+ ],
47
+ },
48
+ keywords="colab mcp model-context-protocol gpu fine-tuning cloud-execution ai-agent",
49
+ )
@@ -0,0 +1,23 @@
1
+ """vspagent: Universal Google Colab MCP Engine & Remote Cloud GPU Orchestration SDK."""
2
+
3
+ __version__ = "3.0.0"
4
+ __author__ = "Vishnu Suresh Perumbavoor"
5
+
6
+ from vspagent.colab.client import ColabClient, ColabMCPClient, internal_colab_client
7
+ from vspagent.colab.profiles import (
8
+ list_chrome_accounts,
9
+ set_selected_profile,
10
+ get_selected_profile,
11
+ open_url_with_profile,
12
+ )
13
+
14
+ __all__ = [
15
+ "ColabClient",
16
+ "ColabMCPClient",
17
+ "internal_colab_client",
18
+ "list_chrome_accounts",
19
+ "set_selected_profile",
20
+ "get_selected_profile",
21
+ "open_url_with_profile",
22
+ "__version__",
23
+ ]