Getting Started Tutorial¶
This tutorial will guide you through the basics of using NoxRunner.
Step 1: Installation¶
Install NoxRunner:
pip install noxrunner
Step 2: Create a Client¶
from noxrunner import NoxRunnerClient
# Create client (replace with your backend URL)
client = NoxRunnerClient("http://127.0.0.1:8080")
Step 3: Create a Sandbox¶
session_id = "tutorial-session"
result = client.create_sandbox(session_id, ttl_seconds=600)
print(f"Created sandbox: {result['podName']}")
Step 4: Wait for Ready¶
if client.wait_for_pod_ready(session_id, timeout=60):
print("Sandbox is ready!")
else:
print("Sandbox did not become ready")
Step 5: Execute Commands¶
result = client.exec(session_id, ["python3", "--version"])
print(f"Exit code: {result['exitCode']}")
print(f"Output: {result['stdout']}")
Step 6: Upload Files¶
files = {
"hello.py": "print('Hello from NoxRunner!')"
}
client.upload_files(session_id, files)
Step 7: Download Files¶
tar_data = client.download_files(session_id)
# Extract or process tar_data as needed
Step 8: Clean Up¶
client.delete_sandbox(session_id)
Complete Example¶
from noxrunner import NoxRunnerClient
client = NoxRunnerClient("http://127.0.0.1:8080")
session_id = "example-session"
try:
# Create sandbox
client.create_sandbox(session_id)
client.wait_for_pod_ready(session_id)
# Upload and run a script
client.upload_files(session_id, {
"script.py": "print('Hello, World!')"
})
result = client.exec(session_id, ["python3", "script.py"])
print(result["stdout"])
finally:
# Always clean up
client.delete_sandbox(session_id)
Next Steps¶
Read Basic Usage Tutorial for more examples
Check Advanced Usage Tutorial for advanced features