Skip to main content

Monte Carlo CLI

Monte Carlo's Alpha CLI!

Installation

Requires Python 3.9 or greater. Normally you can install and update using pip. For instance:

pip install virtualenv
virtualenv venv
. venv/bin/activate

pip install -U montecarlodata

Developers of the CLI can use:

pip install virtualenv
make install
. venv/bin/activate
pre-commit install

Either way confirm the installation by running:

montecarlo --version

If the Python requirement does not work for you please reach out to support@montecarlodata.com. Docker is an option.

Quick start

First time users can configure the tool by following the onscreen prompts:

montecarlo configure

MCD tokens can be generated from the dashboard.

Use the --help flag for details on any advanced options (e.g. creating multiple montecarlo profiles) or see docs here.

Non-interactive / scripted use: when stdin is not a terminal (CI, scheduled jobs), montecarlo configure defaults to API key auth and prints a notice to stderr. Pass --api-key --mcd-id <ID> --mcd-token <TOKEN> to configure without prompts, or --oauth to use OAuth client credentials.

That's it! You can always validate your connection with:

montecarlo validate

User settings

Any configuration set by montecarlo configure can be found in ~/.mcd/ by default.

The MCD ID and Token can be overwritten, or even set, by the environment:

  • MCD_DEFAULT_API_ID
  • MCD_DEFAULT_API_TOKEN

These two are required either as part of configure or as environment variables.

The following values can also be set by the environment:

  • MCD_API_ENDPOINT - Overwrite the default API endpoint
  • MCD_VERBOSE_ERRORS - Enable verbose logging on errors (default=false)

Help

Documentation for commands, options, and arguments can be found here.

You can also use montecarlo help to echo all help text or use the --help flag on any command.

Examples

Using Docker from a local installation

docker build -t montecarlo .
docker run -e MCD_DEFAULT_API_ID='<ID>' -e MCD_DEFAULT_API_TOKEN='<TOKEN>' montecarlo --version

Replace --version with any sub-commands or options. If interacting with files those directories will probably need to be mounted too.

Configure a named profile with custom config-path

$ montecarlo configure --profile-name zeus --config-path .
Key ID: 1234
Secret:

$ cat ./profiles.ini
[zeus]
mcd_id = 1234
mcd_token = 5678

List active integrations

$ montecarlo integrations list
╒══════════════════╤══════════════════════════════════════╤══════════════════════════════════╕
│ Integration      │ ID                                   │ Created on (UTC)                 │
╞══════════════════╪══════════════════════════════════════╪══════════════════════════════════╡
│ Odin             │ 58005657-2914-4701-9a11-260ac425b14e │ 2021-01-02T01:30:52.806602+00:00 │
├──────────────────┼──────────────────────────────────────┼──────────────────────────────────┤
│ Thor             │ 926816bd-ab17-4f95-a953-fa14482c59de │ 2021-01-02T01:31:19.892205+00:00 │
├──────────────────┼──────────────────────────────────────┼──────────────────────────────────┤
│ Loki             │ 1cf1dc0d-d8ec-4c85-8e64-57ab2ad8e023 │ 2021-01-02T01:32:37.709747+00:00 │
╘══════════════════╧══════════════════════════════════════╧══════════════════════════════════╛

Apply monitors configuration

$ montecarlo monitors apply --namespace my-monitors

Gathering monitor configuration files.
- models/customer_success/schema.yml - Embedded monitor configuration found.
- models/customer_success/schema.yml - Monitor configuration found.
- models/lineage/schema.yml - Embedded monitor configuration found.

Modifications:
- ResourceModificationType.UPDATE - Monitor: type=stats, table=analytics:prod.customer_360
- ResourceModificationType.UPDATE - Monitor: type=categories, table=analytics:prod.customer_360
- ResourceModificationType.UPDATE - Monitor: type=stats, table=analytics:prod_lineage.lineage_nodes
- ResourceModificationType.UPDATE - Freshness SLI: table=analytics:prod.customer_360, freshness_threshold=30

Import DBT manifest

$ montecarlo import dbt-manifest --dbt-manifest-file target/manifest.json

Importing DBT objects into Monte Carlo catalog. please wait...

Imported a total of 51 DBT objects into Monte Carlo catalog.

Tests and Releases

Locally make test will run all tests. CircleCI manages all testing for deployment.

To publish a new release, navigate to Releases in the GitHub repo and then:

  • Click "Draft a new release"
  • In the "Choose a tag" dropdown, type the new version number, for example v1.2.3 and click "Create a new tag"
  • Follow the format from previous releases for the description
  • Leave "Set as the latest release" checked
  • Click "Publish release"
  • CircleCI will take care of publishing a new package to PyPI and generating documentation.

License

Apache 2.0 - See the LICENSE for more information.

Metadata

Release files for montecarlodata 0.176.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for montecarlodata 0.176.0
File Size Uploaded
montecarlodata-0.176.0.tar.gz 233.2 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for montecarlodata 0.176.0
File Interpreter ABI Platform
montecarlodata-0.176.0-py3-none-any.whl Python 3 none any Details

Total release size: 418.3 kB

Release files / montecarlodata-0.176.0.tar.gz

Download URL montecarlodata-0.176.0.tar.gz
Size 233.2 kB
Tags Source
SHA-256 checksum
How to use checksums
16b8ced9cd98c90590351879f434187ced680509da512f482e9d514ea296a765
BLAKE2b-256 checksum
How to use checksums
a4a95987ef42e9ac39edb0b7dfd2c880fd888671322b462b846381451d57fcf8
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/3.7.1 importlib_metadata/9.0.1 pkginfo/1.13 requests/2.34.2 requests-toolbelt/1.0.0 tqdm/4.70.1 CPython/3.10.21

Release files / montecarlodata-0.176.0-py3-none-any.whl

Download URL montecarlodata-0.176.0-py3-none-any.whl
Size 185.1 kB
Tags Python 3
SHA-256 checksum
How to use checksums
a700ab8f09d05f6b8840c003864ebaddda254b55caec89d4af43c916765511a3
BLAKE2b-256 checksum
How to use checksums
9ef02a86e62aa65299a17fa0026d447289f4ea80f27b2ab3307981f6c1f3c48a
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/3.7.1 importlib_metadata/9.0.1 pkginfo/1.13 requests/2.34.2 requests-toolbelt/1.0.0 tqdm/4.70.1 CPython/3.10.21

Release history Release notifications | RSS feed

This release

0.176.0 This release

2 release files

0.90.1

2 release files

0.90.0

2 release files

0.81.5

2 release files

0.81.2

2 release files

0.80.2

2 release files

0.80.1

2 release files

0.72.2

2 release files

0.72.1

2 release files

0.72.0

2 release files

0.71.3

2 release files

0.71.0

2 release files

0.70.6

2 release files

0.70.5

2 release files

0.69.2

2 release files

0.69.1

2 release files

0.69.0

2 release files

0.64.0

2 release files

0.63.3

2 release files

0.63.2

2 release files

0.63.1

2 release files

0.63.0

2 release files

0.62.0

2 release files

0.61.3

2 release files

0.61.2

2 release files

0.61.1

2 release files

0.59.0

2 release files

0.58.0

2 release files

0.55.2

2 release files

0.55.1

2 release files

0.55.0

2 release files

0.54.4

2 release files

0.54.1

2 release files

0.54.0

2 release files

0.53.0

2 release files

0.50.0

2 release files

0.48.0

2 release files

0.47.0

2 release files

0.46.1

2 release files

0.46.0

2 release files

0.44.0

2 release files

0.43.0

2 release files

0.42.0

2 release files

0.41.3

2 release files

0.41.0

2 release files

0.40.2

2 release files

0.40.1

2 release files

0.40.0

2 release files

0.37.0

2 release files

0.36.0

2 release files

0.35.1

2 release files

0.35.0

2 release files

0.33.0

2 release files

0.32.0

2 release files

0.31.0

2 release files

0.30.0

2 release files

0.29.0

2 release files

0.28.1

2 release files

0.28.0

2 release files

0.27.0

2 release files

0.26.7

2 release files

0.26.6

2 release files

0.26.5

2 release files

0.26.4

2 release files

0.26.3

2 release files

0.26.1

2 release files

0.26.0

2 release files

0.25.5

2 release files

0.25.4

2 release files

0.25.1

2 release files

0.25.0

2 release files

0.24.1

2 release files

0.24.0

2 release files

0.23.0

2 release files

0.22.0

2 release files

0.21.0

2 release files

0.20.3

2 release files

0.20.2

2 release files

0.20.1

2 release files

0.20.0

2 release files

0.19.6

2 release files

0.19.5

2 release files

0.19.4

2 release files

0.19.3

2 release files

0.19.0

2 release files

0.18.0

2 release files

0.16.0

2 release files

0.15.1

2 release files

0.15.0

2 release files

0.13.2

2 release files

0.12.3

2 release files

0.12.2

2 release files

0.12.1

2 release files

0.12.0

2 release files

0.11.1

2 release files

0.11.0

2 release files

0.10.0

2 release files

0.9.2

2 release files

0.9.1

2 release files

0.9.0

2 release files

0.8.1

2 release files

0.8.0

2 release files

0.7.0

2 release files

0.6.0

2 release files

0.5.1

2 release files

0.5.0

2 release files

0.4.0

2 release files

0.3.4

2 release files

0.3.3

2 release files

0.3.2

2 release files

0.3.1

2 release files

0.3.0

2 release files

0.2.5

2 release files

0.2.4

2 release files

0.2.3

2 release files

0.2.2

2 release files

0.2.1

2 release files

0.2

2 release files

0.1.5

2 release files

0.1.4

2 release files

0.1.3

2 release files

0.1.2

2 release files

0.1.1

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page