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.7.tar.gz
(5.3 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.7.tar.gz.
File metadata
- Download URL: instavm-0.1.7.tar.gz
- Upload date:
- Size: 5.3 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.5
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
56364f0ff7d990b9e48e73e06a7fc4375e59994b265d503d944e01de05ba3358
|
|
| MD5 |
79f843b823aa454bc35b679df0d11009
|
|
| BLAKE2b-256 |
c0e152de686a536694300bd8297037ffbc17165ac5753a204d56738e84551dd7
|
File details
Details for the file instavm-0.1.7-py3-none-any.whl.
File metadata
- Download URL: instavm-0.1.7-py3-none-any.whl
- Upload date:
- Size: 5.0 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 |
64e5cb1f4afb0255e36b8f991498ae844064eed7f66a04b3861db82a8fdfea4d
|
|
| MD5 |
b6ce46dbe30258697ee1e4b4673c7337
|
|
| BLAKE2b-256 |
c2d66aa22ceff08d5a75095b5fb8a9f7115322caafb1b911cc666e7e8d23c61b
|