Skip to content

Repository files navigation

InsightSolver

PyPI versionLicenseBuild Status

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 directly from PyPI:

pip install insightsolver

Or for the latest development version from GitHub:

pip install git+https://github.com/insightsolver/insightsolver.git

⚡ Quick start

# Import dataimportpandasaspddf=pd.read_csv('kaggle_titanic_train.csv',index_col='PassengerId')
# Declare a solverfrominsightsolverimportInsightSolversolver=InsightSolver(
df=df,
target_name='Survived',
target_goal=1,
)
# Fit the solversolver.fit(
service_key='your_service_key.json',
)
# Print the resultsolver.print()
# Plot the resultsolver.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)ComputationCredits Charged
100010ceil(1000*10/10000)1
1000025ceil(10000*25/10000)25
20000100ceil(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) =1credit

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

About

This is the repo for the insightsolver api client.

Resources

Stars

0 stars

Watchers

2 watching

Forks

Releases

Packages

Contributors

Languages