Skip to main content

InsightSolver offers rule-based insights generation for actionable data-driven decisions.

Project description

InsightSolver

InsightSolver is a solution for advanced data insights powered by a centralized cloud-based rule-mining engine. It enables organizations to uncover hidden patterns, generate actionable insights, and make smarter data-driven decisions. This repository hosts the Python-based InsightSolver API client.

🚀 Getting started

To get started, you need the following:

  1. The insightsolver Python module installed.
  2. A service key.
  3. Credits to use the API.

🛠️ Installation

You can install the insightsolver Python module in different ways:

  1. 100% CLI. If you have git installed and you don't need a local copy of the repo:
pip install git+https://github.com/insightsolver/insightsolver.git
  1. 100% CLI. If you have git installed and you want also a local copy of the repo:
git clone https://github.com/insightsolver/insightsolver.git
cd insightsolver
pip install .
  1. 50% GUI + 50% CLI. If you don't have git installed, in a browser go to https://github.com/insightsolver/insightsolver and clic on the green button <> Code then Download Zip. Then open the zip file, then with a CLI cd to the unzipped folder then do:
pip install .
  1. 100% CLI. (coming soon) From PyPi: pip install insightsolver.

Because the current GitHub repo is private, the first two methods need a github account with an active personal access token (classic).

Warning for Anaconda users: When using a virtual environment managed by Anaconda, the installation of the insightsolver library as specified above could install dependencies (specified in the file requirements.txt) via pip that are not handled by Anaconda. There are two options available. The first option is to do as specified above, which lets pip install dependencies, but risk that the virtual environment is no longer handled by Anaconda. The second option is to add a --no-deps flag to the pip install, e.g. pip install --no-deps .. This last command would install the scripts of the insightsolver module without installing the dependencies. This prevents breaking the Anaconda environment but could result in insightsolver not finding all the required dependencies at runtime. These required dependencies should therefore either be installed manually from within the Anaconda application or either using the environment.yml file.

⚡ Quick start

# Import data
import pandas as pd
df = pd.read_csv('kaggle_titanic_train.csv',index_col='PassengerId')
# Declare a solver
from insightsolver import InsightSolver
solver = InsightSolver(
	df          = df,
	target_name = 'Survived',
	target_goal = 1,
)
# Fit the solver
solver.fit(
	service_key = 'your_service_key.json',
)
# Print the result
solver.print()
# Plot the result
solver.plot()

A demo can also be found in here

💳 Credit Consumption

The API charges usage based on the size of the dataset you submit. The number of credits is calculated as:

credits = ceil(m * n / 10000)

where:

  • m is the number of rows (excluding the header),
  • n is the number of feature columns (excluding the index column, the target column and other ignored columns),
  • ceil is the mathematical ceiling function (rounds up to the next integer).

Here are some examples:

Rows (m) Columns (n) Computation Credits Charged
1000 10 ceil(1000*10/10000) 1
10000 25 ceil(10000*25/10000) 25
20000 100 ceil(20000*100/10000) 200

For reference, the Titanic training dataset from Kaggle has m=891 rows and n=9 feature columns (excluding PassengerId and Survived), which results in:

ceil(891 * 9 / 10000) = 1 credit

So you can think of 1 credit as roughly "one Titanic" in size.

Tips to reduce credit usage:

  • Remove unused or irrelevant columns or set them to 'ignore',
  • Filter the rows of the dataset,
  • Samples the rows of the dataset.

📚 Documentation

Comprehensive technical documentation for the insightsolver module is available here:

📄 Changelog

Here you'll find the changelog.

📦 Dependencies

  • Python 3.9 or higher
  • pandas, numpy, requests, google-auth, cryptography, mpmath, etc..

⚖️ License

The InsightSolver API client library is licensed under the Apache License 2.0:

  • You can use, modify, and redistribute it freely in your projects, including commercial ones.
  • This software is provided ‘as-is’, without warranty of any kind, express or implied, including but not limited to merchantability or fitness for a particular purpose.

See the full LICENSE file for details.

Note: The InsightSolver API server is proprietary and requires a valid subscription to use. The InsightSolver API client library provides a client interface only; usage of the server is subject to our terms of service.

🗃️ Third-Party Licenses

The client-side API module (installable via pip) uses third-party open-source Python packages.

To ensure transparency and comply with licensing requirements, we provide a complete list of these dependencies in THIRD_PARTY_LICENSES.csv. The file includes:

  • Package name and version
  • License type
  • Link to the package’s source or homepage

All third-party libraries are used unmodified and installed directly from PyPI.

This information is provided to help users and organizations verify compliance with open-source licenses when integrating the client library into their projects.

🤝 Contact

Project details


Download files

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

Source Distribution

insightsolver-0.1.81.tar.gz (362.9 kB view details)

Uploaded Source

Built Distribution

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

insightsolver-0.1.81-py3-none-any.whl (364.3 kB view details)

Uploaded Python 3

File details

Details for the file insightsolver-0.1.81.tar.gz.

File metadata

  • Download URL: insightsolver-0.1.81.tar.gz
  • Upload date:
  • Size: 362.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.11.14

File hashes

Hashes for insightsolver-0.1.81.tar.gz
Algorithm Hash digest
SHA256 ff5c5ae56db2e7dfadee80dd807ec9bc18c1b9c4370fd661efeb7976e10e4cad
MD5 d993d324aaea9a0b8bbe32b1fb4c4919
BLAKE2b-256 44eeaf225fd840a5ca7bbc705a18bedcf89f0728c5b970a0fdc17f8ee114e154

See more details on using hashes here.

File details

Details for the file insightsolver-0.1.81-py3-none-any.whl.

File metadata

  • Download URL: insightsolver-0.1.81-py3-none-any.whl
  • Upload date:
  • Size: 364.3 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.11.14

File hashes

Hashes for insightsolver-0.1.81-py3-none-any.whl
Algorithm Hash digest
SHA256 88ee21bfb34ff3d059b7332dd6426f64014923c2d6621dc0a33d9d5ffdd32d4e
MD5 c086b048dec5ea0d3cc6c93c68c2d5b1
BLAKE2b-256 155f25f7908cf1e756525362bff2b153be6a7b4df9a8dfb76e4448d9cf2545e8

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