pycarlo
Monte Carlo's Python SDK
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 pycarlouv
uv add pycarlopoetry
poetry add pycarloInstalling 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
Tags
More Build Tools packages
Provides reusable utilities for Python…
permissive · top 100 on PyPI
tqdmWraps any iterable to display a real-time…
copyleft · top 100 on PyPI
pippip is the standard installer for Python…
permissive · top 100 on PyPI
hatchlingHatchling is a standards-compliant Python build…
permissive · top 100 on PyPI
grpcio-toolsGenerates Python gRPC service stubs and message…
permissive · top 1,000 on PyPI
pre-commitpre-commit is a framework for installing and…
permissive · top 1,000 on PyPI
montecarlodataA command-line interface for interacting with…
permissive · top 15,000 on PyPI
sgqlcsgqlc is a Python client library for querying…
permissive · top 5,000 on PyPI
airflow-mcdIntegrates Monte Carlo data observability into…
permissive · top 15,000 on PyPI
gqlA GraphQL client for Python that executes…
permissive · top 1,000 on PyPI
python-graphql-clientSends GraphQL queries, mutations, and…
permissive · top 15,000 on PyPI
django-graphql-jwtAdds JSON Web Token (JWT) authentication to…
permissive · top 15,000 on PyPI
graphqlclientA lightweight GraphQL client that sends queries…
permissive · top 15,000 on PyPI
pymc3PyMC3 is a Python package for Bayesian…
permissive · top 15,000 on PyPI
grapheneGraphene is a Python library for building…
permissive · top 1,000 on PyPI
graphene-pydanticConverts Pydantic models into GraphQL object…
permissive · top 15,000 on PyPI