Skip to main content

Experimental python bindings for VowpalWabbit

Project description

py-vowpal-wabbit-next

PyPI version Documentation Status

These are a new set of bindings for VowpalWabbit. Parity with the existing bindings is not a goal of this project as it is an opportunity for a clean slate and opportunity to rethink old decisions. The interfaces here are all subject to change so be prepared for things to change if you use this library.

Installation

pip install vowpal-wabbit-next

Example

import vowpal_wabbit_next as vw
import io

cb_input = io.StringIO(
    """shared | s
0:1:0.5 | a=0
| a=1

shared | s
| a=0
1:0:0.5 | a=1"""
)

workspace = vw.Workspace(["--cb_explore_adf"])

with vw.TextFormatReader(workspace, cb_input) as reader:
    for event in reader:
        print(workspace.predict_then_learn_one(event))

Goals

  • Fully typed and documented
  • All artifacts automatically build in CI
  • Focus on library usage instead of CLI behavior

Supported platforms

Wheels are provided for the following platforms:

  • OS+arch: Windows x86_x64, MacOS x86_x64, MacOS arm64, Linux x86_x64
  • Python: 3.7 (except MacOS), 3.8, 3.9, 3.10, 3.11

Development information

Local debug if using vcpkg deps

# Build
export CMAKE_TOOLCHAIN_FILE=$(pwd)/ext_libs/vcpkg/scripts/buildsystems/vcpkg.cmake
pip install -v .

# Install dev dependncies
pip install -r requirements-dev.txt

# Test
pytest

# Type check
mypy

# Format
black src tests

# Check documentation
pydocstyle src

Update pybind11 module type stub

After updating the native module the type stub must be updated. This can be done automatically like so (ideally automatically in future, or at least checked if it is stale):

./generate_types.sh

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

vowpal-wabbit-next-0.7.0.tar.gz (3.3 MB view details)

Uploaded Source

Built Distributions

vowpal_wabbit_next-0.7.0-cp312-cp312-win_amd64.whl (2.1 MB view details)

Uploaded CPython 3.12 Windows x86-64

vowpal_wabbit_next-0.7.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (3.2 MB view details)

Uploaded CPython 3.12 manylinux: glibc 2.17+ x86-64

vowpal_wabbit_next-0.7.0-cp312-cp312-macosx_10_13_universal2.whl (4.9 MB view details)

Uploaded CPython 3.12 macOS 10.13+ universal2 (ARM64, x86-64)

vowpal_wabbit_next-0.7.0-cp311-cp311-win_amd64.whl (2.1 MB view details)

Uploaded CPython 3.11 Windows x86-64

vowpal_wabbit_next-0.7.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (3.2 MB view details)

Uploaded CPython 3.11 manylinux: glibc 2.17+ x86-64

vowpal_wabbit_next-0.7.0-cp311-cp311-macosx_10_13_universal2.whl (4.9 MB view details)

Uploaded CPython 3.11 macOS 10.13+ universal2 (ARM64, x86-64)

vowpal_wabbit_next-0.7.0-cp310-cp310-win_amd64.whl (2.1 MB view details)

Uploaded CPython 3.10 Windows x86-64

vowpal_wabbit_next-0.7.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (3.2 MB view details)

Uploaded CPython 3.10 manylinux: glibc 2.17+ x86-64

vowpal_wabbit_next-0.7.0-cp310-cp310-macosx_10_13_universal2.whl (4.9 MB view details)

Uploaded CPython 3.10 macOS 10.13+ universal2 (ARM64, x86-64)

vowpal_wabbit_next-0.7.0-cp39-cp39-win_amd64.whl (2.1 MB view details)

Uploaded CPython 3.9 Windows x86-64

vowpal_wabbit_next-0.7.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (3.2 MB view details)

Uploaded CPython 3.9 manylinux: glibc 2.17+ x86-64

vowpal_wabbit_next-0.7.0-cp39-cp39-macosx_10_13_universal2.whl (4.9 MB view details)

Uploaded CPython 3.9 macOS 10.13+ universal2 (ARM64, x86-64)

vowpal_wabbit_next-0.7.0-cp38-cp38-win_amd64.whl (2.1 MB view details)

Uploaded CPython 3.8 Windows x86-64

vowpal_wabbit_next-0.7.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (3.2 MB view details)

Uploaded CPython 3.8 manylinux: glibc 2.17+ x86-64

vowpal_wabbit_next-0.7.0-cp38-cp38-macosx_10_13_universal2.whl (4.9 MB view details)

Uploaded CPython 3.8 macOS 10.13+ universal2 (ARM64, x86-64)

vowpal_wabbit_next-0.7.0-cp37-cp37m-win_amd64.whl (2.1 MB view details)

Uploaded CPython 3.7m Windows x86-64

vowpal_wabbit_next-0.7.0-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (3.2 MB view details)

Uploaded CPython 3.7m manylinux: glibc 2.17+ x86-64

File details

Details for the file vowpal-wabbit-next-0.7.0.tar.gz.

File metadata

  • Download URL: vowpal-wabbit-next-0.7.0.tar.gz
  • Upload date:
  • Size: 3.3 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.1 CPython/3.11.6

File hashes

Hashes for vowpal-wabbit-next-0.7.0.tar.gz
Algorithm Hash digest
SHA256 44903eb4bb9cb07744ab08f7e8491457d3bb1c606c23f7ed41898ba74c4c6c31
MD5 058f2058a7a223ab547711240e7161da
BLAKE2b-256 3dfdba279c245774fe90e477ac9615f88c877b954aa10b59952c03afd2c5ec7c

See more details on using hashes here.

File details

Details for the file vowpal_wabbit_next-0.7.0-cp312-cp312-win_amd64.whl.

File metadata

File hashes

Hashes for vowpal_wabbit_next-0.7.0-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 0c1f7dd6827ca72c950896d4e6d9ba4e7091a504a33dd907a6f901330638e3d9
MD5 cbb65ddbccea3d698c2218f87c4d503e
BLAKE2b-256 b1a4a9014a71d35bcce61a66b9542ed32091e5745c8393d0150bd45c2084c776

See more details on using hashes here.

File details

Details for the file vowpal_wabbit_next-0.7.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for vowpal_wabbit_next-0.7.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 c66e3ed74426450df0b5a75f49d57c8dbc8eb8878f98a18b9c1f91d470e5759f
MD5 6ea2d9d276a3f3a66a266dd84d96071c
BLAKE2b-256 505341318e07a6b13208afd492914ec31b1f4375244001213d839af215f75c3b

See more details on using hashes here.

File details

Details for the file vowpal_wabbit_next-0.7.0-cp312-cp312-macosx_10_13_universal2.whl.

File metadata

File hashes

Hashes for vowpal_wabbit_next-0.7.0-cp312-cp312-macosx_10_13_universal2.whl
Algorithm Hash digest
SHA256 4686738e00de03b8a193211cab0c47480b4796067b4b070ba6eddc2a1e475074
MD5 a3cfadd8fac49232b6fbc93dc859cb51
BLAKE2b-256 b93ef697abd5f0342057926d388b9f54ee98bb7ca2a2c8c948ca51647f091cab

See more details on using hashes here.

File details

Details for the file vowpal_wabbit_next-0.7.0-cp311-cp311-win_amd64.whl.

File metadata

File hashes

Hashes for vowpal_wabbit_next-0.7.0-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 29666839fb9ce19f5343a96bdef6ce831ad2ce585b56fa8f5ffbf53aa45626f9
MD5 144b7cb944f4f9184512e13ad3c2916a
BLAKE2b-256 dcda63df541b68715e8e2af50e60e447ad11e74e43061d0f9adf3f1a4c5354fe

See more details on using hashes here.

File details

Details for the file vowpal_wabbit_next-0.7.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for vowpal_wabbit_next-0.7.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 397bf7392220842ec1e790e423362480bd1241b78fb780260bab5db41016d7ce
MD5 636fd89303663c067ec8b494f3209594
BLAKE2b-256 5f4321b83e85ddd5600435c2795b19f83e973e9b2fc026d80d5950d4b427ea18

See more details on using hashes here.

File details

Details for the file vowpal_wabbit_next-0.7.0-cp311-cp311-macosx_10_13_universal2.whl.

File metadata

File hashes

Hashes for vowpal_wabbit_next-0.7.0-cp311-cp311-macosx_10_13_universal2.whl
Algorithm Hash digest
SHA256 5951dd7a796ab4ddd72272396282d3c74438bace72af9d0967416e1c01b8d349
MD5 4ff7dadf146459740b3620893c9ec2a2
BLAKE2b-256 47f3f5af67dd69878b80edf3f98e5a6f747857dd41d17d8a824f68c36b42fd6a

See more details on using hashes here.

File details

Details for the file vowpal_wabbit_next-0.7.0-cp310-cp310-win_amd64.whl.

File metadata

File hashes

Hashes for vowpal_wabbit_next-0.7.0-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 07ea487e2405a35ffd14ae09ed9ea484c5f3fac6b51605eb4a6e7fb3eb9b4650
MD5 4837c86c49c52c81c99f11a7a53a36c6
BLAKE2b-256 f5a53f5929766a0829b8346ae8b9ab2b77c730ba6cee485516a9c58cf8de8f6a

See more details on using hashes here.

File details

Details for the file vowpal_wabbit_next-0.7.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for vowpal_wabbit_next-0.7.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 b7c500a7f5cf31c07d9974085bee3baf8969ff39786829f02288f32911543020
MD5 6fadc1d5d2a5c669de584f9303d2d95a
BLAKE2b-256 30cc89808b38d41f1b4a2d4d8efe5bc81cd174ed4aad931ea291cc20f6887469

See more details on using hashes here.

File details

Details for the file vowpal_wabbit_next-0.7.0-cp310-cp310-macosx_10_13_universal2.whl.

File metadata

File hashes

Hashes for vowpal_wabbit_next-0.7.0-cp310-cp310-macosx_10_13_universal2.whl
Algorithm Hash digest
SHA256 d4651989488ad8e3442dcb840eccde234255931c2ca17c0f64077d864f3e379f
MD5 6de7784fe54a742839df307be9612895
BLAKE2b-256 b6944d99406cb271643e846e45ebbf9794657f45ed40896c51944e9f96d6b3c8

See more details on using hashes here.

File details

Details for the file vowpal_wabbit_next-0.7.0-cp39-cp39-win_amd64.whl.

File metadata

File hashes

Hashes for vowpal_wabbit_next-0.7.0-cp39-cp39-win_amd64.whl
Algorithm Hash digest
SHA256 1c1840f371d9f07df011ab37ae0b912a235b3cfa118fe58f28dfd431872b2611
MD5 037e8213084e046325020d9069aac56b
BLAKE2b-256 23a484ddcca0dac665294df08c2f6a6dace512cf4651edba5378a1887d49829e

See more details on using hashes here.

File details

Details for the file vowpal_wabbit_next-0.7.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for vowpal_wabbit_next-0.7.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 1666a96a19a8e39514b784813a2cefc95ed53241a7d13fc6332b02458852c43e
MD5 2bb1a792c015ee8241fcc5c57dbbc57a
BLAKE2b-256 86b6dfdfd5c559c29c6fb7fe5ba0df88e14b276a4e8f379e768877981a31d291

See more details on using hashes here.

File details

Details for the file vowpal_wabbit_next-0.7.0-cp39-cp39-macosx_10_13_universal2.whl.

File metadata

File hashes

Hashes for vowpal_wabbit_next-0.7.0-cp39-cp39-macosx_10_13_universal2.whl
Algorithm Hash digest
SHA256 95dc91209e692eadbb56bce3108aca38e0e053ac25e30054ef99fdfd86f110dd
MD5 41e0e049c48d854f4de5d9c578f19f06
BLAKE2b-256 13313716eca0adcc6880f84ce9dc5280f492885401a78bf17a1e01bca37d962c

See more details on using hashes here.

File details

Details for the file vowpal_wabbit_next-0.7.0-cp38-cp38-win_amd64.whl.

File metadata

File hashes

Hashes for vowpal_wabbit_next-0.7.0-cp38-cp38-win_amd64.whl
Algorithm Hash digest
SHA256 6bac53807c7453bb89bc843b9a40f300738f3c3a3a8160471fa005a9ae8a4d88
MD5 c50c6040d9990f38f5bfcccd257dcf8f
BLAKE2b-256 21cb1d4e7e5a71443cbae83077fc02752bf0be36ddb5ceef1e5736b5ce89b32b

See more details on using hashes here.

File details

Details for the file vowpal_wabbit_next-0.7.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for vowpal_wabbit_next-0.7.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 858a54d5d498f1718516c837f5a2fd047200747a057a2a3040a35e770cf98bd7
MD5 f522415257175004e8dbaabe63ea6779
BLAKE2b-256 e052fd03c484f5e56e7932af0b49759f5e284b8a3d8c5bb4c6f033c4ce1b46dd

See more details on using hashes here.

File details

Details for the file vowpal_wabbit_next-0.7.0-cp38-cp38-macosx_10_13_universal2.whl.

File metadata

File hashes

Hashes for vowpal_wabbit_next-0.7.0-cp38-cp38-macosx_10_13_universal2.whl
Algorithm Hash digest
SHA256 f193306c2074ce70755d1822b4cefc47b16dd06b428de87ebccc6eaae6c4a246
MD5 512f8e4cf8261d9a37f65165b3ea1fc3
BLAKE2b-256 9785b3bdba1262a7664fc270c363481033b5e2f6687dd9d8926e8b822f90cea3

See more details on using hashes here.

File details

Details for the file vowpal_wabbit_next-0.7.0-cp37-cp37m-win_amd64.whl.

File metadata

File hashes

Hashes for vowpal_wabbit_next-0.7.0-cp37-cp37m-win_amd64.whl
Algorithm Hash digest
SHA256 da2f9116ebea3914d9fc0f6181608190f3c65a21a8227026d18e3eaea6d397c3
MD5 f52add86e5da747110d0920bb7043100
BLAKE2b-256 89536e5b5fbea27720098b9b4e74393f5d91dfc5814a795fb3826d0b15056afe

See more details on using hashes here.

File details

Details for the file vowpal_wabbit_next-0.7.0-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for vowpal_wabbit_next-0.7.0-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 00f4b0bee49d27a8a8a0818ec6a598bf3d7729d6edf0031b3e7a8609144a8e80
MD5 85ca6e9ba351e48f39f0359a4d0fa84a
BLAKE2b-256 cf06b8e350850046894bfc2375ea3332cca6a9c964f8366dda3d9c2c0bd07c32

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page