Metadata-Version: 2.1
Name: esch
Version: 0.5.6
Summary: esch (v.) : to turn matricies into high quality svg (animations)
Author: Noah Syrkis
Author-email: noah@syrkis.com
Requires-Python: >=3.11,<3.12
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.11
Requires-Dist: cairocffi (>=1.7.1,<2.0.0)
Requires-Dist: cairosvg (>=2.7.1,<3.0.0)
Requires-Dist: chex (>=0.1.87,<0.2.0)
Requires-Dist: darkdetect (>=0.8.0,<0.9.0)
Requires-Dist: einops (>=0.8.0,<0.9.0)
Requires-Dist: ipython (>=8.29.0,<9.0.0)
Requires-Dist: jax (==0.4.35)
Requires-Dist: jaxtyping (>=0.2.36,<0.3.0)
Requires-Dist: matplotlib (>=3.9.2,<4.0.0)
Requires-Dist: svgwrite (>=1.4.3,<2.0.0)
Requires-Dist: tqdm (>=4.66.5,<5.0.0)
Description-Content-Type: text/markdown

# esch

Create beautiful presentations and visualizations inspired by Escher.

## Components

1. Typst presentation template
2. CLI tool for generating presentations from Typst files
3. Python package for Escher-inspired numpy array visualizations

## Installation

```bash
npm install -g esch
pip install esch
```

## Usage

### Generate presentation

```bash
esch presentation input.typ
```

### Create visualization

```python
import esch
from jax import random


rng = random.PRNGKey(0)
data = random.normal(rng, (100, 37, 37))
esch.hinton(data).saveas('hinton.svg')  # save a svg animation with 100 frames (each frame is a 37x37 hinton-like plot)
```

## Development

1. Clone the repo
2. Install dependencies: `npm install` and `poetry install`

## License

MIT

For detailed documentation, visit [our docs](https://github.com/syrkis/esch/wiki).

