FREEDOM251

Freedom251 › Statistical Analysis Software

Black-it

Free plan Linux

Visit Black-it Alternatives

Black-it's own site

What Black-it is

Black-it is a free, open-source Python package for calibrating agent-based models and simulations. It samples parameter sets, runs the model for each set, and compares results with real data through a loss function until convergence or an iteration limit. Documented losses include MinkowskiLoss, MethodOfMomentsLoss, GslDivLoss, and FourierLoss. Search methods cover random uniform, Halton, R sequence, best batch, Gaussian process, XGBoost, random forest, and particle swarm sampling. Interfaces let users provide custom models, loss functions, and samplers. A Python wrapper connects external simulators through a language-agnostic interface, including low-level-language models and Mesa. Simulations run in parallel across CPU cores by default, with process counts set through n_jobs. Configured saving folders store checkpoints after each batch and can restore interrupted calibration. Black-it requires Python 3.9 or later and lists Poetry as a requirement. Installation is available through PyPI or GitHub. The project is released under AGPLv3+.

Who it suits

It suits developers and science or research users working with agent-based models, including economics, epidemiology, biology, and logistics. Users needing custom simulators or search methods can extend its interfaces.

What it does well

  • Free and open source
  • Many documented sampling algorithms
  • Supports custom models and loss functions
  • Parallel CPU execution by default
  • Restorable batch checkpoints

What to know first

  • Requires Python 3.9 or later
  • Poetry is also listed as a requirement
  • AGPLv3+ licensing applies
  • Linux is the listed platform

Verdict

Black-it provides calibration and optimization tools for agent-based simulations, with extensible interfaces and parallel execution. Its Python and licensing requirements should be checked before adoption.

Facts from Black-it's own pages

Built-in losses
Documented loss functions include MinkowskiLoss, MethodOfMomentsLoss, GslDivLoss, and FourierLoss. · bancaditalia.github.io, 12 Oct 2026
Calibration process
Calibration iteratively samples parameters, simulates data for each sample, and evaluates a loss against real data until the loss is close to zero or the iteration limit is reached. · bancaditalia.github.io, 12 Oct 2026
Checkpointing
When a saving folder is configured, calibration checkpoints are saved after each batch and can be restored to resume an interrupted run. · bancaditalia.github.io, 4 Oct 2026
Checkpoints
Calibration checkpoints can be saved automatically per batch and restored to resume an interrupted calibration. · bancaditalia.github.io, 12 Oct 2026
Customization
Users can implement custom models, loss functions, and samplers by extending the package’s interfaces. · bancaditalia.github.io, 4 Oct 2026
Custom models
Users can provide a custom model function or wrap an external simulator for use with the calibrator. · bancaditalia.github.io, 12 Oct 2026
Distribution
The package can be installed from PyPI with pip install black-it or directly from its GitHub repository. · github.com, 4 Oct 2026
External simulators
A Python wrapper can connect an external simulator, including models written in low-level languages or using Mesa, through a language-agnostic interface. · bancaditalia.github.io, 4 Oct 2026
General use
The package can also optimize built-in or custom models when several search techniques need to be combined. · bancaditalia.github.io, 4 Oct 2026
Installation
The documentation says the package requires Python 3.9 or later and can be installed with pip install black-it. · bancaditalia.github.io, 12 Oct 2026
Intended audience
PyPI classifies the package for developers and science or research users. · pypi.org, 12 Oct 2026
Intended use
The package was created with agent-based models in mind and can also be used as a general optimizer for built-in or custom models. · bancaditalia.github.io, 12 Oct 2026
Intended users
The project describes use across economics, epidemiology, biology, logistics, and other agent-based modeling or simulation research. · github.com, 4 Oct 2026
License
Black-it is released under the GNU Affero General Public License v3 or later (AGPLv3+). · bancaditalia.github.io, 12 Oct 2026
Maker
The project documentation credits Banca d'Italia and identifies original author Gennaro Catapano and co-authors or maintainers. · bancaditalia.github.io, 12 Oct 2026
Parallel execution
Model simulation is parallelized by default across the computer’s CPU cores, and the process count can be set with n_jobs. · bancaditalia.github.io, 4 Oct 2026
Parallelization
Model simulations are parallelized by default across the computer's cores, and the number of processes can be set with n_jobs. · bancaditalia.github.io, 12 Oct 2026
Purpose
Black-it is a black-box calibrator that estimates model parameters using a loss function and selected search algorithms. · bancaditalia.github.io, 12 Oct 2026
Requirements
The project requires Python 3.9 or later; the documentation also lists Poetry as a requirement. · bancaditalia.github.io, 4 Oct 2026
Search algorithms
Documented samplers include random uniform, Halton, R sequence, best batch, Gaussian process, XGBoost, random forest, and particle swarm samplers. · bancaditalia.github.io, 12 Oct 2026
Search methods
Documented samplers include uniform and low-discrepancy methods, plus methods based on prior results such as Gaussian process, XGBoost, random forest, and particle swarm samplers. · bancaditalia.github.io, 4 Oct 2026
Simulator compatibility
The simulator wrapper interface is language agnostic and the documentation describes using Python ABM frameworks such as Mesa or custom low-level models. · bancaditalia.github.io, 12 Oct 2026
Support
The project documentation directs users to GitHub Issues for support, bug reports, and feature requests, and lists author email as another feedback route. · bancaditalia.github.io, 12 Oct 2026

Where Black-it stands on Freedom251

Look at these too