Skip to content

Introduce abench and publish version 0.1.0 to PyPI - #1

Merged
jpn-- merged 8 commits into
mainfrom
feature/generalized-benchmarks
Sep 18, 2026
Merged

jpn-- merged 8 commits into
mainfrom
feature/generalized-benchmarks

Conversation

@jpn--

@jpn-- jpn-- commented Sep 18, 2026

Copy link
Copy Markdown
Member

Introduce abench, a reusable CLI for reproducible ActivitySim runtime and memory benchmarks in Linux Docker containers. It supports model profiles, exact source dependency commits, reusable YAML experiment suites, component timing and memory reports, and automatic Sharrow flow-cache reuse with retries that exclude compilation from accepted results.

Prepare the first PyPI release, 0.1.0, so users can run uvx abench experiments.yaml. Add package metadata, a single version source, --version, release instructions, and GitHub Trusted Publishing. Publishing a version-tagged GitHub release runs unit and Docker tests, checks both distributions, and verifies an isolated uvx installation before upload.

Validation: 68 local unit tests; four Docker integration tests covering serial/multiprocess execution, cache-miss retries, and reuse; pre-commit checks; wheel and sdist validation with Twine; isolated uvx smoke tests. GitHub CI runs Python 3.10–3.12 and the Docker integration suite.

Support variable expansion, per-run overrides, suite preflight, sequential execution, and comparison reports. Include a SANDAG example, tests, documentation, and expanded CI artifacts.
Add configurable warmup household limits while preserving measured settings and strict cache coverage checks. Record phase settings and missing flow signatures, and surface actionable failures in CLI output and reports.
Add a persistent flow cache keyed by compiler and platform identity, with isolated copies, serialized warmups, and atomic updates. Expose CLI and YAML controls and add documentation and reuse tests.
Add configurable cache retries, preserve attempt diagnostics, and publish newly compiled flows. Accept only compilation-free measurements and stop immediately on model or validation failures.
@jpn--
jpn-- merged commit 3af49a4 into main Sep 18, 2026
8 checks passed
@jpn--
jpn-- deleted the feature/generalized-benchmarks branch September 18, 2026 22:22
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant