Skip to main content

Monte Carlo's CLI

Project description

Monte Carlo CLI

Monte Carlo's Alpha CLI!

Installation

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

virtualenv venv
. venv/bin/activate

pip install -U montecarlodata

Developers of the CLI can use:

make install 
. venv/bin/activate

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.

Any AWS profiles or regions should be for the account the Data Collector (DC) is deployed to. If you are not using the CLI for onboarding, you may leave the AWS configuration blank.

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

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. For AWS, system defaults are used if not set as part of configure.

The following values can also be set by the environment:

  • MCD_API_ENDPOINT - Overwrite the default API endpoint. For dev environment, the API endpoint should be https://api.dev.getmontecarlo.com/graphql

  • MCD_VERBOSE_ERRORS - Enable verbose logging on errors (default=false)

Help

Help for commands, options and arguments can be found using the --help flag.

montecarlo help can be used to echo all help text. Additional documentation is available here.

Examples

  • Using Docker from a local installation

    docker build -t montecarlo .
    docker run -v ${HOME}/.aws/credentials:/root/.aws/credentials:ro \
               -e MCD_DEFAULT_API_ID='<ID>' \
               -e MCD_DEFAULT_API_TOKEN='<TOKEN>' \
               -e AWS_DEFAULT_PROFILE='<PROFILE>' \
               -e AWS_DEFAULT_REGION='us-east-1' \
               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:
    AWS profile name []: shiva
    AWS region [us-east-1]:
    
    $  cat ./profiles.ini 
    [zeus]
    mcd_id = 1234
    mcd_token = 5678
    aws_profile = shiva
    aws_region = us-east-1
    
  • 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, simply add a new version tag, e.g. v1.0.0, and push that tag to GitHub. CircleCI will take care of publishing a new package to PyPI.

License

Apache 2.0 - See the LICENSE for more information.

Project details


Release history Release notifications | RSS feed

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

montecarlodata-0.32.0.tar.gz (113.0 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

montecarlodata-0.32.0-py3-none-any.whl (98.8 kB view details)

Uploaded Python 3

File details

Details for the file montecarlodata-0.32.0.tar.gz.

File metadata

  • Download URL: montecarlodata-0.32.0.tar.gz
  • Upload date:
  • Size: 113.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.7.1 importlib_metadata/5.0.0 pkginfo/1.8.3 requests/2.28.1 requests-toolbelt/0.10.1 tqdm/4.64.1 CPython/3.8.6

File hashes

Hashes for montecarlodata-0.32.0.tar.gz
Algorithm Hash digest
SHA256 a67bdda542a0954a525a93b01e2c2b9b245a11a2b43ed5146f9bafe3fba529e9
MD5 c93a57de1fa2150782f8bfe49886779c
BLAKE2b-256 fbdb852837f916c784ec62d56058b5dd90fef91edd5591f9db7462a1526d33ee

See more details on using hashes here.

File details

Details for the file montecarlodata-0.32.0-py3-none-any.whl.

File metadata

  • Download URL: montecarlodata-0.32.0-py3-none-any.whl
  • Upload date:
  • Size: 98.8 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.7.1 importlib_metadata/5.0.0 pkginfo/1.8.3 requests/2.28.1 requests-toolbelt/0.10.1 tqdm/4.64.1 CPython/3.8.6

File hashes

Hashes for montecarlodata-0.32.0-py3-none-any.whl
Algorithm Hash digest
SHA256 47db058812552fb7ddaebb98079f8768e2adc1c185565477399f78c187506c2f
MD5 987597377031c001b9b3a5d429127f42
BLAKE2b-256 7005c83f704bf6aea5a8d11c5b7e623d0a749aa1799a52988fe4e2c9363f6b59

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page