# sys

Interpreter identification, host-supplied arguments, and recursion limits.

| Member | Meaning |
| --- | --- |
| `version` | pocketpy's version string, such as `'2.2.0'`; not a CPython version. |
| `platform` | Target platform identifier, such as `win32`, `linux`, `darwin`, `android`, `ios`, or `emscripten`. |
| `argv` | Argument list supplied by the host. |
| `getrecursionlimit()` | Current Python call-depth limit. |
| `setrecursionlimit(limit)` | Change the limit; values at or below the current depth raise `ValueError`. |

```python
import sys

print(sys.version, sys.platform)
print(sys.argv)
original = sys.getrecursionlimit()
sys.setrecursionlimit(original + 100)
assert sys.getrecursionlimit() == original + 100
sys.setrecursionlimit(original)
```

The initial recursion limit is 1000. Raising it increases the depth the runtime
allows; it does not increase the native stack or VM value-stack capacity.

In an embedded VM, `argv` starts empty unless the host sets it.
The standalone executable passes command-line entries after its executable
name through `py_sys_setargv()`, including interpreter flags.
Do not assume CPython's argument filtering.

This module does not provide `sys.path`, `sys.modules`, or stream objects
such as `sys.stdout`. Use [host callbacks](../C-API/modules.md) to customize
imports and output.
