Skip to content

PSPSO 1.0

Major update in progress

Version 1.0 remains under active development. These notes describe the planned next PyPI release and may change until final publication.

PSPSO 1.0 establishes one modern contract across Python, notebooks, CLI, FastAPI, workers, and the React dashboard.

Added

  • An opening overview page and three numbered sections inside Data Setup.
  • A six-dataset offline example catalogue with source and license attribution, standard tasks, targets, and default metrics.
  • Evaluation selection in Data Setup: cross-validation, ordinary holdout, chronological holdout and expanding-window CV, with optional time gaps.
  • Training-only outlier clipping, nominal/ordinal feature roles and explicit category ordering, shared by dashboard, CLI, workers and saved predictions.

  • Notebook-first optimize() and optional TrackingConfig.

  • Rich OptimizationResult summaries, trial tables, predictions, and evaluation.
  • Typed search-space serialization and grid sizing.
  • Public estimator discovery and capability metadata.
  • Versioned /api/v1 REST, OpenAPI, and SSE interfaces.
  • Isolated .pspso/v1/ experiment workspace.
  • Canonical task and model identifiers.
  • A packaged six-stage dashboard and CLI using one durable local service.
  • Atomic leases, persisted queue recovery, supervised cancellation and linked retries.
  • Immediate cancellation feedback and batched worker-log persistence during cleanup.
  • CV with independent fold preprocessing, saved row indices and explicit final refit.
  • Saved winning-fold ensembles when cross-validation final refitting is disabled.
  • Positive-class and probability-threshold controls, plus bounded candidate concurrency.
  • Frozen multi-model tournaments, full prediction/artifact downloads and visible warnings.
  • Typed OpenAPI contracts and generated TypeScript, resumable SSE and incremental history.
  • Candidate-based convergence charts with explicit PSO and cross-validation fit counts.
  • Numbered workspace migrations, source/dependency/device/seed provenance and py.typed.
  • Lifecycle, CLI, all-model, frontend and browser verification with CI release gates.
  • Versioned pspso and pspso-dashboard commands with a complete CLI reference.
  • Package-name installation through uv or pip, public MkDocs deployment and protected PyPI Trusted Publishing from GitHub Releases.

Removed

  • The old pspso class and tuple-returning fit methods.
  • List-based search spaces and silent conversions.
  • Compatibility metric/model aliases and the pspso-run executable.
  • Unversioned REST routes and pre-1.0 history loading.

Review the migration guide before upgrading existing scripts or scenario files.