skillfed

pycarlo

Monte Carlo's Python SDK

pycarlo v0.15.182 5.9M downloads/30d#2,023 on PyPI
Permissive license Apache Software License (Apache 2.0) Active released

What it is and what it does

Pycarlo wraps Monte Carlo's GraphQL API in a Python-native interface, letting you execute queries and mutations as first-class objects using sgqlc or as raw GraphQL strings. The core library handles all API operations supported by Monte Carlo, automatically converting between GraphQL's CamelCase and Python's snake_case for both requests and responses. Responses are returned as Box objects that support both dot notation and dictionary access, making them easy to work with in Python code.

The package includes a features library that adds convenience helpers for common tasks: dbt integration, circuit breaker logic for reliability, and PII filtering. Authentication is handled flexibly—you can use API keys, OAuth credentials, named profiles from a config file, or environment variables. It's designed for developers building data observability workflows, monitoring pipelines, or automating data quality checks against Monte Carlo's platform.

Use it for:

  • Query user details, tables, insights, or other Monte Carlo entities programmatically without writing raw GraphQL.
  • Trigger and poll circuit breaker rules to detect and respond to data quality issues in your warehouse.
  • Export insights or reports from Monte Carlo and upload them to S3 or other storage systems.
  • Automate dbt integration tasks and metadata syncing with Monte Carlo via the features library.
  • Build custom monitoring dashboards or alerting systems that pull data quality metrics from Monte Carlo.

Worth the install?

AI-flagged interpretation of the facts on this page — verify before relying

Pycarlo is Monte Carlo's Python SDK for querying and mutating data via their GraphQL API, with convenience features for common operations like dbt integration, circuit breaking, and PII filtering.

Yes. Pycarlo is actively maintained, has low install friction, carries no known vulnerabilities, and is licensed permissively. It's the official SDK for Monte Carlo's API, so it's the natural choice if you're already using or evaluating Monte Carlo for data observability. The main prerequisite is Python 3.10+ and valid Monte Carlo credentials.

Install

pycarlo on PyPI

pip

pip install pycarlo

uv

uv add pycarlo

poetry

poetry add pycarlo

Installing pycarlo

Before you install

Low install friction with a pure-Python wheel. Actively maintained with a recent release. Requires Python 3.10 or greater and five runtime dependencies (dataclasses_json, python-box, requests, responses, sgqlc), all standard libraries in the data/API ecosystem.

License in practice

Licensed under Apache 2.0 (permissive), allowing commercial and private use with minimal restrictions—suitable for most production environments.

Quickstart

pip install pycarlo

from pycarlo.core import Client, Query

client = Client()
query = Query()
query.get_user.__fields__('email')
print(client(query).get_user.email)

Requires Python 3.10 or greater. Credentials (API key or OAuth client credentials) must be configured via ~/.mcd/profiles.ini, environment variables, or passed explicitly to Session.

Verify before relying

  • Exact scope and completeness of Monte Carlo API coverage—whether all queries and mutations are truly supported as claimed.
  • Performance characteristics and rate-limiting behavior when executing large or complex queries.
  • Whether the 'features' library (dbt, circuit breaking, PII filtering) is production-ready or still experimental.

Package facts

License Apache Software License (Apache 2.0) (permissive)
Python support supports the current Python release (>=3.10)
Install friction low — pure-Python wheel
Runtime dependencies 5 — dataclasses_json, python-box, requests, responses, sgqlc
Maintenance actively maintained — 0 days since the last release
First released
Downloads 5,853,163/month — #2,023 on PyPI (30-day window, as of 2026-08-14)
Known vulnerabilities none known (OSV.dev, checked 2026-08-14)

Evidence: pycarlo-0.15.182-py3-none-any.whl

Development Status :: 3 - AlphaIntended Audience :: DevelopersLicense :: OSI Approved :: Apache Software LicenseNatural Language :: EnglishProgramming Language :: Python :: 3.10Programming Language :: Python :: 3.11Programming Language :: Python :: 3.12Topic :: Software Development :: Build Tools

Tags

monte carlo api python clientgraphql sdk pythondata observability apimonte carlo python sdkgraphql client with sgqlcapi authentication pythoncircuit breaker service python
graphql-clientdata-observabilityapi-sdk

More Build Tools packages