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

TL;DR 🚀 CRISP-T is a qualitative research method and a toolkit to perform textual (e.g. topic modelling) and numeric (e.g. decision trees) analysis of mixed datasets for computational triangulation and sense-making (optionally) using large language models.

👉 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 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.


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.0.0.tar.gz (959.8 kB 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.0.0-py3-none-any.whl (143.0 kB view details)

Uploaded Python 3

File details

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

File metadata

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

File hashes

Hashes for crisp_t-2.0.0.tar.gz
Algorithm Hash digest
SHA256 ec5895482ffdb3764e4c7dcd984e6ef591bbac2fdfc15cb8c5af661bc59cff63
MD5 b969e0fb11105db51e396e43fadd69c0
BLAKE2b-256 97e78179cfd143f040c4cee355076a82b73d047768100ddb9e32b7a653df8842

See more details on using hashes here.

Provenance

The following attestation bundles were made for crisp_t-2.0.0.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.0.0-py3-none-any.whl.

File metadata

  • Download URL: crisp_t-2.0.0-py3-none-any.whl
  • Upload date:
  • Size: 143.0 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.0.0-py3-none-any.whl
Algorithm Hash digest
SHA256 8c329bbb3f7142ba8fb2cbffeccbc865ec238175fd52a93a50fb61d33d3fd5cc
MD5 4570154fa97e14e391542abcdb9e3f39
BLAKE2b-256 956020a5072788fd85615ee3d8fcec87acf825648f587f11a52651fab5703ef5

See more details on using hashes here.

Provenance

The following attestation bundles were made for crisp_t-2.0.0-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