Skip to content

V2#6

Merged
himjl merged 163 commits intomasterfrom
v2
Mar 27, 2026
Merged

V2#6
himjl merged 163 commits intomasterfrom
v2

Conversation

@himjl
Copy link
Copy Markdown
Owner

@himjl himjl commented Jan 28, 2025

Summary

This branch is major v2 overhaul of hobj. It modernizes packaging and distribution (now using PyPi and uv), replaces the old ad hoc data/image loading flow with packaged OSF-backed datasets and a local cache, and reshapes the public API around a smaller set of supported entry points for loading data, building learners, and running the two published benchmarks.

What Changed

  • Moved the project from setup.py/requirements.txt to pyproject.toml + uv.lock, bumped the package to hobj==2.0.0, and standardized on Python 3.12.
  • Added local developer tooling and release plumbing, including a Makefile, GitHub Actions CI, and a PyPI-oriented install/publish workflow.
  • Introduced packaged dataset download and resolution via hobj.data.download, including safe archive extraction, versioned caching under the user home directory, and a new hobj-download-data CLI.
  • Replaced the previous URL-oriented image loading path with manifest-driven local image access, including list_image_ids, get_image_path, load_image, and structured loaders for the high-variance, one-shot, warmup, and catch image sets.
  • Replaced older behavior-loading code with CSV-backed loaders for the packaged high-variance and one-shot human datasets, with validation and support for custom cachedir roots.
  • Populated the top-level hobj API so users can import the main benchmarks, data loaders, image loaders, create_linear_learner, and RandomGuesser directly from the package root.
  • Refactored benchmark internals into clearer binary-classification and generalization modules, with session simulation, bootstrap summaries, variance-corrected MSEn scoring, and xarray-based statistics outputs.
  • Simplified the learning-model surface around a binary learner abstraction plus a calibrated linear learner factory that works from precomputed image features.
  • Removed or relocated older legacy code paths that are no longer part of the supported package surface, including the previous behavioral-data, image, statistics, config, and state-space scaffolding.
  • Rewrote the README and examples, added notebooks, and documented post-publication renames/statistical changes in site/changelist.md.

Reviewer Notes

  • This is a large branch: 163 commits and a broad package/layout refactor.
  • Data access now assumes packaged OSF artifacts and local manifests instead of the earlier direct-download code paths.

Testing

  • Added CI on Python 3.12.
  • Added tests for cache/download resolution, packaged behavior/image loaders, simulation primitives, statistics builders, dataset-shaped benchmark outputs, and deterministic dummy-learner behavior.

@himjl himjl merged commit 0c3ba55 into master Mar 27, 2026
1 check passed
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