Releases: VowpalWabbit/py-vowpal-wabbit-next
v0.7.0
What's Changed
- feat: load model from file by @bassmang in #98
- chore: add support for 3.12 by @jackgerrits in #100
- chore: prepare 0.7.0 release by @jackgerrits in #101
Full Changelog: v0.6.0...v0.7.0
v0.6.0
What's Changed
- docs: expose docs for feature group ref by @jackgerrits in #90
- docs: update wording on API stability by @jackgerrits in #92
- docs: Update workspace args in inspect model weights docs by @jackgerrits in #93
- feat: add large action spaces by @bassmang in #94
- feat: Turn graph feedback on by @olgavrou in #96
- test: Add test for IGL by @cheng-tan in #97
- chore: update submodule and prepare 0.6.0 release by @jackgerrits in #99
New Contributors
- @bassmang made their first contribution in #94
- @olgavrou made their first contribution in #96
- @cheng-tan made their first contribution in #97
Full Changelog: v0.5.0...v0.6.0
v0.5.0
What's Changed
- feat: add serialize_to_file function by @jackgerrits in #87
- feat: support iterating features in an example and low level feature insertion API by @jackgerrits in #88
- chore: prepare 0.5.0 release by @jackgerrits in #89
Full Changelog: v0.4.1...v0.5.0
v0.4.1
The purpose of this release was to address a performance issue when serializing models. I observed an improvement from 60s to 2s for a 190MB model.
What's Changed
- docs: fix snippet in readme by @jackgerrits in #83
- perf: reserve vector up front with size estimate when serializing model by @jackgerrits in #85
- chore: update submodule and prepare 0.4.1 release by @jackgerrits in #86
Full Changelog: v0.4.0...v0.4.1
0.4.0
What's Changed
- docs: update vw_versions.md by @jackgerrits in #75
- docs: fix heading level in debug tree docs by @jackgerrits in #76
- feat: install sigint handler for run_cli_driver by @jackgerrits in #78
- chore: update vowpal_wabbit submodule to a9b305f by @jackgerrits in #79
- fix!: fix update_stats call for reductions who do not return pred from learn by @jackgerrits in #81
- chore: update submodule and prepare 0.4.0 release by @jackgerrits in #82
Full Changelog: v0.3.0...v0.4.0
0.3.0
What's Changed
- fix: recursive search for
update_stats
should not callfinish_example
by @jackgerrits in #69 - chore: update vowpal_wabbit submodule to 2238d70 by @jackgerrits in #71
- feat: implement debug tree for computation inspection by @jackgerrits in #70
- feat: expose CCB label by @jackgerrits in #72
- feat: expose end_pass by @jackgerrits in #73
- chore: bump version to 0.3.0 by @jackgerrits in #74
Full Changelog: v0.2.0...v0.3.0
0.2.0
What's Changed
VowpalWabbit Version
The internal VowpalWabbit commit used has been updated to commit 18d33aa which is includes these changes.
Features
-
Some labels can now be created, extracted, and updated, in the
Example
object. The label types available are:SimpleLabel
,CBLabel
,CSLabel
, andMulticlassLabel
. (#48, #55)import vowpal_wabbit_next as vw workspace = vw.Workspace() parser = vw.TextFormatParser(workspace) example = parser.parse_line("1 | a b c") print(type(example.get_label())) print(example.get_label().label)
Output:
<class 'vowpal_wabbit_next._core.SimpleLabel'> 1.0
-
Metrics are now accessible via
Workspace.metrics
(#53)import vowpal_wabbit_next as vw workspace = vw.Workspace(record_metrics=True) print(workspace.metrics)
Output:
{'total_learn_calls': 0, 'total_log_calls': 0, 'total_predict_calls': 0}
-
Exposing feature names in the
Workspace.json_weights()
can now be configured easier in theWorkspace
constructor. (#53)import vowpal_wabbit_next as vw workspace = vw.Workspace(record_feature_names=True) parser = vw.TextFormatParser(workspace) workspace.learn_one(parser.parse_line("1 | a b c")) print(workspace.json_weights(include_feature_names=True))
-
The readable model format from VW is now accessible via
Workspace.readable_model
(#54) -
JSON format parsing is now accessible, see
JsonFormatParser
andJsonFormatReader
(#64)
Fixes
- fix: enable audit in dsjson when required flags are passed (#49)
- fix: ensure label that was passed in remains on the example after learn (#58)
- fix: merging deltas correctly uses adaptive weights, update submodule (#61)
Other changes
-
docs: Add how-to for integrating with vw-estimators (#50)
-
docs: add link to vw-estimators (#52)
-
docs: fix label constructor docs, globally collpase init into class doc (#51)
-
build: single source of truth for version (#57)
-
docs: Update docs around label types (#59)
-
feat: add hidden accessor for tag (#60)
-
refactor: make args default to an empty list in
Workspace
constructor (#62)import vowpal_wabbit_next as vw # Before workspace = vw.Workspace([]) # After workspace = vw.Workspace()
-
test: fix warnings in test_delta_aggregate_check_all test (#63)
-
docs: fix edit button (#65)
-
chore: Update version and readme with example (#67)
Full Changelog: v0.1.1...v0.2.0
0.1.1
This release fixes the MacOS ARM wheels.
What's Changed
- chore: add pypi badge to docs by @jackgerrits in #43
- ci: Clarify test vs prod stages by @jackgerrits in #42
- ci: require semantic PR titles by @jackgerrits in #45
- build: Increase notebook execution timeout for doc notebooks by @jackgerrits in #44
- ci: build universal2 binaries for MacOS wheel by @jackgerrits in #46
Full Changelog: v0.1.0...v0.1.1
0.1.0
This is the first release of a new set of VowpalWabbit Python bindings. The goal of these is to supersede the existing set of bindings and give an opportunity to improve or fix API issues. This initial release is already quite useful, but is still missing a number of things that planned to be added.
Install
pip install vowpal-wabbit-next
Features
- Create a
Workspace
from command line or from a VW model file - Parse string input examples from text or DSJson
- File based readers for text, DSJSON or cache format
- Write VW cache from in memory examples
- Predict from a given example and get the prediction
- Learn from a given example
- Serialize a
Workspace
- Access to the full VW weights as a numpy array
- Debug dumping of weights to JSON
- Calculate the index of a feature based on the string contents
- Calculate, merge and apply model deltas
- Run the VW CLI driver