Metadata-Version: 2.4
Name: minto
Version: 2.0.0rc1
Summary: Experiment management and benchmark tools for mathematical optimization
Author-email: "Jij Inc." <info@j-ij.com>
License: MIT
Project-URL: Homepage, https://www.j-ij.com/
Project-URL: Documentation, https://jij-inc.github.io/minto
Project-URL: Repository, https://github.com/Jij-Inc/MINTO-Public
Classifier: Operating System :: POSIX :: Linux
Classifier: Programming Language :: Python
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Programming Language :: Python :: 3.13
Classifier: Programming Language :: Python :: 3 :: Only
Classifier: Operating System :: POSIX
Classifier: Operating System :: Unix
Classifier: Operating System :: MacOS
Requires-Python: <3.14,>=3.11
Description-Content-Type: text/markdown
License-File: LICENSE
Requires-Dist: numpy<3.0.0,>=2.0.0
Requires-Dist: pandas<3.0.0,>=2.1.2
Requires-Dist: pydantic<3.0.0,>=2.0.0
Requires-Dist: jijmodeling<3.0.0,>=2.3.2
Requires-Dist: ommx<3.0.0,>=2.0.0
Dynamic: license-file

# MINTO: Jij Management and Insight tool for Optimization

[![PyPI version shields.io](https://img.shields.io/pypi/v/minto.svg)](https://pypi.python.org/pypi/minto/)
[![PyPI pyversions](https://img.shields.io/pypi/pyversions/minto.svg)](https://pypi.python.org/pypi/minto/)
[![PyPI implementation](https://img.shields.io/pypi/implementation/minto.svg)](https://pypi.python.org/pypi/minto/)
[![PyPI format](https://img.shields.io/pypi/format/minto.svg)](https://pypi.python.org/pypi/minto/)
[![PyPI license](https://img.shields.io/pypi/l/minto.svg)](https://pypi.python.org/pypi/minto/)
[![PyPI download month](https://img.shields.io/pypi/dm/minto.svg)](https://pypi.python.org/pypi/minto/)
[![Downloads](https://pepy.tech/badge/minto)](https://pepy.tech/project/minto)

[![codecov](https://codecov.io/gh/Jij-Inc/minto/graph/badge.svg?token=ZhfvFdt1sJ)](https://codecov.io/gh/Jij-Inc/minto)

`minto` is a Python library designed for developers working on research and development or proof-of-concept experiments using mathematical optimization. Positioned similarly to mlflow in the machine learning field, `minto` provides features such as saving optimization results, automatically computing benchmark metrics, and offering visualization tools for the results.

Primarily supporting Ising optimization problems, plans to extend its support to a wide range of optimization problems, such as MIP solvers, in the future.

## Installation

`minto` can be easily installed using pip.

```shell
pip install minto
```

## Documentation and Support

Documentation is hosted on Read the Docs: https://jij-inc-minto.readthedocs-hosted.com/latest/
The published site exposes both English and Japanese under `/en/` and `/ja/`.

Tutorials will be provided in the future. Stay tuned!

### Building Documentation Locally

The documentation is built with Jupyter Book 2 and MyST. The canonical build entrypoint is `docs/build.py`, which also regenerates API pages and converts Jupytext-backed sources before building each language.

#### Quick Start

The easiest way to build and view the documentation locally:

```shell
# Build and open the English and Japanese documentation
task book

# Build and open the Japanese documentation
task book_ja

# Build and open the English documentation
task book_en

# Stop local preview servers when you are done
task stop_book
task stop_book_ja
task stop_book_en

```

### Editing Documentation

The documentation source is organized into separate English and Japanese trees:

```
docs/
├── en/                       # English documentation
│   ├── myst.yml
│   └── ...
├── ja/                       # Japanese documentation
│   ├── myst.yml
│   └── ...
├── index.html                # Read the Docs root entrypoint
├── build.py                  # Local/RTD build entrypoint
├── generate_api.py           # API doc generator
└── templates/                # API doc templates
```

#### Adding New Pages

1. Create your content file (`.md`, `.ipynb`, or Jupytext-backed `.py`) in the appropriate language directory
2. Add the file to `project.toc` in the corresponding language's `myst.yml`
3. Rebuild the documentation using the commands above

#### Read the Docs Configuration

The repository root `.readthedocs.yaml` builds both languages in one Read the Docs project and publishes them under `/en/` and `/ja/`.

#### Common Issues

- **Build errors**: Make sure you have all dependencies installed with `uv sync --dev`
- **Generated pages not updating**: Re-run `task build_book_ja`, `task build_book_en`, `task book`, or `uv run python docs/build.py --lang ...`
- **Preview server still running**: Stop the local HTTP preview with `task stop_book`, `task stop_book_ja`, or `task stop_book_en` before reusing the same port
- **API documentation**: Generated automatically from source code by `docs/generate_api.py` using Griffe and Jinja2


## How to Contribute

See [CONTRIBUTING.md](CONTRIBUTING.md)

---

Copyright (c) 2023 Jij Inc.
