Metadata-Version: 2.4
Name: energyir
Version: 1.27.0
Summary: Structure-preserving, certificate-aware, multi-backend energy compiler for optimization, constraint solving, and ML subproblems.
Author-email: David Johnson <david@energyir.io>
License-Expression: LicenseRef-Proprietary
Project-URL: Documentation, https://energyir.io/docs
Project-URL: Homepage, https://energyir.io
Project-URL: Source, https://github.com/dmjdxb/energyir
Keywords: compiler,qubo,ising,optimization,energy,sat,smt,cp-sat,energy-based-model
Classifier: Development Status :: 4 - Beta
Classifier: Intended Audience :: Science/Research
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Programming Language :: Python :: 3.13
Classifier: Topic :: Scientific/Engineering :: Mathematics
Classifier: Topic :: Scientific/Engineering :: Artificial Intelligence
Classifier: Typing :: Typed
Requires-Python: >=3.11
Description-Content-Type: text/markdown
License-File: LICENSE
Requires-Dist: numpy>=1.26
Requires-Dist: scipy>=1.11
Requires-Dist: typer>=0.12
Requires-Dist: rich>=13.7
Requires-Dist: uv>=0.11.17
Provides-Extra: fast
Requires-Dist: energyir-native==0.4.0; extra == "fast"
Provides-Extra: reuse
Requires-Dist: scipy>=1.11; extra == "reuse"
Provides-Extra: array
Requires-Dist: numexpr>=2.8; extra == "array"
Provides-Extra: agent
Requires-Dist: sentence-transformers>=2.2; extra == "agent"
Provides-Extra: qubo
Requires-Dist: dimod>=0.12; extra == "qubo"
Requires-Dist: openjij>=0.11; extra == "qubo"
Provides-Extra: cp
Requires-Dist: ortools>=9.10; extra == "cp"
Provides-Extra: smt
Requires-Dist: z3-solver>=4.13; extra == "smt"
Provides-Extra: numba
Requires-Dist: numba>=0.59; extra == "numba"
Provides-Extra: jax
Requires-Dist: jax>=0.4; extra == "jax"
Requires-Dist: jaxlib>=0.4; extra == "jax"
Provides-Extra: torch
Requires-Dist: torch>=2.3; extra == "torch"
Provides-Extra: quantize-hf
Requires-Dist: huggingface_hub>=0.23; extra == "quantize-hf"
Requires-Dist: safetensors>=0.4; extra == "quantize-hf"
Provides-Extra: thermo
Provides-Extra: thermo-torch
Requires-Dist: torch>=2.6; extra == "thermo-torch"
Provides-Extra: thermo-jax
Requires-Dist: jax>=0.4; extra == "thermo-jax"
Requires-Dist: jaxlib>=0.4; extra == "thermo-jax"
Provides-Extra: thermo-tf
Requires-Dist: tensorflow>=2.16; extra == "thermo-tf"
Provides-Extra: optimize
Requires-Dist: cvxpy>=1.4; extra == "optimize"
Requires-Dist: scipy>=1.11; extra == "optimize"
Provides-Extra: thermo-pbit
Requires-Dist: pbitlang>=2.0; extra == "thermo-pbit"
Provides-Extra: bayes
Requires-Dist: pymc>=5.10; extra == "bayes"
Requires-Dist: arviz>=0.17; extra == "bayes"
Provides-Extra: thermo-hw
Provides-Extra: thermoboard
Provides-Extra: thermo-dwave
Requires-Dist: dwave-ocean-sdk>=6; extra == "thermo-dwave"
Provides-Extra: serving
Requires-Dist: vllm>=0.6; extra == "serving"
Requires-Dist: transformers>=4.40; extra == "serving"
Requires-Dist: torch>=2.3; extra == "serving"
Provides-Extra: tokens
Requires-Dist: together>=1.2; extra == "tokens"
Requires-Dist: tiktoken>=0.5; extra == "tokens"
Provides-Extra: energydb
Requires-Dist: torch>=2.3; extra == "energydb"
Provides-Extra: dbassistant
Requires-Dist: psycopg2-binary>=2.9; extra == "dbassistant"
Requires-Dist: databricks-sql-connector>=3.0; extra == "dbassistant"
Requires-Dist: cryptography>=42; extra == "dbassistant"
Provides-Extra: energydb-pg
Requires-Dist: psycopg[binary]>=3.1; extra == "energydb-pg"
Requires-Dist: cryptography>=42; extra == "energydb-pg"
Provides-Extra: ml
Requires-Dist: scikit-learn>=1.4; extra == "ml"
Provides-Extra: bench
Requires-Dist: pandas>=2.2; extra == "bench"
Requires-Dist: matplotlib>=3.8; extra == "bench"
Requires-Dist: jsonschema>=4; extra == "bench"
Provides-Extra: pro
Requires-Dist: cryptography>=42; extra == "pro"
Provides-Extra: erasure
Requires-Dist: thermoc-erasure>=0.2.0; extra == "erasure"
Provides-Extra: rust
Requires-Dist: maturin>=1.6; extra == "rust"
Provides-Extra: dev
Requires-Dist: pytest>=8; extra == "dev"
Requires-Dist: hypothesis>=6; extra == "dev"
Requires-Dist: ruff>=0.5; extra == "dev"
Requires-Dist: mypy>=1.10; extra == "dev"
Requires-Dist: pytest-cov; extra == "dev"
Requires-Dist: pytest-xdist; extra == "dev"
Requires-Dist: pytest-rerunfailures; extra == "dev"
Provides-Extra: all
Requires-Dist: scipy>=1.11; extra == "all"
Requires-Dist: dimod>=0.12; extra == "all"
Requires-Dist: openjij>=0.11; extra == "all"
Requires-Dist: ortools>=9.10; extra == "all"
Requires-Dist: z3-solver>=4.13; extra == "all"
Requires-Dist: numba>=0.59; extra == "all"
Requires-Dist: jax>=0.4; extra == "all"
Requires-Dist: jaxlib>=0.4; extra == "all"
Requires-Dist: scikit-learn>=1.4; extra == "all"
Requires-Dist: pandas>=2.2; extra == "all"
Requires-Dist: matplotlib>=3.8; extra == "all"
Requires-Dist: jsonschema>=4; extra == "all"
Requires-Dist: cryptography>=42; extra == "all"
Requires-Dist: pytest>=8; extra == "all"
Requires-Dist: hypothesis>=6; extra == "all"
Requires-Dist: ruff>=0.5; extra == "all"
Requires-Dist: mypy>=1.10; extra == "all"
Requires-Dist: pytest-cov; extra == "all"
Requires-Dist: pytest-xdist; extra == "all"
Requires-Dist: pytest-rerunfailures; extra == "all"
Dynamic: license-file

# EnergyIR

EnergyIR is an energy and intelligence company. We build verified, energy aware
computing, and the tools that put it in the hands of mathematicians, scientists,
and engineers. The work runs on deep algorithms, careful mathematics, and a
simple rule: never claim a saving we have not measured.

Modern computing burns enormous amounts of energy, and most of it is waste: the
same answer could have been reached along a cheaper path. EnergyIR finds that
path. We sit underneath the libraries you already use and route the work to its
energy optimal route, with the same result and no loss of speed. Then we measure
the saving and prove it, so the number you see is real.

## Install

```bash
pip install energyir        # Python 3.11+
```

That installs the `energy` CLI and the `energyir` Python package. Everything
imports lazily — installing the package pulls only its core requirements, and
each capability is an opt-in extra (`pip install 'energyir[...]'`).

```bash
energy --help               # every command, grouped by tool
energy flow --help          # whole-program energy compilation
```

## What you get

- **`energy`** — the diagnostic CLI: measured (never projected) efficiency
  checks for numerical and ML Python, dependency and CVE-reachability audits,
  and the reuse runtime.
- **`energyir.flow`** — whole-program compilation: capture existing code
  unchanged, compile it, and get every decision and every refusal explained.

Diagnosis and measurement are free. Advanced optimization features are
licensed — see <https://energyir.io> for tiers.

## Docs

**<https://energyir.io/docs>** — the manual, the CLI reference, and the
worked examples.

- **License:** Proprietary — see `LICENSE` in the distribution.
- **Contact:** david@energyir.io
