Skip to main content

IFClient-Python

A command-line tool to validate, merge, plan, and apply configuration files for InsightFinder projects.

Installation

  1. Clone the Repository:

    git clone https://github.com/your-username/ifclient.git
    cd ifclient
    
  2. Install Dependencies:

    Using Poetry:

    poetry install
    

    Or install in editable mode with pip:

    pip install -e .
    
  3. Set Up a Virtual Environment (optional but recommended):

    python -m venv venv
    source venv/bin/activate  # Windows: venv\Scripts\activate
    

Configuration File Structure

Your configuration files are organized hierarchically. A typical structure is like this but you not mandatory:

/config
|-- tool_config.yaml                # Base tool configuration
|-- /projects
|    |-- base1.yaml           # Project base configuration
|    |-- base2.yaml
|-- /instance-grouping-settings
|    |-- grouping-data-1.yaml
|    |-- grouping-data-2.yaml
|-- /component-metric-settings
     |-- metric-setting-1.yaml
     |-- metric-setting-2.yaml

You can find examples for all of these in the docs/examples folder in the repository. These files can be used as a starting point. The files are organised in the same way as show above. As mentiond before this is a recommonded but not a mandatory structure of organizing

Sample config.yaml

apiVersion: v1       # Configuration version 
type: toolConfig     # Schema validation type 
baseUrl: "stg.insightfinder.com"   # Base URL for deployment

projectBaseConfigs:
  - /path/to/project-config.yaml # Can be absolute or relative paths
  - /path/to/base/*.yaml # Wildcards are allowed

Sample Project Configuration (base1.yaml)

apiVersion: v1
type: projectBase
user: "user1"
project: "project_name"
projectDisplayName: "Project-Display-Name"
cValue: 1
pValue: 0.95
showInstanceDown: false
retentionTime: 11
UBLRetentionTime: 11
instanceGroupingData:
  files:
    - "../instance-grouping-data/grouping-data-1.yaml" # All file paths must be relative to the current file
    - "../instance-grouping-data/grouping-data-2.yaml"
consumerMetricSettingOverallModelList:
  files:
    - "../consumer-metric-setting/metric-setting-*.yaml"

Sub-level configurations (for grouping or metric settings) follow similar conventions.

Usage

The tool provides several commands:

  • validate: Validate all provided configuration files.
  • generate: Merge configurations into one output file.
  • apply: Apply the merged configuration via API calls.

Example Commands

# Validate configuration files in a directory
ifclient validate # Searches for all toolConfigs in current directory and recursively validates them
ifclient validate /path/to/configs # Validation with directory to search for all toolConfigs and apply validation recursively
ifclient validate /path/to/configs/config.yaml # Validation of any file and its subconfigs recursively(Need not be of type tool config)

# Generate a merged configuration file
ifclient generate /path/to/configs/config.yaml /path/to/outputs/output.yaml # Generate a yaml file as output with input of a toolConfig file

# Apply the merged configuration via API call
ifclient apply # Searches for all toolConfig files in current directory and recursively applies them
ifclient apply /path/to/configs # Searches for all toolConfig files in the specified directory and applies them recursively
ifclient apply /path/to/configs/config.yaml # Appies file and its subconfigs recursively

Environment Variables

Before running the tool, ensure that sensitive passwords are available as environment variables. The naming convention should be:

ifusername_PASSWORD

For example, if your InsightFinder username is jdoe, set the environment variable:

export jdoe_PASSWORD=your_password_here

Metadata

Release files for insightfinder-client 0.1.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 insightfinder-client 0.1.0
File Size Uploaded Provenance
insightfinder_client-0.1.0.tar.gz 10.9 kB Without provenance Details

Built distribution (wheel)

Table of built distributions (wheels) for insightfinder-client 0.1.0
File Interpreter ABI Platform
insightfinder_client-0.1.0-py3-none-any.whl Python 3 none any Details

Total release size: 28.5 kB

Release files / insightfinder_client-0.1.0.tar.gz

Download URL insightfinder_client-0.1.0.tar.gz
Size 10.9 kB
Tags Source
SHA-256 checksum
How to use checksums
98c215ca02dbd054d4ab012b9be4169e7b6a5a2dcbf92ce6aadf2d59a076a4a1
BLAKE2b-256 checksum
How to use checksums
15223fa4fd35a984c121dee3c0560b884c9e46a029d1f47b787aab826d154c60
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via poetry/2.2.1 CPython/3.13.7 Darwin/25.0.0

Release files / insightfinder_client-0.1.0-py3-none-any.whl

Download URL insightfinder_client-0.1.0-py3-none-any.whl
Size 17.5 kB
Tags Python 3
SHA-256 checksum
How to use checksums
9f2c49ec6499d1745274bd40795e788aaa5941e25e7617ed81d113d47c0a6058
BLAKE2b-256 checksum
How to use checksums
faf16cdc213dc78efce9e5aa3cef9b1fd31754143183c46db381420447ae3527
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via poetry/2.2.1 CPython/3.13.7 Darwin/25.0.0

Security for insightfinder-client 0.1.0

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Release history Release notifications | RSS feed

This release

0.1.0 This release

2 release files No provenance

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