Giter VIP home page Giter VIP logo

py-vowpal-wabbit-next's Introduction

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

py-vowpal-wabbit-next's People

Contributors

bassmang avatar cheng-tan avatar jackgerrits avatar olgavrou avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar

py-vowpal-wabbit-next's Issues

CCB support

Hello,

Do you have any plans for CCB supporting?

Model serialize does not complete (or at least takes very long) on large models

When trying to serialize and save a large model (either ooa or plt, the model files are more than 1 GB large), the model.serialize() does not complete in over an hour (I did not try out how long it would take, that seemed pointless).
This is weird, because when saving a model using the vowpalwabbit functionality of training (by passing the --final_regressor option), the saving is done quite fast.
Loading a model of said size is a matter of seconds.
Also, using the model.save(model_filename) functionality of the old vowpalwabbit package, is much faster (also in the seconds) with the same size of models.

Unfortunately, I am not sure how to pass an example. The code is quite easy

import vowpal_wabbit_next as vw
params = ['--loss_function=logistic', '--probabilities']
learned_model = open('model.vw', 'rb').read()
model = vw.Workspace(params, model_data=learned_model)
serialized_model = model.serialize()

Here the last command does not finish in any appropriate time - the memory usage keeps rising though.

I cannot pass one of our model or our training files. So I am not sure how to pass you a large model. is it possible for you, to create a dummy model to test yourself?

CCB Namespaces

Does CCB text format support namespaces and interactions?

`run_cli_driver` ignores SIGINT

As in the title, run_cli_driver method ignores SIGINT send to the python script and waits till the end of the run.
This is probably also the case for other methods, but this one usually takes a lot of time.

Example:

  1. Run the script from VowpalWabbit/vowpal_wabbit#4510 (comment)
  2. Press Ctrl+C/Cmd+C after a few seconds
  3. The script will finish the run of cli driver before interrupting.

Memory error when online training a loaded oaa model

When trying out the script in #4510 and changing to a oaa model (with much less bits, it really is slow), an access violation occurs when trying to online train the model.

Simply replace the prediction and evaluation with

testing_data.apply(lambda x: model.learn_one(text_parser.parse_line(to_vw_format(x.text, mapping[x.target]))), axis=1)
print('Hello World')

The Hello World will not be reached (in pytest it actually throws a fatal access violation, with a normal call it simply stops).

MacOS arm64 wheels are broken

There is an undefined symbol error when trying to load the MacOS arm64 wheels. I think the cross-building for arm64 in the wheels CI is not working correctly.

$ python -c "import vowpal_wabbit_next"
Traceback (most recent call last):
  File "<string>", line 1, in <module>
  File "/opt/miniconda3/envs/pynextdev/lib/python3.10/site-packages/vowpal_wabbit_next/__init__.py", line 1, in <module>
    from ._core import __version__, _vw_version, _vw_commit
ImportError: dlopen(/opt/miniconda3/envs/pynextdev/lib/python3.10/site-packages/vowpal_wabbit_next/_core.cpython-310-darwin.so, 0x0002): symbol not found in flat namespace (__ZN3fmt2v912format_errorD1Ev)

There was at least 1 issue I fixed here: #46. However, when inspecting the so with nm there are a large number of undefined symbol which leads me to believe the cross build is not working. It also seems like the wrong python libs are used in the build process.

                 U _PyBaseObject_Type
                 U _PyBuffer_Release
                 U _PyByteArray_AsString
                 U _PyByteArray_Size
                 U _PyByteArray_Type
                 U _PyBytes_AsString
                 U _PyBytes_AsStringAndSize
                 U _PyBytes_FromStringAndSize
                 U _PyBytes_Size
                 U _PyCFunction_Type
                 U _PyCMethod_New
                 U _PyCapsule_GetContext
                 U _PyCapsule_GetName
                 U _PyCapsule_GetPointer
                 U _PyCapsule_New
                 U _PyCapsule_SetContext
                 U _PyCapsule_SetName
                 U _PyCapsule_SetPointer
                 U _PyCapsule_Type
                 U _PyDict_Contains
                 U _PyDict_Copy
                 U _PyDict_DelItemString
                 U _PyDict_GetItemWithError
                 U _PyDict_New
                 U _PyDict_Next
                 U _PyDict_Size
                 U _PyDict_Type
                 U _PyErr_Clear
                 U _PyErr_Fetch
                 U _PyErr_Format
                 U _PyErr_NormalizeException
                 U _PyErr_Occurred
                 U _PyErr_Restore
                 U _PyErr_SetString
                 U _PyErr_WriteUnraisable
                 U _PyEval_AcquireThread
                 U _PyEval_GetBuiltins
                 U _PyEval_SaveThread
                 U _PyExc_BufferError
                 U _PyExc_ImportError
                 U _PyExc_IndexError
                 U _PyExc_MemoryError
                 U _PyExc_OverflowError
                 U _PyExc_RuntimeError
                 U _PyExc_SystemError
                 U _PyExc_TypeError
                 U _PyExc_ValueError
                 U _PyException_SetCause
                 U _PyException_SetContext
                 U _PyException_SetTraceback
                 U _PyFloat_FromDouble
                 U _PyFloat_Type
                 U _PyFrame_GetBack
                 U _PyFrame_GetCode
                 U _PyFrame_GetLineNumber
                 U _PyGILState_Ensure
                 U _PyGILState_GetThisThreadState
                 U _PyGILState_Release
                 U _PyImport_ImportModule
                 U _PyIndex_Check
00000000003dc450 T _PyInit__core
                 U _PyInstanceMethod_New
                 U _PyInstanceMethod_Type
                 U _PyList_GetItem
                 U _PyList_New
                 U _PyList_Size
                 U _PyLong_AsLong
                 U _PyLong_AsUnsignedLong
                 U _PyLong_FromLong
                 U _PyLong_FromSize_t
                 U _PyMem_Calloc
                 U _PyMem_Free
                 U _PyMethod_Type
                 U _PyModule_AddObject
                 U _PyModule_Create2
                 U _PyModule_Type
                 U _PyNumber_Check
                 U _PyNumber_Long
                 U _PyObject_CallFunctionObjArgs
                 U _PyObject_CallObject
                 U _PyObject_ClearWeakRefs
                 U _PyObject_GenericGetDict
                 U _PyObject_GenericSetDict
                 U _PyObject_GetAttrString
                 U _PyObject_GetItem
                 U _PyObject_HasAttrString
                 U _PyObject_IsInstance
                 U _PyObject_Malloc
                 U _PyObject_Repr
                 U _PyObject_RichCompareBool
                 U _PyObject_SetAttr
                 U _PyObject_SetAttrString
                 U _PyObject_SetItem
                 U _PyObject_Str
                 U _PyProperty_Type
                 U _PySequence_Check
                 U _PySequence_GetItem
                 U _PySequence_Size
                 U _PySequence_Tuple
                 U _PyThreadState_Clear
                 U _PyThreadState_DeleteCurrent
                 U _PyThreadState_Get
                 U _PyThreadState_New
                 U _PyThread_tss_alloc
                 U _PyThread_tss_create
                 U _PyThread_tss_get
                 U _PyThread_tss_set
                 U _PyTuple_GetItem
                 U _PyTuple_New
                 U _PyTuple_SetItem
                 U _PyTuple_Size
                 U _PyType_IsSubtype
                 U _PyType_Ready
                 U _PyType_Type
                 U _PyUnicode_AsEncodedString
                 U _PyUnicode_AsUTF8AndSize
                 U _PyUnicode_AsUTF8String
                 U _PyUnicode_DecodeUTF8
                 U _PyUnicode_FromFormat
                 U _PyUnicode_FromString
                 U _PyWeakref_NewRef
                 U _Py_GetVersion
                 U __DefaultRuneLocale
                 U __PyObject_GetDictPtr
                 U __PyThreadState_UncheckedGet
                 U __PyType_Lookup
                 U __Py_Dealloc
                 U __Py_FalseStruct
                 U __Py_NoneStruct
                 U __Py_NotImplementedStruct
                 U __Py_TrueStruct
                 U __Unwind_Resume
                 U __ZN3fmt2v912format_errorD1Ev
                 U __ZN3fmt2v96detail12is_printableEj
                 U __ZN3fmt2v96detail18decimal_point_implIcEET_NS1_10locale_refE
                 U __ZN3fmt2v96detail18thousands_sep_implIcEENS1_20thousands_sep_resultIT_EENS1_10locale_refE
                 U __ZN3fmt2v96detail18throw_format_errorEPKc
                 U __ZN3fmt2v96detail9dragonbox10to_decimalIdEENS2_10decimal_fpIT_EES5_
                 U __ZN3fmt2v96detail9dragonbox10to_decimalIfEENS2_10decimal_fpIT_EES5_
                 U __ZN3fmt2v96vprintEP7__sFILENS0_17basic_string_viewIcEENS0_17basic_format_argsINS0_20basic_format_contextINS0_8appenderEcEEEE
                 U __ZN3fmt2v97vformatENS0_17basic_string_viewIcEENS0_17basic_format_argsINS0_20basic_format_contextINS0_8appenderEcEEEE
00000000003f158c T __ZN8pybind1117error_already_set23m_fetched_error_deleterEPNS_6detail25error_fetch_and_normalizeE
                 U __ZNKSt11logic_error4whatEv
                 U __ZNKSt13runtime_error4whatEv
                 U __ZNKSt3__112basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE4findEcm
                 U __ZNKSt3__112basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE7compareEPKc
                 U __ZNKSt3__112basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE7compareEmmPKcm
                 U __ZNKSt3__119__shared_weak_count13__get_deleterERKSt9type_info
                 U __ZNKSt3__120__vector_base_commonILb1EE20__throw_length_errorEv
                 U __ZNKSt3__120__vector_base_commonILb1EE20__throw_out_of_rangeEv
                 U __ZNKSt3__121__basic_string_commonILb1EE20__throw_length_errorEv
                 U __ZNKSt3__16locale9has_facetERNS0_2idE
                 U __ZNKSt3__16locale9use_facetERNS0_2idE
                 U __ZNKSt3__18ios_base6getlocEv
                 U __ZNKSt3__18time_putIcNS_19ostreambuf_iteratorIcNS_11char_traitsIcEEEEE3putES4_RNS_8ios_baseEcPK2tmPKcSC_
                 U __ZNKSt9exception4whatEv
                 U __ZNSt11logic_errorC2EPKc
                 U __ZNSt11logic_errorC2ERKNSt3__112basic_stringIcNS0_11char_traitsIcEENS0_9allocatorIcEEEE
                 U __ZNSt11logic_errorC2ERKS_
                 U __ZNSt12domain_errorD1Ev
                 U __ZNSt12domain_errorD2Ev
                 U __ZNSt12length_errorD1Ev
                 U __ZNSt12out_of_rangeD1Ev
                 U __ZNSt13exception_ptrC1ERKS_
                 U __ZNSt13exception_ptrD1Ev
                 U __ZNSt13exception_ptraSERKS_
                 U __ZNSt13runtime_errorC1EPKc
                 U __ZNSt13runtime_errorC1ERKNSt3__112basic_stringIcNS0_11char_traitsIcEENS0_9allocatorIcEEEE
                 U __ZNSt13runtime_errorC2EPKc
                 U __ZNSt13runtime_errorC2ERKNSt3__112basic_stringIcNS0_11char_traitsIcEENS0_9allocatorIcEEEE
                 U __ZNSt13runtime_errorC2ERKS_
                 U __ZNSt13runtime_errorD1Ev
                 U __ZNSt13runtime_errorD2Ev
                 U __ZNSt14overflow_errorD1Ev
                 U __ZNSt14overflow_errorD2Ev
                 U __ZNSt3__112__next_primeEm
                 U __ZNSt3__112basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE5eraseEmm
                 U __ZNSt3__112basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE6appendEPKc
                 U __ZNSt3__112basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE6appendEPKcm
                 U __ZNSt3__112basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE6appendERKS5_mm
                 U __ZNSt3__112basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE6appendEmc
                 U __ZNSt3__112basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE6assignEPKc
                 U __ZNSt3__112basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE6assignEPKcm
                 U __ZNSt3__112basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE6insertEmPKc
                 U __ZNSt3__112basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE6insertEmPKcm
                 U __ZNSt3__112basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE6resizeEmc
                 U __ZNSt3__112basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE7replaceEmmPKc
                 U __ZNSt3__112basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE7replaceEmmPKcm
                 U __ZNSt3__112basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE9__grow_byEmmmmmm
                 U __ZNSt3__112basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE9push_backEc
                 U __ZNSt3__112basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEC1ERKS5_
                 U __ZNSt3__112basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEC1ERKS5_mmRKS4_
                 U __ZNSt3__112basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEED1Ev
                 U __ZNSt3__112basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEaSERKS5_
                 U __ZNSt3__112future_errorC1ENS_10error_codeE
                 U __ZNSt3__112future_errorD1Ev
                 U __ZNSt3__113basic_istreamIcNS_11char_traitsIcEEE6sentryC1ERS3_b
                 U __ZNSt3__113basic_istreamIcNS_11char_traitsIcEEED0Ev
                 U __ZNSt3__113basic_istreamIcNS_11char_traitsIcEEED1Ev
                 U __ZNSt3__113basic_istreamIcNS_11char_traitsIcEEED2Ev
                 U __ZNSt3__113basic_istreamIcNS_11char_traitsIcEEErsERf
                 U __ZNSt3__113basic_istreamIcNS_11char_traitsIcEEErsERi
                 U __ZNSt3__113basic_istreamIcNS_11char_traitsIcEEErsERj
                 U __ZNSt3__113basic_istreamIcNS_11char_traitsIcEEErsERx
                 U __ZNSt3__113basic_istreamIcNS_11char_traitsIcEEErsERy
                 U __ZNSt3__113basic_ostreamIcNS_11char_traitsIcEEE3putEc
                 U __ZNSt3__113basic_ostreamIcNS_11char_traitsIcEEE5flushEv
                 U __ZNSt3__113basic_ostreamIcNS_11char_traitsIcEEE5writeEPKcl
                 U __ZNSt3__113basic_ostreamIcNS_11char_traitsIcEEE6sentryC1ERS3_
                 U __ZNSt3__113basic_ostreamIcNS_11char_traitsIcEEE6sentryD1Ev
                 U __ZNSt3__113basic_ostreamIcNS_11char_traitsIcEEED0Ev
                 U __ZNSt3__113basic_ostreamIcNS_11char_traitsIcEEED1Ev
                 U __ZNSt3__113basic_ostreamIcNS_11char_traitsIcEEED2Ev
                 U __ZNSt3__113basic_ostreamIcNS_11char_traitsIcEEElsEPKv
                 U __ZNSt3__113basic_ostreamIcNS_11char_traitsIcEEElsEb
                 U __ZNSt3__113basic_ostreamIcNS_11char_traitsIcEEElsEd
                 U __ZNSt3__113basic_ostreamIcNS_11char_traitsIcEEElsEf
                 U __ZNSt3__113basic_ostreamIcNS_11char_traitsIcEEElsEi
                 U __ZNSt3__113basic_ostreamIcNS_11char_traitsIcEEElsEj
                 U __ZNSt3__113basic_ostreamIcNS_11char_traitsIcEEElsEm
                 U __ZNSt3__113basic_ostreamIcNS_11char_traitsIcEEElsEt
                 U __ZNSt3__113basic_ostreamIcNS_11char_traitsIcEEElsEx
                 U __ZNSt3__113basic_ostreamIcNS_11char_traitsIcEEElsEy
                 U __ZNSt3__114basic_iostreamIcNS_11char_traitsIcEEED0Ev
                 U __ZNSt3__114basic_iostreamIcNS_11char_traitsIcEEED1Ev
                 U __ZNSt3__114basic_iostreamIcNS_11char_traitsIcEEED2Ev
                 U __ZNSt3__115__thread_structC1Ev
                 U __ZNSt3__115__thread_structD1Ev
                 U __ZNSt3__115basic_streambufIcNS_11char_traitsIcEEE4syncEv
                 U __ZNSt3__115basic_streambufIcNS_11char_traitsIcEEE5imbueERKNS_6localeE
                 U __ZNSt3__115basic_streambufIcNS_11char_traitsIcEEE5uflowEv
                 U __ZNSt3__115basic_streambufIcNS_11char_traitsIcEEE6setbufEPcl
                 U __ZNSt3__115basic_streambufIcNS_11char_traitsIcEEE6xsgetnEPcl
                 U __ZNSt3__115basic_streambufIcNS_11char_traitsIcEEE6xsputnEPKcl
                 U __ZNSt3__115basic_streambufIcNS_11char_traitsIcEEE9showmanycEv
                 U __ZNSt3__115basic_streambufIcNS_11char_traitsIcEEEC2Ev
                 U __ZNSt3__115basic_streambufIcNS_11char_traitsIcEEED2Ev
                 U __ZNSt3__115future_categoryEv
                 U __ZNSt3__118condition_variable10notify_allEv
                 U __ZNSt3__118condition_variable10notify_oneEv
                 U __ZNSt3__118condition_variable4waitERNS_11unique_lockINS_5mutexEEE
                 U __ZNSt3__118condition_variableD1Ev
                 U __ZNSt3__119__shared_weak_count14__release_weakEv
                 U __ZNSt3__119__shared_weak_countD2Ev
                 U __ZNSt3__119__thread_local_dataEv
                 U __ZNSt3__120__throw_system_errorEiPKc
                 U __ZNSt3__14cerrE
                 U __ZNSt3__14coutE
                 U __ZNSt3__14stofERKNS_12basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEEPm
                 U __ZNSt3__14stoiERKNS_12basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEEPmi
                 U __ZNSt3__15ctypeIcE2idE
                 U __ZNSt3__15mutex4lockEv
                 U __ZNSt3__15mutex6unlockEv
                 U __ZNSt3__15mutexD1Ev
                 U __ZNSt3__16__sortIRNS_6__lessIiiEEPiEEvT0_S5_T_
                 U __ZNSt3__16chrono12system_clock3nowEv
                 U __ZNSt3__16chrono12system_clock9to_time_tERKNS0_10time_pointIS1_NS0_8durationIxNS_5ratioILl1ELl1000000EEEEEEE
                 U __ZNSt3__16futureIvE3getEv
                 U __ZNSt3__16futureIvED1Ev
                 U __ZNSt3__16localeC1ERKS0_
                 U __ZNSt3__16localeD1Ev
                 U __ZNSt3__16thread20hardware_concurrencyEv
                 U __ZNSt3__16thread4joinEv
                 U __ZNSt3__16threadD1Ev
                 U __ZNSt3__17codecvtIcc11__mbstate_tE2idE
                 U __ZNSt3__17promiseIvE10get_futureEv
                 U __ZNSt3__17promiseIvE13set_exceptionESt13exception_ptr
                 U __ZNSt3__17promiseIvE9set_valueEv
                 U __ZNSt3__17promiseIvEC1Ev
                 U __ZNSt3__17promiseIvED1Ev
                 U __ZNSt3__18ios_base33__set_badbit_and_consider_rethrowEv
                 U __ZNSt3__18ios_base4initEPv
                 U __ZNSt3__18ios_base5clearEj
                 U __ZNSt3__18time_putIcNS_19ostreambuf_iteratorIcNS_11char_traitsIcEEEEE2idE
                 U __ZNSt3__19basic_iosIcNS_11char_traitsIcEEED2Ev
                 U __ZNSt3__19to_stringEf
                 U __ZNSt3__19to_stringEi
                 U __ZNSt3__19to_stringEj
                 U __ZNSt3__19to_stringEm
                 U __ZNSt3__19to_stringEx
                 U __ZNSt3__19to_stringEy
                 U __ZNSt3__1plIcNS_11char_traitsIcEENS_9allocatorIcEEEENS_12basic_stringIT_T0_T1_EEPKS6_RKS9_
                 U __ZNSt8bad_castC1Ev
                 U __ZNSt8bad_castD1Ev
                 U __ZNSt9bad_allocC1Ev
                 U __ZNSt9bad_allocD1Ev
                 U __ZNSt9exceptionD2Ev
                 U __ZSt17current_exceptionv
                 U __ZSt17rethrow_exceptionSt13exception_ptr
                 U __ZSt7nothrow
                 U __ZSt9terminatev
                 U __ZTIN3fmt2v912format_errorE
                 U __ZTINSt3__112future_errorE
                 U __ZTINSt3__113basic_istreamIcNS_11char_traitsIcEEEE
                 U __ZTINSt3__113basic_ostreamIcNS_11char_traitsIcEEEE
                 U __ZTINSt3__114basic_iostreamIcNS_11char_traitsIcEEEE
                 U __ZTINSt3__115basic_streambufIcNS_11char_traitsIcEEEE
                 U __ZTINSt3__119__shared_weak_countE
                 U __ZTISt11range_error
                 U __ZTISt12domain_error
                 U __ZTISt12length_error
                 U __ZTISt12out_of_range
                 U __ZTISt13runtime_error
                 U __ZTISt14overflow_error
                 U __ZTISt16invalid_argument
                 U __ZTISt16nested_exception
                 U __ZTISt18bad_variant_access
                 U __ZTISt8bad_cast
                 U __ZTISt9bad_alloc
                 U __ZTISt9exception
                 U __ZTIb
                 U __ZTIf
                 U __ZTIi
                 U __ZTIj
                 U __ZTIx
                 U __ZTIy
                 U __ZTVN10__cxxabiv116__enum_type_infoE
                 U __ZTVN10__cxxabiv117__class_type_infoE
                 U __ZTVN10__cxxabiv119__pointer_type_infoE
                 U __ZTVN10__cxxabiv120__function_type_infoE
                 U __ZTVN10__cxxabiv120__si_class_type_infoE
                 U __ZTVN10__cxxabiv121__vmi_class_type_infoE
                 U __ZTVN3fmt2v912format_errorE
                 U __ZTVNSt3__113basic_ostreamIcNS_11char_traitsIcEEEE
                 U __ZTVSt12domain_error
                 U __ZTVSt12length_error
                 U __ZTVSt12out_of_range
                 U __ZTVSt14overflow_error
                 U __ZTVSt18bad_variant_access
                 U __ZThn16_NSt3__114basic_iostreamIcNS_11char_traitsIcEEED0Ev
                 U __ZThn16_NSt3__114basic_iostreamIcNS_11char_traitsIcEEED1Ev
                 U __ZTv0_n24_NSt3__113basic_istreamIcNS_11char_traitsIcEEED0Ev
                 U __ZTv0_n24_NSt3__113basic_istreamIcNS_11char_traitsIcEEED1Ev
                 U __ZTv0_n24_NSt3__113basic_ostreamIcNS_11char_traitsIcEEED0Ev
                 U __ZTv0_n24_NSt3__113basic_ostreamIcNS_11char_traitsIcEEED1Ev
                 U __ZTv0_n24_NSt3__114basic_iostreamIcNS_11char_traitsIcEEED0Ev
                 U __ZTv0_n24_NSt3__114basic_iostreamIcNS_11char_traitsIcEEED1Ev
                 U __ZdaPv
                 U __ZdlPv
                 U __Znam
                 U __Znwm
                 U __ZnwmRKSt9nothrow_t
                 U ___cxa_allocate_exception
                 U ___cxa_atexit
                 U ___cxa_bad_cast
                 U ___cxa_begin_catch
                 U ___cxa_demangle
                 U ___cxa_end_catch
                 U ___cxa_free_exception
                 U ___cxa_guard_abort
                 U ___cxa_guard_acquire
                 U ___cxa_guard_release
                 U ___cxa_pure_virtual
                 U ___cxa_rethrow
                 U ___cxa_throw
                 U ___darwin_check_fd_set_overflow
                 U ___dynamic_cast
                 U ___error
                 U ___gxx_personality_v0
                 U ___maskrune
                 U ___stack_chk_fail
                 U ___stack_chk_guard
                 U ___stderrp
                 U ___stdinp
                 U ___stdoutp
                 U ___udivti3
                 U __tlv_bootstrap
                 U _abort
                 U _accept
                 U _atof
                 U _atoi
                 U _bind
                 U _bzero
                 U _calloc
                 U _clock
                 U _close
                 U _connect
                 U _cos
                 U _daemon
                 U _exit
                 U _exp
                 U _expf
                 U _expm1f
                 U _fclose
                 U _fflush
                 U _fileno
                 U _fmodf
                 U _fopen
                 U _fork
                 U _fprintf
                 U _fputc
                 U _fputs
                 U _fread
                 U _free
                 U _fscanf
                 U _fseeko
                 U _ftello
                 U _fwrite
                 U _getenv
                 U _gethostbyname
                 U _getnameinfo
                 U _getpid
                 U _getsockname
                 U _gmtime_r
                 U _gzclose
                 U _gzdopen
                 U _gzopen
                 U _gzread
                 U _gzseek
                 U _gzwrite
                 U _inet_ntop
                 U _isatty
                 U _kill
                 U _listen
                 U _localtime
                 U _localtime_r
                 U _log
                 U _log1p
                 U _log1pf
                 U _log2
                 U _logf
                 U _lseek
                 U _malloc
                 U _memchr
                 U _memcmp
                 U _memcpy
                 U _memmove
                 U _memset
                 U _memset_pattern16
                 U _mmap
                 U _nextafterf
                 U _open
                 U _pow
                 U _powf
                 U _printf
                 U _pthread_create
                 U _pthread_setspecific
                 U _pthread_threadid_np
                 U _qsort
                 U _read
                 U _realloc
                 U _recv
                 U _remainder
                 U _remove
                 U _rename
                 U _select
                 U _send
                 U _setsockopt
                 U _sigaction
                 U _sin
                 U _sleep
                 U _snprintf
                 U _socket
                 U _sscanf
                 U _stat
                 U _strcasecmp
                 U _strcmp
                 U _strcpy
                 U _strdup
                 U _strerror_r
                 U _strftime
                 U _strlen
                 U _strncmp
                 U _strrchr
                 U _strstr
                 U _strtof
                 U _strtok_r
                 U _strtol
                 U _strtoul
                 U _tan
                 U _time
                 U _wait
                 U _write
                 U dyld_stub_binder

Wheels for VW 8.7.0

Hello!

I'm currently investigating a regression of a training job using cache files as a training set. I'd like to compare cache files and stumbled upon this package that contains a cache file reader. Unfortunately, there is no wheel for vw 8.7.0. Would it be possible to build the wheels for 8.7.0 ? Or to guide me on how to do it myself ? I'm on macos arm. Many thanks in advance.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.