Metadata-Version: 2.4
Name: entropic-core
Version: 4.0.1
Summary: Privacy-first entropy monitoring with active LLM intervention for multi-agent systems
Author-email: Entropic Core Team <info@entropic-core.com>
License-Expression: MIT
Project-URL: Homepage, https://github.com/entropic-core/entropic-core
Project-URL: Source, https://github.com/entropic-core/entropic-core
Project-URL: Issues, https://github.com/entropic-core/entropic-core/issues
Project-URL: Documentation, https://entropic-core.readthedocs.io
Project-URL: Discord, https://discord.gg/entropic-core
Keywords: ai,agents,multi-agent,entropy,regulation,homeostasis,hallucination-detection,privacy-first
Classifier: Development Status :: 4 - Beta
Classifier: Intended Audience :: Developers
Classifier: Topic :: Software Development :: Libraries :: Python Modules
Classifier: Topic :: Scientific/Engineering :: Artificial Intelligence
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.8
Classifier: Programming Language :: Python :: 3.9
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Programming Language :: Python :: 3.13
Classifier: Operating System :: OS Independent
Requires-Python: >=3.8
Description-Content-Type: text/markdown
License-File: LICENSE
Requires-Dist: numpy>=1.20.0
Requires-Dist: typing-extensions>=4.0.0
Requires-Dist: requests>=2.25.0
Requires-Dist: click>=8.0.0
Provides-Extra: analytics
Requires-Dist: scipy>=1.7.0; extra == "analytics"
Requires-Dist: scikit-learn>=1.0.0; extra == "analytics"
Provides-Extra: visualization
Requires-Dist: flask>=2.0.0; extra == "visualization"
Requires-Dist: flask-cors>=3.0.0; extra == "visualization"
Requires-Dist: plotly>=5.0.0; extra == "visualization"
Requires-Dist: pandas>=1.3.0; extra == "visualization"
Provides-Extra: dash
Requires-Dist: flask>=2.0.0; extra == "dash"
Requires-Dist: flask-cors>=3.0.0; extra == "dash"
Requires-Dist: plotly>=5.0.0; extra == "dash"
Requires-Dist: pandas>=1.3.0; extra == "dash"
Provides-Extra: reports
Requires-Dist: reportlab>=3.6.0; extra == "reports"
Provides-Extra: streaming
Requires-Dist: websockets>=10.0; extra == "streaming"
Requires-Dist: aiohttp>=3.8.0; extra == "streaming"
Provides-Extra: otel
Requires-Dist: opentelemetry-api>=1.20.0; extra == "otel"
Requires-Dist: opentelemetry-sdk>=1.20.0; extra == "otel"
Requires-Dist: opentelemetry-exporter-otlp>=1.20.0; extra == "otel"
Provides-Extra: prometheus
Requires-Dist: prometheus-client>=0.20.0; extra == "prometheus"
Provides-Extra: evals
Requires-Dist: jsonschema>=4.0.0; extra == "evals"
Requires-Dist: pandas>=1.3.0; extra == "evals"
Requires-Dist: tabulate>=0.9.0; extra == "evals"
Provides-Extra: openrouter
Requires-Dist: openai>=1.0.0; extra == "openrouter"
Provides-Extra: full
Requires-Dist: scipy>=1.7.0; extra == "full"
Requires-Dist: scikit-learn>=1.0.0; extra == "full"
Requires-Dist: flask>=2.0.0; extra == "full"
Requires-Dist: flask-cors>=3.0.0; extra == "full"
Requires-Dist: plotly>=5.0.0; extra == "full"
Requires-Dist: pandas>=1.3.0; extra == "full"
Requires-Dist: reportlab>=3.6.0; extra == "full"
Requires-Dist: websockets>=10.0; extra == "full"
Requires-Dist: aiohttp>=3.8.0; extra == "full"
Requires-Dist: opentelemetry-api>=1.20.0; extra == "full"
Requires-Dist: opentelemetry-sdk>=1.20.0; extra == "full"
Requires-Dist: opentelemetry-exporter-otlp>=1.20.0; extra == "full"
Requires-Dist: prometheus-client>=0.20.0; extra == "full"
Requires-Dist: pyyaml>=6.0.3; extra == "full"
Requires-Dist: psutil>=7.2.1; extra == "full"
Requires-Dist: redis>=7.1.0; extra == "full"
Provides-Extra: dev
Requires-Dist: pytest>=7.0.0; extra == "dev"
Requires-Dist: pytest-cov>=3.0.0; extra == "dev"
Requires-Dist: pytest-asyncio>=0.20.0; extra == "dev"
Requires-Dist: ruff>=0.6.0; extra == "dev"
Requires-Dist: mypy>=1.10.0; python_version >= "3.9" and extra == "dev"
Requires-Dist: mypy<1.19,>=0.950; python_version < "3.9" and extra == "dev"
Requires-Dist: pre-commit>=4.0.0; python_version >= "3.10" and extra == "dev"
Requires-Dist: pre-commit<4.0.0,>=3.7.0; python_version < "3.10" and extra == "dev"
Requires-Dist: types-requests>=2.31.0.20240106; extra == "dev"
Dynamic: license-file

# Entropic Core

Entropic Core is a reliability addon for agentic systems: it instruments long-running (single- and multi-agent) workflows with entropy-derived signals and provides hooks for regulation (interventions, healing, consensus) plus evidence (metrics, dashboards, artifacts).

## Core Value (1 sentence)
For developers building AI agents, Entropic Core adds observability + entropy-guided control so agent systems remain stable and auditable during long runs.

## What We Sell
Verifiable reliability for agent systems: fewer measurable failures with reproducible evidence.

## What It Guarantees (and What It Does Not)

### Guarantees
- A consistent control loop you can integrate: measure -> diagnose -> intervene -> record.
- Structured evidence: metrics, logs, and optional dashboards.
- Configurable policies to reduce manual tuning and make behavior more predictable.

### Does NOT Guarantee
- "Zero hallucinations" universally. It can only reduce measurable failure modes under defined tasks and verification.
- Factual truth without grounding. If the system has no tools/data or reference, claims may be unverifiable.
- Scientific proof of "physics of information" claims. Strong claims require formal methodology and peer review.

## Installation
```bash
pip install entropic-core
```

## Fast Adoption: 1 Install, 1 Command, 1 Report

```bash
pip install "entropic-core[evals]"
entropic-killer-demo --provider mock --model mock-v1 --out entropic_dx_runs --max-cases 20 --no-smokes
```

Open:
- `entropic_dx_runs/.../report.html`

## Commercial Clarity

### What You Get Today (OSS)
- Drop-in runtime reliability loop for agent calls.
- Reproducible A/B evals with verifiable checks.
- One shareable report per run (`report.html`) plus artifacts (`run.json`, JSONL, CSV).

### Commercial Roadmap
- Pro self-serve: hosted run history, scheduled evaluations, private dashboards, alerts.
- Team controls: shared workspaces, role-based access, audit timeline.
- Enterprise later: private deployment, SSO/RBAC hardening, compliance bundles, support SLA.

### Not Available Yet
- 24/7 support and guaranteed incident response.
- Full compliance packages (SOC2/ISO) and formal procurement process.
- Custom enterprise integrations and dedicated success team.

### Optional Extras
```bash
pip install "entropic-core[openrouter]"
pip install "entropic-core[dash]"
pip install "entropic-core[otel]"
pip install "entropic-core[evals]"
```

## Quickstart
```python
import entropic_core

# Recommended (drop-in): start a runtime session with an explicit mode.
# This creates a per-run folder with events + an HTML runtime report.
with entropic_core.protect(mode="balanced", provider="openrouter", run_dir="entropic_runs") as sess:
    # client = sess.wrap(client, provider="openrouter")
    pass

# Alternative: create middleware + wrap a provider client in-place
# (see docs/getting-started-openrouter.md for OpenRouter).
# mw = entropic_core.create_middleware()
# entropic_core.wrap(client, provider="openrouter", middleware=mw)

# Legacy: zero-config import-hook protection (kept for compatibility).
# entropic_core.protect()
```

## Docs and Examples
- Manual: `docs/README.md`
- Examples: `examples/README.md`
- Public benchmark: `evals/README.md` (includes `standard_v2` + `entropic-killer-demo`)

## API Stability
- Stable API surface (SemVer, intentionally small):
- `entropic_core.protect(...)` (import-hook mode or runtime session mode)
- `entropic_core.unprotect()`
- `entropic_core.create_middleware()`
- `entropic_core.wrap(client)`

- Experimental APIs:
- `entropic_core.experimental` (modules)
- `entropic_core.experimental.api` (legacy convenience symbols; may change in MINOR/PATCH)

See `DEPRECATION_POLICY.md` and `CHANGELOG.md`.
