{"library":"pycarlo","title":"Monte Carlo Python SDK (Pycarlo)","description":"Pycarlo is Monte Carlo's Python SDK, providing programmatic access to the Monte Carlo data observability platform's APIs. It enables users to execute queries and mutations against the Monte Carlo API and leverage higher-level features for common data operations. The library is actively maintained and frequently updated, with a current version of 0.12.292 and requires Python 3.9 or greater.","language":"python","status":"active","last_verified":"Fri May 15","install":{"commands":["pip install -U pycarlo"],"cli":null},"imports":["from pycarlo.core import Client","from pycarlo.core import Query","from pycarlo.core import Mutation","from pycarlo.core import Session","from pycarlo.features.circuit_breakers import CircuitBreakerService"],"auth":{"required":false,"env_vars":[]},"quickstart":{"code":"import os\nfrom pycarlo.core import Client, Query, Session\n\n# Configure session using environment variables or a named profile\n# For production, it's recommended to set MCD_ID and MCD_TOKEN environment variables.\n# Alternatively, you can configure via the Monte Carlo CLI: `montecarlo configure`\n# If using a named profile, ensure ~/.mcd/profiles.ini is set up.\n\nmcd_id = os.environ.get('MCD_ID', 'your_mcd_id_here')\nmcd_token = os.environ.get('MCD_TOKEN', 'your_mcd_token_here')\n\n# Instantiate a client. By default, it uses the 'default' profile or environment variables.\n# You can also pass credentials explicitly or specify a profile:\n# client = Client(Session(mcd_id=mcd_id, mcd_token=mcd_token))\nclient = Client()\n\n# Create a query object\nquery = Query()\nquery.get_user.email()\n\n# Execute the query\ntry:\n    response = client(query)\n    user_email = response.get_user.email\n    print(f\"Current user email: {user_email}\")\nexcept Exception as e:\n    print(f\"An error occurred: {e}\")","lang":"python","description":"This quickstart demonstrates how to initialize the Pycarlo client and execute a basic query to retrieve the current user's email. Authentication is handled via environment variables (MCD_ID, MCD_TOKEN), a Monte Carlo CLI-configured profile (~/.mcd/profiles.ini), or by explicitly passing credentials to the Session. It's recommended to use environment variables or CLI profiles for security in production environments.","tag":null,"tag_description":null,"last_tested":null,"results":[]},"compatibility":{"tag":null,"tag_description":null,"last_tested":"2026-05-15","installed_version":"0.12.387","pypi_latest":"0.12.387","is_stale":false,"summary":{"python_range":"3.10–3.9","success_rate":100,"avg_install_s":3.8,"avg_import_s":5.9,"wheel_type":"wheel"},"results":[{"runtime":"python:3.10-alpine","python_version":"3.10","os_libc":"alpine (musl)","variant":"-U","exit_code":0,"wheel_type":"wheel","failure_reason":null,"import_side_effects":"clean","install_time_s":null,"import_time_s":2.35,"mem_mb":31.6,"disk_size":"41.5M"},{"runtime":"python:3.10-slim","python_version":"3.10","os_libc":"slim (glibc)","variant":"-U","exit_code":0,"wheel_type":"wheel","failure_reason":null,"import_side_effects":"clean","install_time_s":3.8,"import_time_s":1.28,"mem_mb":31.6,"disk_size":"60M"},{"runtime":"python:3.11-alpine","python_version":"3.11","os_libc":"alpine (musl)","variant":"-U","exit_code":0,"wheel_type":"wheel","failure_reason":null,"import_side_effects":"clean","install_time_s":null,"import_time_s":11.79,"mem_mb":34.9,"disk_size":"46.5M"},{"runtime":"python:3.11-slim","python_version":"3.11","os_libc":"slim (glibc)","variant":"-U","exit_code":0,"wheel_type":"wheel","failure_reason":null,"import_side_effects":"clean","install_time_s":4,"import_time_s":9.98,"mem_mb":34.9,"disk_size":"66M"},{"runtime":"python:3.12-alpine","python_version":"3.12","os_libc":"alpine (musl)","variant":"-U","exit_code":0,"wheel_type":"wheel","failure_reason":null,"import_side_effects":"clean","install_time_s":null,"import_time_s":7.06,"mem_mb":34.6,"disk_size":"38.0M"},{"runtime":"python:3.12-slim","python_version":"3.12","os_libc":"slim (glibc)","variant":"-U","exit_code":0,"wheel_type":"wheel","failure_reason":null,"import_side_effects":"clean","install_time_s":3.5,"import_time_s":8.51,"mem_mb":34.6,"disk_size":"58M"},{"runtime":"python:3.13-alpine","python_version":"3.13","os_libc":"alpine (musl)","variant":"-U","exit_code":0,"wheel_type":"wheel","failure_reason":null,"import_side_effects":"clean","install_time_s":null,"import_time_s":7.06,"mem_mb":35.2,"disk_size":"37.7M"},{"runtime":"python:3.13-slim","python_version":"3.13","os_libc":"slim (glibc)","variant":"-U","exit_code":0,"wheel_type":"wheel","failure_reason":null,"import_side_effects":"clean","install_time_s":3.6,"import_time_s":7.91,"mem_mb":35.2,"disk_size":"57M"},{"runtime":"python:3.9-alpine","python_version":"3.9","os_libc":"alpine (musl)","variant":"-U","exit_code":0,"wheel_type":"wheel","failure_reason":null,"import_side_effects":"clean","install_time_s":null,"import_time_s":1.55,"mem_mb":33.1,"disk_size":"40.8M"},{"runtime":"python:3.9-slim","python_version":"3.9","os_libc":"slim (glibc)","variant":"-U","exit_code":0,"wheel_type":"wheel","failure_reason":null,"import_side_effects":"clean","install_time_s":4.3,"import_time_s":1.51,"mem_mb":33.1,"disk_size":"42M"}]}}