# Python code executor for data validation

**Use case:** 

Execute a Python validation snippet with JSON stdin and receive parsed results, stderr diagnostics, exit code, and duration.

## Input

```json
{
  "language": "python",
  "code": "import json, sys\nrows=json.load(sys.stdin)['rows']\ninvalid=[i for i,row in enumerate(rows) if not row.get('email')]\nprint(json.dumps({'valid': len(rows)-len(invalid), 'invalidIndexes': invalid}))",
  "stdin": {
    "rows": [
      {
        "email": "support@apify.com"
      },
      {
        "name": "Missing email"
      }
    ]
  },
  "parseJsonOutput": true,
  "timeoutSeconds": 5,
  "maxOutputBytes": 256000,
  "saveFiles": [],
  "maxSavedFileBytes": 5000000
}
```

## Output

```json
{
  "status": {
    "label": "Status",
    "format": "string"
  },
  "language": {
    "label": "Language",
    "format": "string"
  },
  "exitCode": {
    "label": "Exit code",
    "format": "integer"
  },
  "durationMs": {
    "label": "Duration (ms)",
    "format": "integer"
  },
  "timedOut": {
    "label": "Timed out",
    "format": "boolean"
  },
  "stdout": {
    "label": "Standard output",
    "format": "string"
  },
  "stderr": {
    "label": "Standard error",
    "format": "string"
  },
  "result": {
    "label": "Parsed result",
    "format": "object"
  },
  "files": {
    "label": "Saved files",
    "format": "array"
  },
  "executedAt": {
    "label": "Executed at",
    "format": "string"
  }
}
```

## About this Actor

This example demonstrates how to use [AI Code Runner Sandbox](https://apify.com/automation-lab/ai-code-runner-sandbox) with a specific input configuration. Visit the [Actor detail page](https://apify.com/automation-lab/ai-code-runner-sandbox) to learn more, explore other use cases, and run it yourself.