inis.run Python SDK
Run untrusted or AI-generated code in its own isolated VM.
Install
pip install inis
Quickstart
from inis import Client
client = Client() # reads INIS_API_KEY (and INIS_BASE_URL) from the environment
with client.session() as session:
session.exec(["pip", "install", "httpx", "-q"])
session.files.write("/workspace/out.txt", "hello")
print(session.files.read("/workspace/out.txt"))
preview = session.expose(8765)
print(preview.preview_url)
# Stateless execution (throwaway session, no cleanup needed)
result = client.execute(language="python", code="print(42)")
print(result.stdout)
# Re-attach to a session created elsewhere, by ID
session = client.sessions.attach("9hmquuxiz7qyqdqiwfvep")
client.session() returns a context manager that destroys the session on
exit. Use client.sessions.create(...) directly if you want to manage its
lifetime yourself, and client.sessions.attach(id) to reconnect to a
session you don't own — that call never destroys it.
Timeouts
Client(timeout=...) and Session(timeout=...) are seconds (httpx
convention). The TypeScript SDK's timeoutMs is milliseconds (JS
convention) — a deliberate per-language idiom, not drift.
Links
- Docs: docs.inis.run
- Quickstart: docs.inis.run/docs/quickstart
- Source: github.com/inis-run/sdk/tree/main/python
- Homepage: inis.run
Built and run in the EU. Your code and data never leave Europe.
License
MIT — see LICENSE.
Metadata
Release files for inis 0.6.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| inis-0.6.0.tar.gz | 114.3 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| inis-0.6.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 190.8 kB
Release files / inis-0.6.0.tar.gz
| Download URL | inis-0.6.0.tar.gz |
|---|---|
| Size | 114.3 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
5c08e9acb3517fb403b5cadcb698ee76f8d5bbace78a28e82498a65c5c1b7b68
|
|
BLAKE2b-256 checksum How to use checksums |
35893c12caa456e8054c6a7a33df19145f6e1882cb9fffa92a8e6c134c8fc114
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Sep 7, 2026.
Transparency logRelease files / inis-0.6.0-py3-none-any.whl
| Download URL | inis-0.6.0-py3-none-any.whl |
|---|---|
| Size | 76.5 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
f222bf87312f478c956ed5cd73fdd6c89f648b5c59ac072b03dc21a607c2cc09
|
|
BLAKE2b-256 checksum How to use checksums |
bdbdaa796c4cd6762028b2275c29fe56f161ce37c0ad7255f2edf782d59f6d2e
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Sep 7, 2026.
Transparency log