History#
Next milestones#
3D Pareto front (w, t, b)
Standardize cost function
Sanitize cost function
0.2.0 (2026-04-13): Maintenance checkup#
Breaking changes#
The canonical cost-model API has been renamed from
waypoint/mac/climb_matrixtotrack_point/unit_speed/up_matrix. This is a breaking change for downstream users targeting the new canonical names directly, and should ship in a minor-version bump (0.1.x->0.2.0).A transition shim is kept for one release through deprecated aliases for
WAYPOINT/TRACK_POINT,MAC/UNIT_SPEED,CLIMB_COST/UP_COST,CostRandom(..., waypoint/mac/climb_cost)andCostModel.climb_matrix.Dataclass serialization no longer exposes deprecated keys.
asdict(model)andmodel.dictonly contain declared dataclass fields such asup_matrixanddown_matrix; deprecated compatibility properties likeclimb_matrixare not included andasdict(model)[\"climb_matrix\"]now raisesKeyError.
Updates#
Dependencies: dropped
pillowfrom runtime deps (no direct use; still available transitively via matplotlib). Droppedrpds-pyfrom dev deps (unused template leftover). Bumpedipython>=9.0for dev setup. matplotlib / dill / numba / zstandard runtime minimums kept at 3.10.8 / 0.4.0 / 0.63.0 / 0.23.0 (prefer newer versions to avoid incompatibilities).Lockfile: refreshed
uv.lock(uv lock --upgrade) to pull in versions that ship CPython 3.14 wheels on PyPI — notablynumpy 2.4.4,numba 0.65,contourpy 1.3.3,kiwisolver 1.5,pyzmq 27,zstandard 0.25,markupsafe 3.0.3,pyyaml 6.0.3. Also picks up major bumps of dev tooling (pytest 9,sphinx 9,myst-parser 5,pytest-cov 7,ruff 0.15,markdown-it-py 4). This avoids the cold-cache 3.14 CI build rebuilding everything from source (5+ min) after the uv version bump invalidated the previous cache.Tooling: merged
.coveragercintopyproject.tomlunder[tool.coverage.report]; added[tool.ruff]config (line-length 100, selectE,F,W,I); removed--exitfirst --failed-firstfrom the pytest defaultaddoptsso CI shows all failures (seeCONTRIBUTING.mdfor the local fast-feedback recipe).Pre-commit: added
.pre-commit-config.yamlrunningpre-commit-hooksbaseline plusruff/ruff-format. Contributing guide documents how to install hooks.CI: bumped
astral-sh/setup-uvpin from0.9.30to0.11.6across all three workflows. Migrated the docs workflow away from agh-pagesbranch toactions/upload-pages-artifact+actions/deploy-pages; docs now build on pushes tomainand on PRs only (no more builds on every feature branch). Action required after release: flip repo Settings → Pages → Source to “GitHub Actions”.Docs: removed unused
sklearn/scipyintersphinx mappings fromdocs/conf.py.Citation: updated
citation.cffabstract to match the generalized (non-fuel-specific) description inREADME.md.README: paper citation updated (accepted at Algotel 2026, dropped “submitted to”); merged the naming motivation with the scientific references into a single narrative under “Model Applicability”; the former “Example Applications” table and duplicate references block are kept as HTML comments for potential later restoration.
.gitignore: addedcov/to match the coverage HTML output directory.Adopted the generic canonical names
track_point,unit_speedandup_matrixwhile keeping the0.1.1public API available throughDeprecationWarning.Kept
seedas a positional-or-keyword argument inCostRandom.__init__; only deprecated compatibility aliases remain keyword-only.Updated model and JIT docstrings to use the new terminology consistently.
Fixes#
tests/__init__.py: fixed staleopti-cruisedocstring leftover from the rebranding.Trajectories.get_traj/get_front: renamed shadowedtloop variable tostatefor readability. No behavior change.
0.1.1 (2026-02-06): First public release#
Dropped Python 3.10 support (now requires Python 3.11+).
Fixed type hint in
CostModel(down_matrixwasnp.arrayinstead ofnp.ndarray).Removed unused imports in
smart_cruise.py.Updated README with proper quickstart example.
Fixed documentation issues.
0.1.0 (2025-05-15): First release#
First release on PyPI.