Metadata-Version: 2.4
Name: edmkit-search
Version: 0.0.1a2
Summary: Trajectory construction on an energy landscape for edmkit
Keywords: edm,empirical-dynamic-modeling,feature-selection,search,time-series
Author: FUJISHIGE TEMMA
Author-email: FUJISHIGE TEMMA <tenma.x0@gmail.com>
License-Expression: MIT
License-File: LICENSE
Classifier: Development Status :: 3 - Alpha
Classifier: Intended Audience :: Science/Research
Classifier: Operating System :: OS Independent
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.13
Classifier: Topic :: Scientific/Engineering
Classifier: Typing :: Typed
Requires-Dist: edmkit>=0.0.8
Requires-Dist: numpy>=2.4.4
Requires-Python: >=3.13
Project-URL: Homepage, https://github.com/FujishigeTemma/edmkit-search
Project-URL: Repository, https://github.com/FujishigeTemma/edmkit-search
Project-URL: Issues, https://github.com/FujishigeTemma/edmkit-search/issues
Description-Content-Type: text/markdown

# edmkit-search

Trajectory construction on an energy landscape, packaged as a library on top
of [`edmkit`](https://github.com/FujishigeTemma/edmkit).

## Install

```bash
pip install edmkit-search
# or
uv add edmkit-search
```

## Overview

The search loop builds a trajectory step by step:

1. From the current frontier (batch of `(state, context)`),
2. expand neighbors via a `Neighborhood`,
3. score children with an `Energy` to obtain `(energies, contexts)`,
4. and pick the next frontier with a `Strategy`.

See `CODING.md` for the design rules. The subpackages mirror the four
abstractions: `energy/`, `neighborhood/`, `state/`, `strategy/`, plus
`dataset/` for the input containers.

## Quick start

```bash
uv sync
PYTHON_GIL=0 uv run python e2e/synthetic.py
```

`e2e/synthetic.py` generates a Lorenz-96 trajectory mixed with noise columns
and uses greedy forward selection to recover the informative subset.

## Tests

```bash
uv run pytest
```

## Experiments

Real-data experiments (fly, fish) and the analysis pipeline live in a
separate repository: [`edmkit-search-experiments`](../edmkit-search-experiments).
