Metadata-Version: 2.4
Name: mnpbem-base
Version: 0.1.8
Summary: Factory and registry primitives for selecting BEM solvers and excitation operators.
Author-email: GALIH RIDHO UTOMO <g4lihru@students.unnes.ac.id>
License-Expression: GPL-2.0-only
Project-URL: Homepage, https://pypi.org/project/mnpbem-base/
Project-URL: Repository, https://github.com/galihru/mnpbem/tree/main/mnpbem-base
Project-URL: Source, https://github.com/galihru/mnpbem
Classifier: Development Status :: 3 - Alpha
Classifier: Intended Audience :: Science/Research
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3 :: Only
Classifier: Topic :: Scientific/Engineering :: Physics
Requires-Python: >=3.10
Description-Content-Type: text/markdown
Requires-Dist: numpy>=1.24

# mnpbem-base

`mnpbem-base` provides registry and factory primitives for selecting solver classes from option constraints.
The release notes are generated directly from this scientific README for traceable package documentation.

## Implemented Formulation
Given a requirement set for a candidate class, the selection score is:

![Equation](https://latex.codecogs.com/svg.image?%5Cdpi%7B150%7D%20%5Chat%7Bc%7D%3D%5Carg%5Cmax_c%5Csum_j%5Cmathbf%7B1%7D%5B%5Ctext%7Bneed%7D_%7Bc%2Cj%7D%5C%20%5Ctext%7Bis%20satisfied%7D%5D)

This mirrors rule-based class dispatch used in MNPBEM-style solver construction.

## Implementation
- Registry logic: `src/mnpbem_base/registry.py`
- Factory entry points: `src/mnpbem_base/factory.py`

## Dependencies
- `numpy>=1.24`

## Installation
```bash
pip install mnpbem-base
```

## Example
Runnable example:
- `examples/basic_usage.py`

Run:
```bash
python examples/basic_usage.py
```

## Author
- GALIH RIDHO UTOMO
- g4lihru@students.unnes.ac.id
