Skip to main content

intelloptim

CI PyPI Python License

Distributed black-box optimization built on Optuna's ask/tell API. Evaluators on any infrastructure (HPC, cloud, on-prem) collaborate on a single study through a coordinating server, and the sampler layer treats classical and quantum samplers uniformly.

This package is the client SDK and the sampler layer. It talks to an intelloptim server over HTTP; the server itself is not part of this package.

Installation

pip install intelloptim

Samplers with heavier requirements are optional extras:

Extra Adds For
gp torch, scipy the Gaussian-process sampler
qmc scipy the quasi-Monte Carlo sampler
quantum qiskit the simulated quantum samplers
quantum-ibm qiskit-ibm-runtime quantum samplers on IBM hardware
samplers gp, qmc, quantum everything a server needs to resolve any sampler

Python 3.11 or newer is required.

Quick start

import intelloptim as intopt

client = intopt.client.Client(url="https://intelloptim.local", token=...)

study = client.create_study(
    study_name="pump-cal-2026-Q2",
    direction="minimize",
    sampler_spec=intopt.samplers.TPESamplerSpec(seed=42),
    parameters=[
        intopt.params.Float("k_friction", 1e-3, 1.0, log=True),
        intopt.params.Float("bypass_ratio", 0.0, 0.3),
    ],
)

def objective(trial: intopt.client.Trial) -> float:
    k = trial.sampled_float("k_friction")
    b = trial.sampled_float("bypass_ratio")
    return rms_error_against_telemetry(k, b)

study.optimize(objective, n_trials=200)
print(study.best_trial)

The search space is declared once, in create_study. The objective only reads the values the server sampled, by parameter name (sampled_float, sampled_int, sampled_categorical).

Training in steps? Report each intermediate value and let the study's pruner decide whether to go on (declare one with pruner_spec= in create_study):

def objective(trial: intopt.client.Trial) -> float:
    for epoch in range(20):
        loss = train_one_epoch(trial.sampled_float("lr"))
        trial.report(loss, epoch)
        if trial.should_prune():
            raise intopt.client.errors.TrialPruned
    return loss

should_prune() sends the values reported since the last call in a single request and does not count against your call quota.

Coming from Optuna? Here the search space is defined once, when the study is created, and not dynamically inside the objective as Optuna's suggest_* methods allow. Declare the parameters in create_study and read them back with the sampled_* accessors.

Lineage

intelloptim is an evolution of Hopaas — Hyperparameter Optimization as a Service (Barbetti & Anderlini, 2023, arXiv:2301.05522). It generalises the philosophy beyond hyperparameter tuning to any small-to-moderate-dimensional black-box optimization problem (system calibration, model tuning, etc.) and adds:

  • Federation by content-addressed study identity — independent client processes on different infrastructures collaborate on the same study by sharing only an API token.
  • A separate optimizer compute plane for samplers whose ask step is expensive (heavy Bayesian-optimization surrogates, hybrid quantum-classical loops).
  • Pause / rebuild semantics for samplers that periodically refit on accumulated trials.
  • Quantum-classical sampler interchangeability at the API surface.

Status

Early development (alpha): the API may still change between minor versions. See CHANGELOG.md for what changed in each release and CONTRIBUTING.md to get involved.

License

Apache-2.0, see LICENSE.

Citation

If you use intelloptim in academic work, please cite the Hopaas paper above.

Metadata

Release files for intelloptim 0.1.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for intelloptim 0.1.0
File Size Uploaded Provenance Actions
intelloptim-0.1.0.tar.gz 175.7 kB With provenance Details for intelloptim-0.1.0.tar.gz

Built distribution (wheel)

Table of built distributions (wheels) for intelloptim 0.1.0
File Interpreter ABI Platform Actions
intelloptim-0.1.0-py3-none-any.whl Python 3 none any Details for intelloptim-0.1.0-py3-none-any.whl

Total release size: 306.6 kB

Release files / intelloptim-0.1.0.tar.gz

Download URL intelloptim-0.1.0.tar.gz
Size 175.7 kB
Tags Source
SHA-256 checksum
How to use checksums
ab29b796f2cae3875717ecba063cfe260c051ab11a7d546440b3399f4211d424
BLAKE2b-256 checksum
How to use checksums
c9ffc9c528e71b51dfbdad1c0a44a4b1914df97c62094e45e9a63635d629ec50
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

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 Oct 30, 2026.

Transparency log

Release files / intelloptim-0.1.0-py3-none-any.whl

Download URL intelloptim-0.1.0-py3-none-any.whl
Size 130.9 kB
Tags Python 3
SHA-256 checksum
How to use checksums
3f975cff3f70eb93a36cdb3905ea7bce52dafa69ce8b04f8bf3c47eb64811ce7
BLAKE2b-256 checksum
How to use checksums
96596c529d42806da6895195355b3c0771544e8ae118e191a6863a84500c58dc
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

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 Oct 30, 2026.

Transparency log

Security for intelloptim 0.1.0

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.

Full provenance

All 2 files in this release have been uploaded with provenance metadata.

Select from 2 files

Attestation for intelloptim-0.1.0.tar.gz

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 Oct 30, 2026.

Transparency log

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Release history Release notifications | RSS feed

This release

0.1.0 This release

2 release files Full provenance

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page