Skip to main content

Qualitative Research support tools in Python!

Project description

🔍 CRISP-T (Sense-making from Text and Numbers!)

Release Build status codecov Commit activity License Downloads

Generated by github-dependents-info Wiki Documentation

✨ Have you been co-creating reality with adaptive AI vibes?

TL;DR CRISP-T is a qualitative research method and a toolkit to perform mixed data (text + numeric) analytics for computational triangulation and sense-making. More importantly, CRISP brings "vibe analytics" "SKILLS" for mixed data with an AI agent, adopting an adaptive epistomology.

Download this or a similar dataset, clone this repo, and try a prompt like 👇 in your vibe analytics platform.

Import the csv file from ./downloads folder using the crisp-cli skill with “review” as the text column. Do a comprehensive analysis, integrating both its numeric and textual features, and show the key patterns, relationships, and insights that emerge.
  • MCP SERVER will give more agentic power to your vibe analytics experience (See below).
  • Interpretivist approach: CRISP-T enforces the agentic researcher to adopt an interpretivist approach, rather than a data-science one.

👉 CLI Cheatsheet | Demo & Examples | Documentation

Give us a star ⭐️ if you find this useful!

📖 Introduction

Qualitative research focuses on collecting and analyzing textual data to explore complex phenomena. While qualitative and quantitative data are often used together, there is no standard method for combining them.

CRISP-T integrates textual data (interview transcripts, field notes) and numeric data (surveys, demographics) into a unified corpus. It allows researchers to:

  • Perform INDUCTIVE analysis (finding patterns).
  • Triangulate findings by linking text topics to numeric trends.
  • Use Semantic Search to find relevant literature or code documents.
  • Leverage GenAI through our MCP server for agentic analysis.

Key Features

  • No Python knowledge required - Full CLI support.
  • Interpretivist approach - Designed for sense-making, not just data science.
  • GenAI Ready - Augments LLMs with agentic tools.
  • Open Source - GPL-3.0 License.

The CRISP tools may also be useful for:

  • ⭕ Automated interview coding dictionary generation.
  • ⭕ Semantically filtering journal articles for literature review.
  • ⭕ Generating visualizations for qualitative (e.g. word cloud) and quantitative (e.g. TDABM) data.
  • ⭕ Many other ….

CRISP is ❌ NOT for:

  • ❌ Multimodal prediction. Use this instead!
  • Sequential mixed methods research, where qualitative and quantitative data are collected and analyzed in separate phases.
  • ❌ Convergent parallel mixed method designs where qualitative and quantitative data are collected simultaneously but analyzed separately.

💻 Installation

pip install crisp-t

Recommended (for Machine Learning features):

pip install crisp-t[ml]

Optional (for XGBoost):

pip install crisp-t[xg]
# Mac users: brew install libomp

🚀 Usage

CRISP-T provides three main CLI tools. See the CLI Cheatsheet for a full list of commands.

1. crisp (Analysis)

The main tool for data import and analysis.

  • Import Data: crisp --source ./data --out ./corpus
  • Analyze Text: crisp --inp ./corpus --topics --sentiment
  • Analyze Numbers: crisp --inp ./corpus --kmeans --regression

2. crispviz (Visualization)

Generates charts and graphs from your analysis.

  • Word Cloud: crispviz --inp ./corpus --wordcloud --out ./viz
  • Interactive Topics: crispviz --inp ./corpus --ldavis --out ./viz

3. crispt (Corpus Toolkit)

Manages corpus structure and detailed queries.

  • Semantic Search: crispt --inp ./corpus --semantic "query" --num 5
  • Metadata: crispt --inp ./corpus --meta "project=phase1"

👉 View the Step-by-Step Demo


🤖 MCP Server (Agentic AI)

CRISP-T includes a Model Context Protocol (MCP) server, allowing AI agents (like Claude Desktop) to interact directly with your data.

Configuration (Claude Desktop)

MacOS: ~/Library/Application Support/Claude/claude_desktop_config.json Windows: %APPDATA%\Claude\claude_desktop_config.json

{
  "mcpServers": {
    "crisp-t": {
      "command": "<python-path>crisp-mcp"
    }
  }
}

The MCP server provides tools for semantic search, topic modeling, clustering, and more, allowing you to ask your AI assistant to "analyze the trends in this corpus" directly. Most of the CLI commands are available as MCP tools.


🤖 Skills (Agentic AI)

CRISP-T also provides Skills for use with Claude Desktop, AntiGravity, VSCODE and other AI coding platforms.


Data model

crisp-t


📚 Documentation & References

🤝 Contribution & Contact

First presented at ICIS 2025.

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

crisp_t-2.2.1.tar.gz (1.0 MB view details)

Uploaded Source

Built Distribution

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

crisp_t-2.2.1-py3-none-any.whl (174.2 kB view details)

Uploaded Python 3

File details

Details for the file crisp_t-2.2.1.tar.gz.

File metadata

  • Download URL: crisp_t-2.2.1.tar.gz
  • Upload date:
  • Size: 1.0 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for crisp_t-2.2.1.tar.gz
Algorithm Hash digest
SHA256 ca8206b9dc09843110786c3b79f4e58c8f64721020757421dc59bc67de484004
MD5 adf934de5e973cdc03f58db97be6d361
BLAKE2b-256 d9f07e507ed6fa3d78d4571e7a8c1db82180783b7201a2830aab8af3f138880a

See more details on using hashes here.

Provenance

The following attestation bundles were made for crisp_t-2.2.1.tar.gz:

Publisher: publish.yml on dermatologist/crisp-t

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file crisp_t-2.2.1-py3-none-any.whl.

File metadata

  • Download URL: crisp_t-2.2.1-py3-none-any.whl
  • Upload date:
  • Size: 174.2 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for crisp_t-2.2.1-py3-none-any.whl
Algorithm Hash digest
SHA256 905d2e6599009e9d78a9989c03b3f236616dca89cf3c04aa14f9d88321e5492f
MD5 b494567ade962232264f56a6e748aeb0
BLAKE2b-256 79612bec55a552cc6512e944d43178f4fa424da24bc0a2d671497407566bcb7b

See more details on using hashes here.

Provenance

The following attestation bundles were made for crisp_t-2.2.1-py3-none-any.whl:

Publisher: publish.yml on dermatologist/crisp-t

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

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