Skip to content

V0.5 - #51

Merged
konnerhorton merged 37 commits into
mainfrom
v0.5
Apr 23, 2026
Merged

V0.5#51
konnerhorton merged 37 commits into
mainfrom
v0.5

Conversation

@konnerhorton

Copy link
Copy Markdown
Owner

See CHANGELOG.md for details

Add plugin entry/directive to grammar and syntax highlighting
Add pluing paths as attribute to TrainingLog data model
Add plugin processor to `parse.py`
Add unified plugins loader and dataclasses to `plugins.py`
Updated tests
Add `sql_utils.py` with sql building blocks
Add new files for old stats, history, and volume
Update builtins for new structure
Add plugin template
Remove old reports files
Added run command — run NAME [ARGS] to execute any plugin, bare run lists all plugins
Added render_result() — dispatches on TableResult/TextResult/PlotResult
Added run_plugin() — lookup, parse args, call fn with PluginContext, render
Plugin names also work directly without run prefix (e.g. stats instead of run stats)
Deleted: show_stats, show_history, run_report, run_generator, render_report, show_report_list, show_generator_list
PluginContext created at startup and on reload
load_plugins(log, file) now receives log and base path for @plugin directive resolution
Tab completion includes plugin names, updated on reload
Bumped version to 0.3.0
stats and history were too generic, removed
removed references in docs
updated CLAUDE.md and SPEC.md to reflect change
features for chronic workload and monotony
add advanced use .ox example file
@plugin directive was added previously but not fully implemented
Removed loading from other sources, now just builtins and log directives `@plugin`
Update docs, SPEC.
Add tests
update `cli.py` to pull version from `pyproject.toml`
This reverts commit fc8856c.
This reverts commit 7948695.
generalized plugin interface to just use `run` instead of `generate` and `report`
update cli docs to reflect
planned sessions are not fully implemented and require more thought on data model
deferring until later
Plugins all had their own plotting tools, `plot.py` was added as a utility
Can plot scatter plots with data supplied from the plugin
Currently only used in `e1rm`
generalized plot utility now used in `weighin` ans `srpe`
Added tests
Added bar and multi_series scatters
Removed `PluginResults` as parent class of `...Results` in `plugins.py`
Removed `ITEM_FIELDS` list from previous versions
Removed `_weekly_loads` since helper replaced in other functions
Add `_weekly_daily_buckets` as helper in chronic load calcs (`srpe`)
Progressive sequences like `160/185/210lb` now parse — unitless
segments inherit the nearest succeeding unit. Updates the tree-sitter
grammar, the `process_weights` resolver, the VSCode tmLanguage
highlighting, and drops the xfail in test_parse.py.
Removed duplicate coverage and added parametrization
Unskipped flag parse test
Added tests to ox to text, weighins, `@` blocks
Changed names in `.ox` files to movement definitions (from exercise definitions) for naming consistency
Update tree-sitter grammar and test for movement definitions
Change `exercise` to `movement` in definitions
Add movement data class
Add table in `db.py` for movements
Add movements to what is captured in the `cli.py`
Parse movements into data structure
Use movement data class in LSP to collect names
Add testing for updates
`run` was previously used for plugins but they could also be access by name in the cli
`run` did provide a list of available plugins, this functionality is replaced by `plugins`
To access plugins, now just their name is used.
@konnerhorton
konnerhorton merged commit b471692 into main Apr 23, 2026
1 check passed
@konnerhorton
konnerhorton deleted the v0.5 branch April 23, 2026 10:45
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