Skip to content

Python 3.11.6+numpy externals for Max (pre-release)

Pre-release
Pre-release
Compare
Choose a tag to compare
@shakfu shakfu released this 06 Nov 18:46
· 73 commits to main since this release

This pre-release contains two pairs of codesigned and notarized Python 3.11.6 externals (py and pyjs) based on the minimal shared-tiny-ext variant.

Notably,

  1. The first pair includes a tiny (9.1 MB) version of py which contains a greatly enhanced builtin api module that wraps a decent subset of the Max c-api.

    The revised api module now includes a bunch of cython extension classes which correspond to Max objects and data-structures: MaxObject, Atom, Table, Buffer, Dictionary, Database, Binbuf, Atombuf, Patcher, and PyExternal.

    The Buffer class in particular, thanks to feedback from @jamesb93 now enables array-based modules such as the builtin array module and numpy to efficiently read from and write to buffer~ objects.

    A group of pure python tests for the api module are included in the examples/tests folder with related test patchers in the patchers/tests folder.

  2. The numpy version of the py external contains everything in (1) but also includes a recent version of numpy as well (but without the BLAS and LAPACK linear algebra libraries), and is around 20.9 MB in size.

  3. In addition, the latest version of the pyjs javascript extension is included to enable a bridge between python3 and the javascript Max api inside the [js] object (but without the api module or numpy) at around 8.1 MB in size.

Enjoy!