A simple API client for code execution
Project description
InstaVM Client
A Python client library for interacting with a simple API.
Installation
You can install the package using pip:
pip install instavm
Usage
Basic Usage
from instavm import InstaVM, ExecutionError, NetworkError
# Create client with automatic session management
client = InstaVM(api_key='your_api_key')
try:
# Execute a command
result = client.execute("print(100**100)")
print(result)
# Get usage info for the session
usage = client.get_usage()
print(usage)
except ExecutionError as e:
print(f"Code execution failed: {e}")
except NetworkError as e:
print(f"Network issue: {e}")
finally:
client.close_session()
Context Manager (Recommended)
from instavm import InstaVM
# Automatic session cleanup
with InstaVM(api_key='your_api_key') as client:
result = client.execute("print('Hello from InstaVM!')")
print(result)
# Session automatically closed
Streaming Execution
from instavm import InstaVM
with InstaVM(api_key='your_api_key') as client:
# Real-time output streaming
for output in client.execute_streaming("pip install matplotlib && python -c 'import matplotlib; print(\"Success!\")'"):
print(f"Output: {output}")
Error Handling
from instavm import InstaVM, AuthenticationError, RateLimitError, SessionError
try:
client = InstaVM(api_key='invalid_key')
except AuthenticationError:
print("Invalid API key")
except RateLimitError:
print("Rate limit exceeded - try again later")
except SessionError as e:
print(f"Session error: {e}")
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 Distribution
instavm-0.1.6.tar.gz
(5.2 kB
view details)
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 instavm-0.1.6.tar.gz.
File metadata
- Download URL: instavm-0.1.6.tar.gz
- Upload date:
- Size: 5.2 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.5
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
37ca5f8fc14357e630f727296c09fdb87d6f5119a53d8bcec13d590f0044b194
|
|
| MD5 |
866aaaf4a1cdbc8133b3e958270a9495
|
|
| BLAKE2b-256 |
f46479175c75201e17a14f576ae5b222df36fb03b65174adb448ce7c68b4ff5a
|
File details
Details for the file instavm-0.1.6-py3-none-any.whl.
File metadata
- Download URL: instavm-0.1.6-py3-none-any.whl
- Upload date:
- Size: 4.8 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.5
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
c3a58a1b2ae15c92100a9dbd2ae542fdc6121b16bb408b1564348089b5212943
|
|
| MD5 |
6393ebe9ea81fdba39bc242fb5392d40
|
|
| BLAKE2b-256 |
731d336c0936ca7fcd8de6c47ca0c93b931050dc39d73b1fd8c4ac01d0265319
|