Skip to content

Python 3.13.0 externals for Max/MSP

Latest
Compare
Choose a tag to compare
@shakfu shakfu released this 11 Oct 14:58
· 6 commits to main since this release

This 0.3.0 release includes py and pyjs externals for macOS based on the recently released Python 3.13.0 engine.

One positive outcome of this Python version change is that externals are measurably smaller than the prior release due to the removal of a number of deprecated modules.

As usual, many arm64 and x86_64 external build variants are provided in this release. All are fully codesigned and notarized, which makes them also usable in your own projects and standalones. Please refer to the project's README for an extended overview of the specific differences between these variants, but basically the '-ext' suffix in the name means a self-contained Max external, the '-pkg' suffix means a Max package where the externals in the 'externals' folder depend on the python library in the 'support' folder:

  • shared-ext: self-contained external, fully loaded, dynamically linked.
  • shared-ext-tiny: self-contained external, size-minimized, dynamically linked.
  • static-ext: self-contained external, fully loaded, statically linked.
  • static-ext-tiny: self-contained external, size-minimized, statically linked.
  • framework-ext: self-contained external, fully loaded, built as a framework (dynamically linked).
  • framework-pkg: package-structure, Python.framework is in the support folder of the package with the py and pyjs externals linked to it.
  • homebrew-ext: self-contained external, fully loaded, built as a framework, (dynamically linked) but smaller than framework-ext.
  • homebrew-pkg: package-structure, Python.framework is in the support folder of the package with the py and pyjs externals linked to it (smaller than framework-pkg).

Variants which embed numpy have the -np suffix in their name:

In this case, the provided example of using numpy to read/write Max buffer~ objects will likely be useful:

py-js/patchers/tests/test_api/test_api_buffer_np.maxpat

Changelog

Coming relatively soon after the prior 0.2.6 release, it only includes the following bug fixes, changes and enhancements:

  • Added support for Python 3.13.x

  • Added make install-numpy for automatically building and adding a shrunk version of numpy to the previously built external or package