Swarm Seek
Literature-validated Artificial Bee Colony (ABC) optimization for Python.
Swarm Seek implements Original ABC and principal peer-reviewed variants (GABC, qABC, MABC, CABC) with a NumPy core, optional Numba/JAX backends, an ask/tell API, scikit-learn / Optuna adapters, and automated checks against published benchmark figures.
Status: 0.2.0 (beta). Docs: https://swarm-seek.readthedocs.io/
Install
Requires Python 3.10+.
pip install swarm-seek
Optional extras:
pip install 'swarm-seek[numba]' # Numba backend
pip install 'swarm-seek[jax]' # JAX backend
pip install 'swarm-seek[sklearn]' # ABCSearchCV
pip install 'swarm-seek[optuna]' # ABCSampler
Editable install for development:
pip install -e ".[dev]"
Quick start
from swarm_seek import ABC, ContinuousSpace
from swarm_seek.benchmarks import sphere
space = ContinuousSpace([(-5.0, 5.0)] * 5)
colony = ABC(space, variant="original", pop_size=20, limit=100, max_evals=5_000, seed=0)
best = colony.minimize(sphere)
print(best.fitness)
Ask/tell loop:
import numpy as np
from swarm_seek import ABC, ContinuousSpace
from swarm_seek.benchmarks import sphere
space = ContinuousSpace([(-5.0, 5.0)] * 5)
colony = ABC(space, variant="gabc", pop_size=20, limit=100, max_evals=5_000, seed=0)
while not colony.converged:
candidates = colony.ask()
if candidates.size == 0:
colony.tell([])
continue
colony.tell(np.asarray(sphere(candidates), dtype=np.float64))
print(colony.best.fitness)
Combinatorial ABC (permutation / TSP-style):
from swarm_seek import ABC, PermutationSpace
from swarm_seek.benchmarks import random_cities, tour_length
cities = random_cities(12, seed=0)
space = PermutationSpace(12)
best = ABC(space, variant="cabc", pop_size=16, max_evals=2_000, seed=0).minimize(
lambda x: tour_length(x, cities)
)
print(best.fitness)
Runnable notebooks with stated pass criteria live in examples/.
Backend timing: python scripts/compare_backends.py.
Full documentation builds from docs/source/.
License
Apache License 2.0. See LICENSE.
Citation
See CITATION.cff for citation metadata. Archive / DOI:
10.5281/zenodo.21630532
(concept; version v0.1.1 is
10.5281/zenodo.21630533).
Metadata
Release files for swarm-seek 0.2.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| swarm_seek-0.2.0.tar.gz | 39.0 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| swarm_seek-0.2.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 92.7 kB
Release files / swarm_seek-0.2.0.tar.gz
| Download URL | swarm_seek-0.2.0.tar.gz |
|---|---|
| Size | 39.0 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
28b89f367e098f7800a2f6386a261f7b930809be52b3bab3d7fa4ae3466de423
|
|
BLAKE2b-256 checksum How to use checksums |
e219465f0378e2261d1ed0be87351965c96f477f7e60463e7d3318eb91b919dc
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Jul 27, 2026.
Transparency logRelease files / swarm_seek-0.2.0-py3-none-any.whl
| Download URL | swarm_seek-0.2.0-py3-none-any.whl |
|---|---|
| Size | 53.6 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
ee97963f81fa81e5c70bacb40a31a63fe6b82226bfe97d2518941b3987092f20
|
|
BLAKE2b-256 checksum How to use checksums |
deed4f82481bd4f5c5cd97fd8e7bf87be1944767b07bfae82417e8570cccb43a
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Jul 27, 2026.
Transparency log