Intuitiveness
Intuitiveness as the Next Stage of Dataset Design
Granularity and complexity for tabular data
What is Intuitiveness?
Intuitiveness is a methodology and Python package for transforming raw, complex datasets into purpose-built data that directly answers your questions.
The method works through a descent-ascent cycle:
- Descent (L4 -> L0): Strip away complexity to find the core truth
- Ascent (L0 -> L3): Rebuild with YOUR intent, adding only relevant dimensions
The 5 Levels of Abstraction
| Level | Name | Description |
|---|---|---|
| L4 | Raw Dataset | Original tabular data (one or more CSV sources) |
| L3 | Entity Graph | Knowledge graph of relationships between entities |
| L2 | Domain Categories | Grouped by semantic domains |
| L1 | Feature Vector | Unified numeric representation |
| L0 | Core Datum | Single atomic value (the truth) |
Installation
pip install intuitiveness
With optional extras:
pip install intuitiveness[graph] # Neo4j/Memgraph knowledge graphs
pip install intuitiveness[postgres] # Durable session store on PostgreSQL
pip install intuitiveness[all] # Everything
Quick Start
from intuitiveness import Level4Dataset, NavigationSession
# Load your data
import pandas as pd
tables = {"population.csv": pd.read_csv("population.csv")}
# Create a session and start navigating
l4 = Level4Dataset(tables)
session = NavigationSession(l4)
print(f"Level: {session.current_level.value}") # 4
# Descend through abstraction levels
session.descend() # L4 -> L3 (entity graph)
session.descend() # L3 -> L2 (domain categories)
session.descend() # L2 -> L1 (feature vector)
session.descend() # L1 -> L0 (core datum)
# Ascend back with new intent
session.ascend() # L0 -> L1 (enriched vector)
session.ascend() # L1 -> L2 (new dimensions)
session.ascend() # L2 -> L3 (linked graph)
Features
- Descent-Ascent Engine: Navigate 5 abstraction levels with full lineage tracking
- Navigation Tree: Branch, time-travel, and compare alternative data redesigns
- MCP Integration: Search data.gouv.fr and World Bank Data360 via Model Context Protocol
- AI-Assisted Transitions: LLM suggests entity joins, domain categories, aggregations, and linkages
- Session Persistence: Save/restore navigation sessions (file or PostgreSQL backend)
- Complexity Measurement: Quantify dataset complexity across abstraction levels
Web Application
The full interactive experience is available as a deployed web app with a React frontend and FastAPI backend. See the repository for deployment instructions.
Scientific Article
This work is documented in a peer-reviewed research paper:
Sarazin, A., Mourey, M. (2026). Intuitiveness as the Next Stage of Dataset Design: granularity and complexity for tabular data. Harvard Data Science Review (under review).
Acknowledgments
Part of the Dataflow research project, funded by:
- Datactivist
- UNESCO Chair in AI and Data Science for Society
Designed by Arthur Sarazin & Mathis Mourey
Metadata
Release files for intuitiveness 0.2.2
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | Actions |
|---|---|---|---|---|
| intuitiveness-0.2.2.tar.gz | 120.4 kB | Without provenance | Details for intuitiveness-0.2.2.tar.gz |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Actions Reset |
|---|---|---|---|---|
| intuitiveness-0.2.2-py3-none-any.whl | Python 3 | none | any | Details for intuitiveness-0.2.2-py3-none-any.whl |
Total release size: 261.1 kB
Release files / intuitiveness-0.2.2.tar.gz
| Download URL | intuitiveness-0.2.2.tar.gz |
|---|---|
| Size | 120.4 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
a65b7d95250d267320e39a28eb1df03070e4da40c52557ff9f7354bb3fc0da3f
|
|
BLAKE2b-256 checksum How to use checksums |
d8f0456f8b390dece8e6f61371c1bd95b284ffa3fbbfc3c0ff1af6af72bf2aea
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.13.7
|
Release files / intuitiveness-0.2.2-py3-none-any.whl
| Download URL | intuitiveness-0.2.2-py3-none-any.whl |
|---|---|
| Size | 140.7 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
cd2cdc0c08e49b66378a57e78e5b34e46878fb77660290f26b6fe727d6ac5b8e
|
|
BLAKE2b-256 checksum How to use checksums |
26fd93d022226bfa335f94fbd3b7fa2972fba075a0f0ffbc8afdb3b9eae61278
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.13.7
|
Security for intuitiveness 0.2.2
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.