Skip to main content

Qualitative Reasoning

A comprehensive Python library for qualitative reasoning systems based on Forbus's Process Theory and de Kleer's Qualitative Physics framework.

This package enables AI systems to reason about physical systems using qualitative relationships rather than precise numerical values, similar to how humans understand physics intuitively.

Features

  • Modular Architecture: Clean separation of concerns with specialized components
  • Security-First Design: Constraint evaluation without eval() vulnerabilities
  • Rich Visualization: Comprehensive analysis and visualization capabilities
  • Factory Functions: Pre-configured reasoners for common use cases
  • Backward Compatibility: Full compatibility with original implementation

Core Components

  • QualitativeReasoner: Main reasoning engine
  • QualitativeValue/Direction/Quantity: Core qualitative types
  • QualitativeState/Process: System state and process modeling
  • Constraint Evaluation: Security-focused constraint system
  • Visualization: Rich reporting and analysis tools

Installation

pip install qualitative-reasoning

Basic Usage

from qualitative_reasoning import QualitativeReasoner

# Create a reasoner
reasoner = QualitativeReasoner()

# Add quantities and processes
reasoner.add_quantity("temperature", "increasing")
reasoner.add_process("heating", {"temperature": "increasing"})

# Run simulation
reasoner.simulate_step()

Research Foundation

Based on foundational work in qualitative physics:

  • Forbus's Process Theory
  • de Kleer's Qualitative Physics framework

Author

Benedict Chen (benedict@benedictchen.com)

License

Custom Non-Commercial License with Donation Requirements

Metadata

Release files for qualitative-reasoning 1.4.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for qualitative-reasoning 1.4.0
File Size Uploaded
qualitative_reasoning-1.4.0.tar.gz 153.4 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for qualitative-reasoning 1.4.0
File Interpreter ABI Platform
qualitative_reasoning-1.4.0-py3-none-any.whl Python 3 none any Details

Total release size: 302.4 kB

Release files / qualitative_reasoning-1.4.0.tar.gz

Download URL qualitative_reasoning-1.4.0.tar.gz
Size 153.4 kB
Tags Source
SHA-256 checksum
How to use checksums
83cfe89f1b444a26c978c78597ac9aa76bcb657cf91ffad5febca853c054c047
BLAKE2b-256 checksum
How to use checksums
6de06dc50e89a4805ede7d27d65f3223776c9305ada081722a6fce05f4c89399
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.13.3+

Release files / qualitative_reasoning-1.4.0-py3-none-any.whl

Download URL qualitative_reasoning-1.4.0-py3-none-any.whl
Size 149.0 kB
Tags Python 3
SHA-256 checksum
How to use checksums
40a7ed8e49853a72f28b37038b541e85047cb55ce0b18156ee921769e4615066
BLAKE2b-256 checksum
How to use checksums
f490afc141fa6d327940cdafb2327ced4d22ecf4e116cabfe14c333e3128266f
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.13.3+

Release history Release notifications | RSS feed

This release

1.4.0 This release

2 release files

1.3.2

2 release files

1.3.1

2 release files

1.3.0

2 release files

1.2.0

2 release files

1.1.1

2 release files

1.1.0

2 release files

1.0.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page