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.79.tar.gz (362.8 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.79-py3-none-any.whl (364.3 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: insightsolver-0.1.79.tar.gz
  • Upload date:
  • Size: 362.8 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.79.tar.gz
Algorithm Hash digest
SHA256 7aa8edfde57631e7f1f6867d43f02d04150e2c850eccdeca50c3ddc9b806d7ed
MD5 5673dfa67105ca368cb6dd78b4aaed95
BLAKE2b-256 e453070a7431f95ffd70ef751ad9cb6febb400e697589387248e8bb9fc2392f7

See more details on using hashes here.

File details

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

File metadata

  • Download URL: insightsolver-0.1.79-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.79-py3-none-any.whl
Algorithm Hash digest
SHA256 c32b1b1b8ba3b070d52be3452aae09450ab258dabff274868a47bfd6479d10c6
MD5 a57091f652ea5b12e5ff7797c74dd3a2
BLAKE2b-256 d4bfc69d6402ea72ffeaab98042add0cb94600bdb5fe374d653c18d0391c4d76

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