Metadata-Version: 2.4
Name: eindir
Version: 0.5.0
Classifier: Development Status :: 4 - Beta
Classifier: Programming Language :: Python :: 3
Classifier: Operating System :: OS Independent
Requires-Dist: array-api-compat>=1.12
Requires-Dist: numpy>=1.26.4
Requires-Dist: matplotlib>=3.8.3 ; extra == 'plotter'
Requires-Dist: cmcrameri>=1.8 ; extra == 'plotter'
Requires-Dist: array-api-strict>=2 ; extra == 'testing'
Requires-Dist: pytest>=8 ; extra == 'testing'
Requires-Dist: pytest-cov>=4.1 ; extra == 'testing'
Provides-Extra: plotter
Provides-Extra: testing
License-File: LICENSE
Summary: A set of "particles" or components mainly focused on working with functions in ND.
Keywords: library,tools,structures
Author-email: Rohit Goswami <rgoswami@ieee.org>, Ruhila S <ruhila@ieee.org>, Amrita Goswami <amrita@hi.is>, Sonaly Goswami <sonaly@iitk.ac.in>, Debabrata Goswami <dgoswami@iitk.ac.in>
Maintainer-email: Rohit Goswami <rgoswami@ieee.org>, Ruhila S <ruhila@ieee.org>, Amrita Goswami <amrita@hi.is>
License-Expression: MIT
Requires-Python: >=3.10
Description-Content-Type: text/markdown; charset=UTF-8; variant=GFM
Project-URL: Bug Tracker, https://github.com/HaoZeke/eindir/issues
Project-URL: Homepage, https://github.com/HaoZeke/eindir

![Logo](./branding/logo/eindir_logo.png)

# eindir [![DOI](https://zenodo.org/badge/605541458.svg)](https://zenodo.org/doi/10.5281/zenodo.10672737)


A set of "particles" or components mainly focused on working with functions in ND.

## Development

We use `towncrier` for managing newsworthy contributions.
Also the easiest development environment is probably with `pixi` and `hatch`:

``` sh
pixi shell
pdm install
```

Now we have certain commands to help with development:

``` sh
pdm run lint
pdm run mkdoc
```

## License
MIT

## Relation to anneal

eindir supplies the Objective trait, Bounds, low-discrepancy generators (Halton, etc.), GLE thermostat matrices, and surrogate primitives (AdditiveSurrogate, Chebyshev, ReducedObjective).
These primitives let anneal and downstream codes stay inside the typed five-component algebra and share one implementation of each slot.
See the anneal website docs (quickstart, tutorials on GLE and pilot, architecture) for concrete call sites and usage.

