diff --git a/.gitpod.yml b/.gitpod.yml index 529d44f..151b053 100644 --- a/.gitpod.yml +++ b/.gitpod.yml @@ -7,7 +7,7 @@ tasks: conda env create -f environment.yml conda activate pyodide-env - pip install git+https://github.com/pyodide/pyodide.git@main#subdirectory=pyodide-build + pip install git+https://github.com/pyodide/pyodide-build.git pyodide xbuildenv install --download --url http://pyodide-cache.s3-website-us-east-1.amazonaws.com/xbuildenv/dev/xbuildenv.tar.bz2 EMSCRIPTEN_VERSION=$(pyodide config get emscripten_version) diff --git a/packages/Cartopy/meta.yaml b/packages/Cartopy/meta.yaml index 9b23bab..8928d76 100644 --- a/packages/Cartopy/meta.yaml +++ b/packages/Cartopy/meta.yaml @@ -24,7 +24,6 @@ requirements: - matplotlib - scipy - build: vendor-sharedlib: true script: | @@ -35,4 +34,4 @@ about: home: http://scitools.org.uk/cartopy PyPI: https://pypi.org/project/Cartopy/ summary: A library providing cartographic tools for python - license: LGPL-3.0-or-later + license: LGPL-3.0+ diff --git a/packages/Pygments/meta.yaml b/packages/Pygments/meta.yaml index fe2ec00..005ca9a 100644 --- a/packages/Pygments/meta.yaml +++ b/packages/Pygments/meta.yaml @@ -10,4 +10,4 @@ about: home: https://pygments.org/ PyPI: https://pypi.org/project/Pygments summary: Pygments is a syntax highlighting package written in Python. - license: BSD License + license: BSD-2-Clause diff --git a/packages/RobotRaconteur/meta.yaml b/packages/RobotRaconteur/meta.yaml index 7ddd2a6..874bc4e 100644 --- a/packages/RobotRaconteur/meta.yaml +++ b/packages/RobotRaconteur/meta.yaml @@ -54,3 +54,6 @@ build: $WASM_LIBRARY_DIR/lib/libboost_regex.a \ $WASM_LIBRARY_DIR/lib/libboost_system.a \ -o out/Python3/RobotRaconteur/_RobotRaconteurPython.so +about: + home: https://github.com/robotraconteur/robotraconteur + license: Apache-2.0 diff --git a/packages/affine/meta.yaml b/packages/affine/meta.yaml index 4bb231b..dc4a9fe 100644 --- a/packages/affine/meta.yaml +++ b/packages/affine/meta.yaml @@ -7,10 +7,10 @@ source: url: https://files.pythonhosted.org/packages/0b/f7/85273299ab57117850cc0a936c64151171fac4da49bc6fba0dad984a7c5f/affine-2.4.0-py3-none-any.whl sha256: 8a3df80e2b2378aef598a83c1392efd47967afec4242021a0b06b4c7cbc61a92 about: - home: "" + home: https://github.com/rasterio/affine PyPI: https://pypi.org/project/affine summary: Matrices describing affine transformation of the plane - license: "" + license: BSD-3-Clause extra: recipe-maintainers: - kjmalek diff --git a/packages/aiohttp/meta.yaml b/packages/aiohttp/meta.yaml index b135a9e..9bb6e20 100644 --- a/packages/aiohttp/meta.yaml +++ b/packages/aiohttp/meta.yaml @@ -21,4 +21,4 @@ about: home: https://github.com/aio-libs/aiohttp PyPI: https://pypi.org/project/aiohttp summary: Async http client/server framework (asyncio) - license: Apache 2 + license: Apache-2.0 diff --git a/packages/aiosignal/meta.yaml b/packages/aiosignal/meta.yaml index 361cf17..3c5911a 100644 --- a/packages/aiosignal/meta.yaml +++ b/packages/aiosignal/meta.yaml @@ -15,4 +15,4 @@ about: home: https://github.com/aio-libs/aiosignal PyPI: https://pypi.org/project/aiosignal summary: "aiosignal: a list of registered asynchronous callbacks" - license: Apache 2.0 + license: Apache-2.0 diff --git a/packages/altair/meta.yaml b/packages/altair/meta.yaml index 9189513..ff8b2ef 100644 --- a/packages/altair/meta.yaml +++ b/packages/altair/meta.yaml @@ -7,10 +7,10 @@ source: url: https://files.pythonhosted.org/packages/46/30/2118537233fa72c1d91a81f5908a7e843a6601ccc68b76838ebc4951505f/altair-5.3.0-py3-none-any.whl sha256: 7084a1dab4d83c5e7e5246b92dc1b4451a6c68fd057f3716ee9d315c8980e59a about: - home: + home: https://altair-viz.github.io/ PyPI: https://pypi.org/project/altair summary: "Vega-Altair: A declarative statistical visualization library for Python." - license: + license: BSD-3-Clause extra: recipe-maintainers: - joelostblom diff --git a/packages/annotated-types/meta.yaml b/packages/annotated-types/meta.yaml index dcbe5a8..fb6ee40 100644 --- a/packages/annotated-types/meta.yaml +++ b/packages/annotated-types/meta.yaml @@ -7,7 +7,7 @@ source: url: https://files.pythonhosted.org/packages/28/78/d31230046e58c207284c6b2c4e8d96e6d3cb4e52354721b944d3e1ee4aa5/annotated_types-0.6.0-py3-none-any.whl sha256: 0641064de18ba7a25dee8f96403ebc39113d0cb953a01429249d5c7564666a43 about: - home: "" + home: https://github.com/annotated-types/annotated-types PyPI: https://pypi.org/project/annotated-types summary: Reusable constraint types to use with typing.Annotated - license: "" + license: MIT diff --git a/packages/arro3-compute/meta.yaml b/packages/arro3-compute/meta.yaml new file mode 100644 index 0000000..b83fce4 --- /dev/null +++ b/packages/arro3-compute/meta.yaml @@ -0,0 +1,20 @@ +package: + name: arro3-compute + version: 0.4.1 + top-level: + - "arro3.compute" +source: + url: https://github.com/kylebarron/arro3/releases/download/py-v0.4.1/arro3_compute-0.4.1-cp312-cp312-emscripten_3_1_58_wasm32.whl + sha256: 4501c0e9814a03e06e66988aab3bdb25d46594b6693d907158b67311ab29d7df +requirements: + run: + - arro3-core +extra: + recipe-maintainers: + - kylebarron + +about: + home: https://github.com/kylebarron/arro3 + PyPI: https://pypi.org/project/arro3-compute + summary: Compute kernels for Apache Arrow memory. + license: MIT diff --git a/packages/arro3-core/meta.yaml b/packages/arro3-core/meta.yaml new file mode 100644 index 0000000..1faaa58 --- /dev/null +++ b/packages/arro3-core/meta.yaml @@ -0,0 +1,17 @@ +package: + name: arro3-core + version: 0.4.1 + top-level: + - "arro3.core" +source: + url: https://github.com/kylebarron/arro3/releases/download/py-v0.4.1/arro3_core-0.4.1-cp312-cp312-emscripten_3_1_58_wasm32.whl + sha256: ea1ff02a0dd67129ba9dc81dde85415029cdc61c4172790857189328167c6be3 +extra: + recipe-maintainers: + - kylebarron + +about: + home: https://github.com/kylebarron/arro3 + PyPI: https://pypi.org/project/arro3-core + summary: A minimal Python library for Apache Arrow, connecting to the Rust arrow crate + license: MIT diff --git a/packages/arro3-core/test_arro3_core.py b/packages/arro3-core/test_arro3_core.py new file mode 100644 index 0000000..2ad4af6 --- /dev/null +++ b/packages/arro3-core/test_arro3_core.py @@ -0,0 +1,8 @@ +from pytest_pyodide import run_in_pyodide + + +@run_in_pyodide(packages=["arro3-core"]) +def test_read_write_parquet(selenium): + from arro3.core import Array, DataType + + Array([1, 2, 3], DataType.int64()) diff --git a/packages/arro3-io/meta.yaml b/packages/arro3-io/meta.yaml new file mode 100644 index 0000000..3cc3e9d --- /dev/null +++ b/packages/arro3-io/meta.yaml @@ -0,0 +1,20 @@ +package: + name: arro3-io + version: 0.4.1 + top-level: + - "arro3.io" +source: + url: https://github.com/kylebarron/arro3/releases/download/py-v0.4.1/arro3_io-0.4.1-cp312-cp312-emscripten_3_1_58_wasm32.whl + sha256: bf290dd5950603ae45e66a4d85747c1c53c373d0c2c7b7fe4293d6e283dfb8f1 +requirements: + run: + - arro3-core +extra: + recipe-maintainers: + - kylebarron + +about: + home: https://github.com/kylebarron/arro3 + PyPI: https://pypi.org/project/arro3-io + summary: Read and write tabular data formats to and from Apache Arrow. + license: MIT diff --git a/packages/astropy/meta.yaml b/packages/astropy/meta.yaml index ddfc50b..3f9cb90 100644 --- a/packages/astropy/meta.yaml +++ b/packages/astropy/meta.yaml @@ -49,7 +49,7 @@ about: home: http://astropy.org PyPI: https://pypi.org/project/astropy summary: Astronomy and astrophysics core library - license: BSD 3-Clause License + license: BSD-3-Clause extra: recipe-maintainers: - jobovy diff --git a/packages/astropy_iers_data/meta.yaml b/packages/astropy_iers_data/meta.yaml index 4a93bdd..7d51a66 100644 --- a/packages/astropy_iers_data/meta.yaml +++ b/packages/astropy_iers_data/meta.yaml @@ -10,23 +10,4 @@ about: home: "" PyPI: https://pypi.org/project/astropy_iers_data summary: IERS Earth Rotation and Leap Second tables for the astropy core package - license: - 'Copyright (c) 2023, Astropy Developers All rights reserved. Redistribution - and use in source and binary forms, with or without modification, are permitted - provided that the following conditions are met: * Redistributions of source code - must retain the above copyright notice, this list of conditions and the following - disclaimer. * Redistributions in binary form must reproduce the above copyright - notice, this list of conditions and the following disclaimer in the documentation - and/or other materials provided with the distribution. * Neither the name of the - Astropy Team nor the names of its contributors may be used to endorse or promote - products derived from this software without specific prior written permission. THIS - SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY - EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES - OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO - EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, - INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED - TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; - OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER - IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING - IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY - OF SUCH DAMAGE. ' + license: BSD-3-Clause diff --git a/packages/asttokens/meta.yaml b/packages/asttokens/meta.yaml index fcefde3..2a58ded 100644 --- a/packages/asttokens/meta.yaml +++ b/packages/asttokens/meta.yaml @@ -13,4 +13,4 @@ about: home: https://github.com/gristlabs/asttokens PyPI: https://pypi.org/project/asttokens summary: Annotate AST trees with source code positions - license: Apache 2.0 + license: Apache-2.0 diff --git a/packages/async-timeout/meta.yaml b/packages/async-timeout/meta.yaml index b01e1da..84a9a3e 100644 --- a/packages/async-timeout/meta.yaml +++ b/packages/async-timeout/meta.yaml @@ -10,4 +10,4 @@ about: home: https://github.com/aio-libs/async-timeout PyPI: https://pypi.org/project/async-timeout summary: Timeout context manager for asyncio programs - license: Apache 2 + license: Apache-2.0 diff --git a/packages/awkward-cpp/meta.yaml b/packages/awkward-cpp/meta.yaml index e1a6fe4..d5bbf27 100644 --- a/packages/awkward-cpp/meta.yaml +++ b/packages/awkward-cpp/meta.yaml @@ -1,12 +1,12 @@ package: name: awkward-cpp - version: "37" + version: "39" top-level: - awkward_cpp source: - url: https://files.pythonhosted.org/packages/3d/40/fa115d845bfd9bb0b69646a2f1f2321fee3bd82cc286eaa202cb5179fbf5/awkward_cpp-37.tar.gz - sha256: 6dff5fce4afcadb492bbf7cb20908572d99bdc32aa2bea8681bacfb69b2aa86d + url: https://files.pythonhosted.org/packages/6e/57/972e2a808c197d9331a129d0e749b3d6d5c39b5d175a047dbf6254a9b1a5/awkward_cpp-39.tar.gz + sha256: 61da001199ea2094484e28ca074591d2ec660f117e9a97ab89e60da405272385 build: exports: requested diff --git a/packages/b2d/meta.yaml b/packages/b2d/meta.yaml index 2d54a36..ddaf368 100644 --- a/packages/b2d/meta.yaml +++ b/packages/b2d/meta.yaml @@ -19,6 +19,9 @@ test: imports: - b2d - b2d.testbed +about: + home: https://github.com/pyb2d/pyb2d + license: MIT extra: recipe-maintainers: - DerThorsten diff --git a/packages/bcrypt/meta.yaml b/packages/bcrypt/meta.yaml index 91af04f..8095686 100644 --- a/packages/bcrypt/meta.yaml +++ b/packages/bcrypt/meta.yaml @@ -13,4 +13,4 @@ about: home: https://github.com/pyca/bcrypt/ PyPI: https://pypi.org/project/bcrypt summary: Modern password hashing for your software and your servers - license: Apache License, Version 2.0 + license: Apache-2.0 diff --git a/packages/biopython/meta.yaml b/packages/biopython/meta.yaml index d8020a4..b78236a 100644 --- a/packages/biopython/meta.yaml +++ b/packages/biopython/meta.yaml @@ -16,3 +16,4 @@ about: home: https://biopython.org/ PyPI: https://pypi.org/project/biopython summary: Freely available tools for computational molecular biology. + license: Biopython diff --git a/packages/bitstring/meta.yaml b/packages/bitstring/meta.yaml index 2acde68..fc0d97d 100644 --- a/packages/bitstring/meta.yaml +++ b/packages/bitstring/meta.yaml @@ -10,7 +10,7 @@ requirements: run: - bitarray about: - home: "" + home: https://github.com/scott-griffiths/bitstring PyPI: https://pypi.org/project/bitstring summary: Simple construction, analysis and modification of binary data. - license: "" + license: MIT diff --git a/packages/bleach/meta.yaml b/packages/bleach/meta.yaml index c107ccf..72b5f32 100644 --- a/packages/bleach/meta.yaml +++ b/packages/bleach/meta.yaml @@ -15,4 +15,4 @@ about: home: https://github.com/mozilla/bleach PyPI: https://pypi.org/project/bleach summary: An easy safelist-based HTML-sanitizing tool. - license: Apache Software License + license: Apache-2.0 diff --git a/packages/bokeh/meta.yaml b/packages/bokeh/meta.yaml index 6c215fb..a949d05 100644 --- a/packages/bokeh/meta.yaml +++ b/packages/bokeh/meta.yaml @@ -1,6 +1,6 @@ package: name: bokeh - version: 3.4.2 + version: 3.6.0 top-level: - bokeh requirements: @@ -16,8 +16,8 @@ requirements: - pyyaml - xyzservices source: - sha256: a16d5cc0abb93d2d270d70fc35851f3e1b9208814a985a4678e0ba5ef2d9cd42 - url: https://files.pythonhosted.org/packages/d4/91/df53287e2f34c7cd6262b3b31c4dd4d274c78b7ece20cf0736bc4a21ab85/bokeh-3.4.2.tar.gz + sha256: 0032dc1e76ad097b07626e51584685ff48c65481fbaaad105663b1046165867a + url: https://files.pythonhosted.org/packages/0a/80/99ea2e9c63c9f3994ec2ff2451720de533c0b88565cb12c1a45a18556518/bokeh-3.6.0.tar.gz about: home: https://github.com/bokeh/bokeh PyPI: https://pypi.org/project/bokeh diff --git a/packages/boost-cpp/meta.yaml b/packages/boost-cpp/meta.yaml index 63c776d..db4f287 100644 --- a/packages/boost-cpp/meta.yaml +++ b/packages/boost-cpp/meta.yaml @@ -3,6 +3,7 @@ package: version: 1.84.0 tag: - library + - static_library source: url: https://github.com/boostorg/boost/releases/download/boost-1.84.0/boost-1.84.0.tar.gz sha256: 4d27e9efed0f6f152dc28db6430b9d3dfb40c0345da7342eaa5a987dde57bd95 @@ -30,6 +31,7 @@ build: about: home: https://www.boost.org/ summary: Free peer-reviewed portable C++ source libraries. + license: Boost extra: recipe-maintainers: - johnwason diff --git a/packages/boost-histogram/meta.yaml b/packages/boost-histogram/meta.yaml index b5d87fe..a2803dc 100644 --- a/packages/boost-histogram/meta.yaml +++ b/packages/boost-histogram/meta.yaml @@ -1,17 +1,14 @@ package: name: boost-histogram - version: 1.4.1 + version: 1.5.0 top-level: - boost_histogram source: - url: https://files.pythonhosted.org/packages/60/68/a901fa3287fe62bde47e3936081286b6588b55f89bbcb9984be519414551/boost_histogram-1.4.1.tar.gz - sha256: 97146f735f467d506976a047f3f237ce59840a952fd231f5f431f897fb006cdd + url: https://files.pythonhosted.org/packages/8d/51/96712ed4e1d64618d3e76aac2d1f96e2f4856120012f0dad51adf42c78e4/boost_histogram-1.5.0.tar.gz + sha256: 0623f010e6c52e5d018767723959686090db07fc30f0d1d8475b5d663c5ddb2c requirements: run: - numpy # runtime only -build: - cxxflags: -fexceptions - ldflags: -fexceptions about: home: https://github.com/scikit-hep/boost-histogram PyPI: https://pypi.org/project/boost-histogram diff --git a/packages/buffer-test/buffer-test/buffer-test.c b/packages/buffer-test/buffer-test/buffer-test.c new file mode 100644 index 0000000..be513ee --- /dev/null +++ b/packages/buffer-test/buffer-test/buffer-test.c @@ -0,0 +1,98 @@ +#define PY_SSIZE_T_CLEAN +#include + +// clang-format off +typedef struct +{ + PyObject_HEAD + Py_ssize_t byteLength; // invariant: byteLength should be equal to length * itemsize + Py_ssize_t length; + char data[16]; + char format[2]; + Py_ssize_t itemsize; +} ZeroDBufferObject; +// clang-format on + +static int +ZeroDBuffer_init(PyObject* o, PyObject* args, PyObject* kwds) +{ + ZeroDBufferObject* self = (ZeroDBufferObject*)o; + Py_buffer buf; + int fmt; + if (!PyArg_ParseTuple(args, "Cy*", &fmt, &buf)) { + return -1; + } + for (int i = 0; i < buf.len && i < 16; i++) { + self->data[i] = ((char*)buf.buf)[i]; + } + self->itemsize = buf.len; + PyBuffer_Release(&buf); + self->format[0] = fmt; + self->format[1] = 0; + return 0; +} + +static void +ZeroDBuffer_dealloc(PyObject* self) +{ +} + +static int +ZeroDBuffer_GetBuffer(PyObject* obj, Py_buffer* view, int flags) +{ + ZeroDBufferObject* self = (ZeroDBufferObject*)obj; + view->obj = NULL; + // This gets decremented automatically by PyBuffer_Release (even though + // bf_releasebuffer is NULL) + Py_INCREF(self); + + view->buf = &self->data; + view->obj = (PyObject*)self; + view->len = 1; + view->readonly = 0; + view->itemsize = self->itemsize; + view->format = self->format; + view->ndim = 0; + view->shape = NULL; + view->strides = NULL; + view->suboffsets = NULL; + + return 0; +} + +static PyBufferProcs ZeroDBuffer_BufferProcs = { + .bf_getbuffer = ZeroDBuffer_GetBuffer, + .bf_releasebuffer = NULL, +}; + +static PyTypeObject ZeroDBufferType = { + .tp_name = "ZeroDBuffer", + .tp_basicsize = sizeof(ZeroDBufferObject), + .tp_dealloc = ZeroDBuffer_dealloc, + .tp_as_buffer = &ZeroDBuffer_BufferProcs, + .tp_flags = Py_TPFLAGS_DEFAULT, + .tp_doc = PyDoc_STR("An internal helper buffer"), + .tp_init = ZeroDBuffer_init, + .tp_new = PyType_GenericNew, +}; + +static struct PyModuleDef module = { + PyModuleDef_HEAD_INIT, + "buffer_test", /* name of module */ + "Tests for buffers", /* module documentation, may be NULL */ + -1, /* size of per-interpreter state of the module, + or -1 if the module keeps state in global variables. */ +}; + +PyMODINIT_FUNC +PyInit_buffer_test(void) +{ + PyObject* module_object = PyModule_Create(&module); + if (module_object == NULL) { + return NULL; + } + if (PyModule_AddType(module_object, &ZeroDBufferType) == -1) { + return NULL; + } + return module_object; +} diff --git a/packages/buffer-test/buffer-test/setup.py b/packages/buffer-test/buffer-test/setup.py new file mode 100644 index 0000000..077306d --- /dev/null +++ b/packages/buffer-test/buffer-test/setup.py @@ -0,0 +1,16 @@ +from setuptools import Extension, setup + +setup( + name="buffer-test", + version="0.1.1", + author="Hood Chatham", + author_email="roberthoodchatham@gmail.com", + description="Test Python buffers", + long_description_content_type="text/markdown", + classifiers=[ + "Programming Language :: Python :: 3", + "License :: OSI Approved :: MIT License", + "Operating System :: OS Independent", + ], + ext_modules=[Extension("buffer_test", ["buffer-test.c"])], +) diff --git a/packages/buffer-test/meta.yaml b/packages/buffer-test/meta.yaml new file mode 100644 index 0000000..353867f --- /dev/null +++ b/packages/buffer-test/meta.yaml @@ -0,0 +1,10 @@ +package: + name: buffer-test + version: "0.1.1" + tag: + - core + - pyodide.test + top-level: + - buffer_test +source: + path: buffer-test diff --git a/packages/buffer-test/test_buffer.py b/packages/buffer-test/test_buffer.py new file mode 100644 index 0000000..d917289 --- /dev/null +++ b/packages/buffer-test/test_buffer.py @@ -0,0 +1,94 @@ +import pytest +from pytest_pyodide import run_in_pyodide + + +@pytest.mark.requires_dynamic_linking +@run_in_pyodide(packages=["buffer-test"]) +def test_zerod_buffers(selenium): + from buffer_test import ZeroDBuffer + + from pyodide.ffi import to_js + + int8Buf = ZeroDBuffer("b", bytes([((~18) & 255) + 1])) + jsInt8Buf = to_js(int8Buf) + assert jsInt8Buf.constructor.name == "Int8Array" + assert jsInt8Buf.length == 1 + assert jsInt8Buf.byteLength == 1 + assert jsInt8Buf[0] == -18 + + uint8Buf = ZeroDBuffer("B", bytes([130])) + jsUint8Buf = to_js(uint8Buf) + assert jsUint8Buf.constructor.name == "Uint8Array" + assert jsUint8Buf.length == 1 + assert jsUint8Buf.byteLength == 1 + assert jsUint8Buf[0] == 130 + + int16Buf = ZeroDBuffer("h", bytes([18, 2])) + jsInt16Buf = to_js(int16Buf) + assert jsInt16Buf.constructor.name == "Int16Array" + assert jsInt16Buf.length == 1 + assert jsInt16Buf.byteLength == 2 + assert jsInt16Buf[0] == 18 + 2 * 256 + + uint16Buf = ZeroDBuffer("H", bytes([18, 2])) + jsUint16Buf = to_js(uint16Buf) + assert jsUint16Buf.constructor.name == "Uint16Array" + assert jsUint16Buf.length == 1 + assert jsUint16Buf.byteLength == 2 + assert jsUint16Buf[0] == 18 + 2 * 256 + + int32Buf = ZeroDBuffer("i", bytes([18, 2, 0, 1])) + jsInt32Buf = to_js(int32Buf) + assert jsInt32Buf.constructor.name == "Int32Array" + assert jsInt32Buf.length == 1 + assert jsInt32Buf.byteLength == 4 + assert jsInt32Buf[0] == 18 + 2 * 256 + 1 * 256 * 256 * 256 + + uint32Buf = ZeroDBuffer("I", bytes([18, 2, 0, 1])) + jsUint32Buf = to_js(uint32Buf) + assert jsUint32Buf.constructor.name == "Uint32Array" + assert jsUint32Buf.length == 1 + assert jsUint32Buf.byteLength == 4 + assert jsUint32Buf[0] == 18 + 2 * 256 + 1 * 256 * 256 * 256 + + int64Buf = ZeroDBuffer("q", bytes([18, 2, 0, 1, 0, 0, 0, 1])) + jsInt64Buf = to_js(int64Buf) + assert jsInt64Buf.constructor.name == "BigInt64Array" + assert jsInt64Buf.length == 1 + assert jsInt64Buf.byteLength == 8 + assert jsInt64Buf[0] == 18 + 2 * 256 + 1 * 256 * 256 * 256 + pow(256, 7) + + uint64Buf = ZeroDBuffer("Q", bytes([18, 2, 0, 1, 0, 0, 0, 1])) + jsUint64Buf = to_js(uint64Buf) + assert jsUint64Buf.constructor.name == "BigUint64Array" + assert jsUint64Buf.length == 1 + assert jsUint64Buf.byteLength == 8 + assert jsUint64Buf[0] == 18 + 2 * 256 + 1 * 256 * 256 * 256 + pow(256, 7) + + float32Buf = ZeroDBuffer("f", bytes([0, 0, 224, 64])) + jsFloat32Buf = to_js(float32Buf) + assert jsFloat32Buf.constructor.name == "Float32Array" + assert jsFloat32Buf.length == 1 + assert jsFloat32Buf.byteLength == 4 + assert jsFloat32Buf[0] == 7 + + float64Buf = ZeroDBuffer("d", bytes([0, 0, 0, 0, 0, 0, 28, 64])) + jsFloat64Buf = to_js(float64Buf) + assert jsFloat64Buf.constructor.name == "Float64Array" + assert jsFloat64Buf.length == 1 + assert jsFloat64Buf.byteLength == 8 + assert jsFloat64Buf[0] == 7 + + # Attempt to convert float16 array should fail with a ConversionError + float16Buf = ZeroDBuffer("e", bytes([0, 71])) + err = None + try: + to_js(float16Buf) + except Exception as e: + err = e + + assert err + try: + assert str(err.__cause__) == "Error: Javascript has no Float16 support." + finally: + del err diff --git a/packages/casadi/meta.yaml b/packages/casadi/meta.yaml index 90508a0..06f8de6 100644 --- a/packages/casadi/meta.yaml +++ b/packages/casadi/meta.yaml @@ -1,22 +1,14 @@ package: name: casadi - version: 3.6.5 + version: 3.6.6 top-level: - casadi source: - url: https://files.pythonhosted.org/packages/5a/97/ca40c4d7d36162ddfd0bb96a89206469a95b925faf67046ba6e4b5b78283/casadi-3.6.5.tar.gz - sha256: 409a5f6725eadea40fddfb8ba2321139b5252edac8bc115a72f68e648631d56a - patches: - - patches/0001-fix-python-include-dir.patch # can be removed with version 3.6.6 - - patches/0002-disable-size-max-check.patch # https://github.com/casadi/casadi/pull/3785 - - patches/0003-disable-rtld_deepbind.patch # https://github.com/casadi/casadi/pull/3785 + url: https://files.pythonhosted.org/packages/f2/d4/1d54b291225d3ada8bc149726bcb8480a56155430c86a2b03a9210048b3a/casadi-3.6.6.tar.gz + sha256: 104601d37ab7ebf897bce7e097823bb090dd7629a7cc4c2e76780f46fc0e59f6 requirements: - host: - - numpy run: - numpy - - python-dateutil - - pytz build: exports: requested cflags: | @@ -29,7 +21,7 @@ about: home: http://casadi.org PyPI: https://pypi.org/project/casadi summary: CasADi -- framework for algorithmic differentiation and numeric optimization - license: GNU Lesser General Public License v3 or later (LGPLv3+) + license: LGPL-3.0+ extra: recipe-maintainers: - agriyakhetarpal diff --git a/packages/casadi/patches/0001-fix-python-include-dir.patch b/packages/casadi/patches/0001-fix-python-include-dir.patch deleted file mode 100644 index 47be89e..0000000 --- a/packages/casadi/patches/0001-fix-python-include-dir.patch +++ /dev/null @@ -1,41 +0,0 @@ -From 6241d84b52702ad9535781e0a8f4eea130323fd4 Mon Sep 17 00:00:00 2001 -From: Agriya Khetarpal <74401230+agriyakhetarpal@users.noreply.github.com> -Date: Thu, 18 Jul 2024 02:08:07 +0530 -Subject: [PATCH 1/3] Fix the location of the Python include directory - -CasADi's setup code used an incorrect location for the Python include -directory via the use of self.include_dirs[0], which isn't guaranteed -to return the correct interpreter used during compilation. This patch -replaces it with sysconfig.get_path('include'). - -This patch can be safely removed when the next release of CasADi comes -out, i.e., version 3.6.6. The relevant PR is -https://github.com/casadi/casadi/pull/3759 - ---- - setup.py | 3 ++- - 1 file changed, 2 insertions(+), 1 deletion(-) - -diff --git a/setup.py b/setup.py -index d7506513..42b8affb 100644 ---- a/setup.py -+++ b/setup.py -@@ -6,6 +6,7 @@ import subprocess - import pathlib - import multiprocessing - from io import open -+import sysconfig - - from setuptools import setup, Extension - from setuptools.command.build_ext import build_ext -@@ -47,7 +48,7 @@ class CMakeBuild(build_ext): - '-DSWIG_IMPORT=ON', - '-DWITH_PYTHON=ON', - '-DWITH_EXAMPLES=OFF', -- '-DPYTHON_INCLUDE_DIR=' + self.include_dirs[0], -+ '-DPYTHON_INCLUDE_DIR=' + sysconfig.get_path('include'), - '-DCMAKE_INSTALL_PREFIX=' + extdir, - '-DWITH_SELFCONTAINED=ON', - '-DWITH_DEEPBIND=ON' --- -2.39.3 (Apple Git-146) diff --git a/packages/casadi/patches/0002-disable-size-max-check.patch b/packages/casadi/patches/0002-disable-size-max-check.patch deleted file mode 100644 index b29fc12..0000000 --- a/packages/casadi/patches/0002-disable-size-max-check.patch +++ /dev/null @@ -1,68 +0,0 @@ -From 0577d6e0b0dc5bf127b1041018cfb41137d9f39c Mon Sep 17 00:00:00 2001 -From: Agriya Khetarpal <74401230+agriyakhetarpal@users.noreply.github.com> -Date: Fri, 2 Aug 2024 23:05:20 +0530 -Subject: [PATCH 2/3] Remove size max check - -In WebAssembly (currently 32-bit), SIZE_MAX is equal to UINT_MAX, which meant -these functions weren't being compiled, so there was no way to serialize or -deserialize unsigned int values, leading to compile errors when these functions -were called elsewhere. This patch removes the check for SIZE_MAX != UINT_MAX. - -This patch can be revisited after the upstream PR is resolved: -https://github.com/casadi/casadi/pull/3785 - ---- - casadi/core/serializing_stream.cpp | 2 -- - casadi/core/serializing_stream.hpp | 7 +++---- - 2 files changed, 3 insertions(+), 6 deletions(-) - -diff --git a/casadi/core/serializing_stream.cpp b/casadi/core/serializing_stream.cpp -index f3101f84e..e68caaf5c 100644 ---- a/casadi/core/serializing_stream.cpp -+++ b/casadi/core/serializing_stream.cpp -@@ -155,7 +155,6 @@ namespace casadi { - for (int j=0;j<4;++j) pack(c[j]); - } - --#if SIZE_MAX != UINT_MAX - void DeserializingStream::unpack(unsigned int& e) { - assert_decoration('u'); - uint32_t n; -@@ -171,7 +170,6 @@ namespace casadi { - const char* c = reinterpret_cast(&n); - for (int j=0;j<4;++j) pack(c[j]); - } --#endif - - void DeserializingStream::unpack(bool& e) { - assert_decoration('b'); -diff --git a/casadi/core/serializing_stream.hpp b/casadi/core/serializing_stream.hpp -index 47070d0e6..81c8d56bd 100644 ---- a/casadi/core/serializing_stream.hpp -+++ b/casadi/core/serializing_stream.hpp -@@ -99,9 +99,8 @@ namespace casadi { - void unpack(Slice& e); - void unpack(int& e); - --#if SIZE_MAX != UINT_MAX - void unpack(unsigned int& e); --#endif -+ - void unpack(bool& e); - void unpack(casadi_int& e); - void unpack(size_t& e); -@@ -236,9 +235,9 @@ namespace casadi { - void pack(const GenericType& e); - void pack(std::istream& s); - void pack(int e); --#if SIZE_MAX != UINT_MAX -+ - void pack(unsigned int e); --#endif -+ - void pack(bool e); - void pack(casadi_int e); - void pack(size_t e); --- -2.39.3 (Apple Git-146) - diff --git a/packages/casadi/patches/0003-disable-rtld_deepbind.patch b/packages/casadi/patches/0003-disable-rtld_deepbind.patch deleted file mode 100644 index dd96c67..0000000 --- a/packages/casadi/patches/0003-disable-rtld_deepbind.patch +++ /dev/null @@ -1,34 +0,0 @@ -From 6c9443c0c1694600927dca29373d29fb741581f2 Mon Sep 17 00:00:00 2001 -From: Agriya Khetarpal <74401230+agriyakhetarpal@users.noreply.github.com> -Date: Thu, 18 Jul 2024 02:08:07 +0530 -Subject: [PATCH 3/3] Disable RTLD_DEEPBIND for Emscripten - -RTLD_DEEPBIND gives symbol resolution preference to the loaded library -over the global scope, it's usually used to avoid symbol collision. However, -WebAssembly handles internal symbol resolution differently, and the flag is -is used on Linux systems and does not necessarily translate to other platforms -such as Emscripten. - -This can be revisited after the upstream PR is resolved: -https://github.com/casadi/casadi/pull/3785 - ---- - casadi/core/casadi_os.cpp | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/casadi/core/casadi_os.cpp b/casadi/core/casadi_os.cpp -index d4718504..f285139c 100644 ---- a/casadi/core/casadi_os.cpp -+++ b/casadi/core/casadi_os.cpp -@@ -115,7 +115,7 @@ handle_t open_shared_library(const std::string& lib, const std::vector -Date: Thu, 15 Aug 2024 17:00:00 +0530 -Subject: [PATCH] Set `PYBIND11_FINDPYTHON` `ON` for `FindPython` - -Enables `PYBIND11_FINDPYTHON` for CMake's `FindPython` module to find the -Python interpreter and libraries. - -This can be removed when incorporating the next release for iminuit -which will have this enabled by default. - -Co-Authored-By: Henry Schreiner ---- - CMakeLists.txt | 1 + - 1 file changed, 1 insertion(+) - -diff --git a/CMakeLists.txt b/CMakeLists.txt -index b057ebe..bce4f2e 100644 ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -15,6 +15,7 @@ set(CMAKE_CXX_STANDARD - set(CMAKE_CXX_STANDARD_REQUIRED ON) # optional, ensure standard is supported - set(CMAKE_CXX_EXTENSIONS OFF) # optional, keep compiler extensionsn off - -+set(PYBIND11_FINDPYTHON ON) - find_package(pybind11 CONFIG REQUIRED) - - file(GLOB SOURCES_A "src/*.cpp") --- -2.39.3 (Apple Git-146) diff --git a/packages/iniconfig/meta.yaml b/packages/iniconfig/meta.yaml index 19bef97..df5819e 100644 --- a/packages/iniconfig/meta.yaml +++ b/packages/iniconfig/meta.yaml @@ -10,4 +10,4 @@ about: home: http://github.com/RonnyPfannschmidt/iniconfig PyPI: https://pypi.org/project/iniconfig summary: "iniconfig: brain-dead simple config-ini parsing" - license: MIT License + license: MIT diff --git a/packages/ipython/meta.yaml b/packages/ipython/meta.yaml index c3312d4..754012a 100644 --- a/packages/ipython/meta.yaml +++ b/packages/ipython/meta.yaml @@ -16,7 +16,7 @@ requirements: - pure_eval - Pygments - six - - stack_data + - stack-data - traitlets - sqlite3 - wcwidth diff --git a/packages/joblib/meta.yaml b/packages/joblib/meta.yaml index 5f6bebc..c702608 100644 --- a/packages/joblib/meta.yaml +++ b/packages/joblib/meta.yaml @@ -11,4 +11,4 @@ about: home: https://joblib.readthedocs.io PyPI: https://pypi.org/project/joblib summary: Lightweight pipelining with Python functions - license: BSD + license: BSD-3-Clause diff --git a/packages/kiwisolver/meta.yaml b/packages/kiwisolver/meta.yaml index f05036a..7822383 100644 --- a/packages/kiwisolver/meta.yaml +++ b/packages/kiwisolver/meta.yaml @@ -6,3 +6,6 @@ package: source: sha256: e57e563a57fb22a142da34f38acc2fc1a5c864bc29ca1517a88abc963e60d6ec url: https://files.pythonhosted.org/packages/b9/2d/226779e405724344fc678fcc025b812587617ea1a48b9442628b688e85ea/kiwisolver-1.4.5.tar.gz +about: + home: https://github.com/nucleic/kiwi + license: BSD-3-Clause diff --git a/packages/lazy_loader/meta.yaml b/packages/lazy_loader/meta.yaml index 1d286b8..74cd159 100644 --- a/packages/lazy_loader/meta.yaml +++ b/packages/lazy_loader/meta.yaml @@ -7,6 +7,7 @@ source: url: https://files.pythonhosted.org/packages/83/60/d497a310bde3f01cb805196ac61b7ad6dc5dcf8dce66634dc34364b20b4f/lazy_loader-0.4-py3-none-any.whl sha256: 342aa8e14d543a154047afb4ba8ef17f5563baad3fc610d7b15b213b0f119efc about: + home: https://scientific-python.org/specs/spec-0001/ PyPI: https://pypi.org/project/lazy_loader summary: lazy_loader - license: BSD + license: BSD-3-Clause diff --git a/packages/libcst/meta.yaml b/packages/libcst/meta.yaml index ba64863..08830f8 100644 --- a/packages/libcst/meta.yaml +++ b/packages/libcst/meta.yaml @@ -12,12 +12,7 @@ about: summary: A concrete syntax tree with AST-like properties for Python 3.0 through 3.12 programs. - license: - All contributions towards LibCST are MIT licensed. Some Python files have - been derived from the standard library and are therefore PSF licensed. Modifications - on these files are dual licensed (both MIT and PSF). Some Python files have been - taken from dataclasses and are therefore Apache licensed. Modifications on these - files are licensed under Apache 2.0 license. + license: Mixed, MIT, PSF, and Apache-2.0 extra: recipe-maintainers: - zsol diff --git a/packages/libde265/meta.yaml b/packages/libde265/meta.yaml index 629a5c7..0e0d413 100644 --- a/packages/libde265/meta.yaml +++ b/packages/libde265/meta.yaml @@ -3,6 +3,7 @@ package: version: 1.0.8 tag: - library + - static_library source: url: https://github.com/strukturag/libde265/releases/download/v1.0.8/libde265-1.0.8.tar.gz sha256: 24c791dd334fa521762320ff54f0febfd3c09fc978880a8c5fbc40a88f21d905 @@ -23,3 +24,6 @@ build: emmake make -j ${PYODIDE_JOBS:-3} emmake make install +about: + home: https://github.com/strukturag/libde265 + license: LGPL-3.0 diff --git a/packages/libf2c/meta.yaml b/packages/libf2c/meta.yaml index 0ae23ca..6ef4658 100644 --- a/packages/libf2c/meta.yaml +++ b/packages/libf2c/meta.yaml @@ -9,6 +9,7 @@ package: version: CLAPACK-3.2.1 tag: - library + - static_library source: sha256: 6dc4c382164beec8aaed8fd2acc36ad24232c406eda6db462bd4c41d5e455fac url: http://www.netlib.org/clapack/clapack.tgz @@ -41,3 +42,6 @@ build: mkdir -p ${WASM_LIBRARY_DIR}/{lib,include} cp INCLUDE/f2c.h ${WASM_LIBRARY_DIR}/include cp F2CLIBS/libf2c.a ${WASM_LIBRARY_DIR}/lib +about: + home: https://www.netlib.org/clapack/ + license: BSD-3-Clause diff --git a/packages/libgmp/meta.yaml b/packages/libgmp/meta.yaml index 8e20ea9..64e0666 100644 --- a/packages/libgmp/meta.yaml +++ b/packages/libgmp/meta.yaml @@ -3,6 +3,7 @@ package: version: 6.3.0 tag: - library + - static_library source: url: https://ftp.gnu.org/gnu/gmp/gmp-6.3.0.tar.xz sha256: a3c2b80201b89e68616f4ad30bc66aee4927c3ce50e33929ca819d5c43538898 @@ -20,3 +21,6 @@ build: --prefix=${WASM_LIBRARY_DIR} emmake make -j ${PYODIDE_JOBS:-3} emmake make install +about: + home: https://gmplib.org/ + license: GPL-2.0 OR LGPL-3.0 diff --git a/packages/libgsl/meta.yaml b/packages/libgsl/meta.yaml index 755f16b..c1ce049 100644 --- a/packages/libgsl/meta.yaml +++ b/packages/libgsl/meta.yaml @@ -3,6 +3,7 @@ package: version: "2.7" tag: - library + - static_library source: sha256: efbbf3785da0e53038be7907500628b466152dbc3c173a87de1b5eba2e23602b url: https://ftp.gnu.org/gnu/gsl/gsl-2.7.tar.gz @@ -16,3 +17,6 @@ build: --disable-shared emmake make -j ${PYODIDE_JOBS:-3} emmake make install +about: + home: https://www.gnu.org/software/gsl/ + license: GPL-3.0 diff --git a/packages/libhdf5/meta.yaml b/packages/libhdf5/meta.yaml index 0bdbf22..0fb1004 100644 --- a/packages/libhdf5/meta.yaml +++ b/packages/libhdf5/meta.yaml @@ -3,6 +3,7 @@ package: version: 1.12.1 tag: - library + - shared_library source: sha256: e6dde173c2d243551922d23a0387a79961205b018502e6a742acb30b61bc2d5f url: https://github.com/HDFGroup/hdf5/archive/refs/tags/hdf5-1_12_1.tar.gz @@ -51,3 +52,6 @@ build: emmake make -j ${PYODIDE_JOBS:-3} install cp -P ${WASM_LIBRARY_DIR}/lib/libhdf* ${DISTDIR} +about: + home: https://github.com/HDFGroup/hdf5 + license: BSD-3-Clause diff --git a/packages/libheif/meta.yaml b/packages/libheif/meta.yaml index 138b817..bcdb11f 100644 --- a/packages/libheif/meta.yaml +++ b/packages/libheif/meta.yaml @@ -3,6 +3,7 @@ package: version: 1.12.0 tag: - library + - shared_library source: url: https://github.com/strukturag/libheif/releases/download/v1.12.0/libheif-1.12.0.tar.gz sha256: e1ac2abb354fdc8ccdca71363ebad7503ad731c84022cf460837f0839e171718 @@ -29,3 +30,6 @@ build: emmake make -j ${PYODIDE_JOBS:-3} emmake make install cp ${WASM_LIBRARY_DIR}/lib/libheif.so ${DISTDIR} +about: + home: https://github.com/strukturag/libheif + license: LGPL-3.0 diff --git a/packages/libiconv/meta.yaml b/packages/libiconv/meta.yaml index 0eed91d..9bb60cd 100644 --- a/packages/libiconv/meta.yaml +++ b/packages/libiconv/meta.yaml @@ -3,6 +3,7 @@ package: version: "1.16" tag: - library + - static_library source: url: https://ftp.gnu.org/pub/gnu/libiconv/libiconv-1.16.tar.gz sha256: e6a1b1b589654277ee790cce3734f07876ac4ccfaecbee8afa0b649cf529cc04 @@ -18,3 +19,6 @@ build: emmake make -j ${PYODIDE_JOBS:-3} emmake make install +about: + home: https://www.gnu.org/software/libiconv/ + license: LGPL-2.1 diff --git a/packages/liblzma/meta.yaml b/packages/liblzma/meta.yaml index 785fb3a..83651a1 100644 --- a/packages/liblzma/meta.yaml +++ b/packages/liblzma/meta.yaml @@ -3,6 +3,7 @@ package: version: 5.2.2 tag: - library + - static_library source: url: https://github.com/xz-mirror/xz/releases/download/v5.2.2/xz-5.2.2.tar.gz sha256: 73df4d5d34f0468bd57d09f2d8af363e95ed6cc3a4a86129d2f2c366259902a2 @@ -25,3 +26,6 @@ build: emmake make -j ${PYODIDE_JOBS:-3} emmake make install +about: + home: https://github.com/tukaani-project/xz + license: BSD-0-Clause diff --git a/packages/libmagic/meta.yaml b/packages/libmagic/meta.yaml index 9b7e44a..f499392 100644 --- a/packages/libmagic/meta.yaml +++ b/packages/libmagic/meta.yaml @@ -3,6 +3,7 @@ package: version: "5.42" tag: - library + - shared_library source: url: https://github.com/file/file/archive/refs/tags/FILE5_42.tar.gz sha256: d7374d06451154a628831df58e835fa3263825d0ad593df0fb8a911418d27863 @@ -25,3 +26,6 @@ build: emmake make -j ${PYODIDE_JOBS:-3} libmagic.la \ LDFLAGS="-avoid-version -Xcompiler '${SIDE_MODULE_LDFLAGS}'" cp .libs/libmagic.so ${DISTDIR}/libmagic.so +about: + home: https://www.darwinsys.com/file/ + license: BSD-2-Clause diff --git a/packages/libmpc/meta.yaml b/packages/libmpc/meta.yaml index d123014..fa35e58 100644 --- a/packages/libmpc/meta.yaml +++ b/packages/libmpc/meta.yaml @@ -3,6 +3,7 @@ package: version: 1.3.1 tag: - library + - static_library source: url: https://ftp.gnu.org/gnu/mpc/mpc-1.3.1.tar.gz sha256: ab642492f5cf882b74aa0cb730cd410a81edcdbec895183ce930e706c1c759b8 @@ -23,3 +24,6 @@ build: --prefix=${WASM_LIBRARY_DIR} emmake make -j ${PYODIDE_JOBS:-3} emmake make install +about: + home: https://gitlab.inria.fr/mpc/mpc + license: MIT diff --git a/packages/libmpfr/meta.yaml b/packages/libmpfr/meta.yaml index 8dc06cb..58d3d50 100644 --- a/packages/libmpfr/meta.yaml +++ b/packages/libmpfr/meta.yaml @@ -3,6 +3,7 @@ package: version: 4.2.1 tag: - library + - static_library source: url: https://ftp.gnu.org/gnu/mpfr/mpfr-4.2.1.tar.xz sha256: 277807353a6726978996945af13e52829e3abd7a9a5b7fb2793894e18f1fcbb2 @@ -22,3 +23,6 @@ build: --prefix=${WASM_LIBRARY_DIR} emmake make -j ${PYODIDE_JOBS:-3} emmake make install +about: + home: https://www.mpfr.org/ + license: LGPL-3.0+ diff --git a/packages/libnetcdf/meta.yaml b/packages/libnetcdf/meta.yaml index 189f28f..f4d90ec 100644 --- a/packages/libnetcdf/meta.yaml +++ b/packages/libnetcdf/meta.yaml @@ -3,6 +3,7 @@ package: version: 4.9.2 tag: - library + - static_library source: sha256: bc104d101278c68b303359b3dc4192f81592ae8640f1aee486921138f7f88cb7 url: https://github.com/Unidata/netcdf-c/archive/refs/tags/v4.9.2.tar.gz @@ -45,3 +46,6 @@ build: emmake make -j ${PYODIDE_JOBS:-3} install cp -P ${WASM_LIBRARY_DIR}/lib/libnetcdf* ${DISTDIR} +about: + home: https://github.com/Unidata/netcdf-c + license: BSD-3-Clause diff --git a/packages/libproj/meta.yaml b/packages/libproj/meta.yaml index 6e5e6c6..c25ccae 100644 --- a/packages/libproj/meta.yaml +++ b/packages/libproj/meta.yaml @@ -3,6 +3,7 @@ package: version: 9.3.1 tag: - library + - static_library source: sha256: b0f919cb9e1f42f803a3e616c2b63a78e4d81ecfaed80978d570d3a5e29d10bc url: https://download.osgeo.org/proj/proj-9.3.1.tar.gz @@ -36,3 +37,6 @@ build: -DCMAKE_C_FLAGS="-fPIC" \ -DCMAKE_CXX_FLAGS="-fPIC"; emmake make -j ${PYODIDE_JOBS:-3} install; +about: + home: https://proj.org/en/9.5/ + license: MIT diff --git a/packages/libtiff/meta.yaml b/packages/libtiff/meta.yaml index bb1cb4d..738bf0c 100644 --- a/packages/libtiff/meta.yaml +++ b/packages/libtiff/meta.yaml @@ -3,6 +3,7 @@ package: version: 4.4.0 tag: - library + - static_library source: # TODO: The root certificate of `download.osgeo.org` has been expired and requires the latest version (2022.6.15) of certifi. # url: https://download.osgeo.org/libtiff/tiff-4.4.0.tar.gz @@ -19,3 +20,24 @@ build: --prefix=${WASM_LIBRARY_DIR} emmake make -j ${PYODIDE_JOBS:-3} emmake make install +about: + home: https://gitlab.com/libtiff/libtiff + license: > + Permission to use, copy, modify, distribute, and sell this software and its + documentation for any purpose is hereby granted without fee, provided that + (i) the above copyright notices and this permission notice appear in all + copies of the software and related documentation, and (ii) the names of Sam + Leffler and Silicon Graphics may not be used in any advertising or publicity + relating to the software without the specific, prior written permission of + Sam Leffler and Silicon Graphics. + + THE SOFTWARE IS PROVIDED "AS-IS" AND WITHOUT WARRANTY OF ANY KIND, EXPRESS, + IMPLIED OR OTHERWISE, INCLUDING WITHOUT LIMITATION, ANY WARRANTY OF + MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. + + IN NO EVENT SHALL SAM LEFFLER OR SILICON GRAPHICS BE LIABLE FOR ANY SPECIAL, + INCIDENTAL, INDIRECT OR CONSEQUENTIAL DAMAGES OF ANY KIND, OR ANY DAMAGES + WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER OR NOT + ADVISED OF THE POSSIBILITY OF DAMAGE, AND ON ANY THEORY OF LIABILITY, + ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS + SOFTWARE. diff --git a/packages/libwebp/meta.yaml b/packages/libwebp/meta.yaml index 1d141b6..4f02c4b 100644 --- a/packages/libwebp/meta.yaml +++ b/packages/libwebp/meta.yaml @@ -3,6 +3,7 @@ package: version: 1.2.2 tag: - library + - static_library source: url: https://github.com/webmproject/libwebp/archive/refs/tags/v1.2.2.tar.gz sha256: 51e9297aadb7d9eb99129fe0050f53a11fcce38a0848fb2b0389e385ad93695e @@ -26,3 +27,6 @@ build: ../ emmake make -j ${PYODIDE_JOBS:-3} emmake make install +about: + home: https://chromium.googlesource.com/webm/libwebp + license: BSD-3-Clause diff --git a/packages/libxml/meta.yaml b/packages/libxml/meta.yaml index 5005f6f..23f540e 100644 --- a/packages/libxml/meta.yaml +++ b/packages/libxml/meta.yaml @@ -3,6 +3,7 @@ package: version: 2.9.10 tag: - library + - static_library source: sha256: aafee193ffb8fe0c82d4afef6ef91972cbaf5feea100edc2f262750611b4be1f url: http://xmlsoft.org/sources/libxml2-2.9.10.tar.gz @@ -26,3 +27,6 @@ build: --prefix=${WASM_LIBRARY_DIR} emmake make -j ${PYODIDE_JOBS:-3} emmake make install +about: + home: https://github.com/GNOME/libxml2 + license: MIT diff --git a/packages/libxslt/meta.yaml b/packages/libxslt/meta.yaml index 96c175f..b9d45b0 100644 --- a/packages/libxslt/meta.yaml +++ b/packages/libxslt/meta.yaml @@ -3,6 +3,7 @@ package: version: 1.1.33 tag: - library + - static_library source: sha256: 8e36605144409df979cab43d835002f63988f3dc94d5d3537c12796db90e38c8 url: http://xmlsoft.org/sources/libxslt-1.1.33.tar.gz @@ -26,3 +27,6 @@ build: emmake make -j ${PYODIDE_JOBS:-3} emmake make install +about: + home: https://github.com/GNOME/libxslt + license: MIT diff --git a/packages/libyaml/meta.yaml b/packages/libyaml/meta.yaml index 9273f26..c920a4a 100644 --- a/packages/libyaml/meta.yaml +++ b/packages/libyaml/meta.yaml @@ -3,6 +3,7 @@ package: version: 0.2.1 tag: - library + - static_library source: url: https://github.com/yaml/libyaml/archive/0.2.1.zip sha256: 56070c9d4bf244a8dcc68e04613e5bbce5c8411ed97cdccc1f4b5fb46aebe5a8 @@ -20,3 +21,6 @@ build: emmake make install rm -f ${INSTALL_DIR}/lib/libyaml.a ln -s ${INSTALL_DIR}/lib/libyaml_static.a ${INSTALL_DIR}/lib/libyaml.a +about: + home: https://pyyaml.org/wiki/LibYAML + license: MIT diff --git a/packages/lightgbm/meta.yaml b/packages/lightgbm/meta.yaml index 378dc93..98cccc4 100644 --- a/packages/lightgbm/meta.yaml +++ b/packages/lightgbm/meta.yaml @@ -19,4 +19,4 @@ about: home: https://github.com/microsoft/LightGBM PyPI: https://pypi.org/project/lightgbm summary: LightGBM Python Package - license: The MIT License (Microsoft) + license: MIT diff --git a/packages/logbook/meta.yaml b/packages/logbook/meta.yaml index 751ee6c..d30935b 100644 --- a/packages/logbook/meta.yaml +++ b/packages/logbook/meta.yaml @@ -16,4 +16,4 @@ about: home: http://logbook.pocoo.org/ PyPI: https://pypi.org/project/logbook summary: A logging replacement for Python - license: BSD + license: BSD-3-Clause diff --git a/packages/lxml/meta.yaml b/packages/lxml/meta.yaml index 2bad9f8..38dd430 100644 --- a/packages/lxml/meta.yaml +++ b/packages/lxml/meta.yaml @@ -26,4 +26,4 @@ about: summary: Powerful and Pythonic XML processing library combining libxml2/libxslt with the ElementTree API. - license: BSD + license: BSD-3-Clause diff --git a/packages/lzma/meta.yaml b/packages/lzma/meta.yaml index efa744a..5a3bb7b 100644 --- a/packages/lzma/meta.yaml +++ b/packages/lzma/meta.yaml @@ -27,3 +27,5 @@ build: requirements: host: - liblzma +about: + license: PSF diff --git a/packages/matplotlib-inline/meta.yaml b/packages/matplotlib-inline/meta.yaml index 5949434..a3c7c56 100644 --- a/packages/matplotlib-inline/meta.yaml +++ b/packages/matplotlib-inline/meta.yaml @@ -11,7 +11,7 @@ about: home: https://github.com/ipython/matplotlib-inline PyPI: https://pypi.org/project/matplotlib-inline summary: Inline Matplotlib backend for Jupyter - license: BSD 3-Clause + license: BSD-3-Clause extra: recipe-maintainers: - mhochsteger diff --git a/packages/matplotlib-pyodide/meta.yaml b/packages/matplotlib-pyodide/meta.yaml index 206c0f5..1107c70 100644 --- a/packages/matplotlib-pyodide/meta.yaml +++ b/packages/matplotlib-pyodide/meta.yaml @@ -10,4 +10,4 @@ about: home: https://github.com/pyodide/matplotlib-pyodide PyPI: https://pypi.org/project/matplotlib-pyodide summary: HTML5 backends for Matplotlib compatible with Pyodide - license: MPL2 + license: MPL-2.0 diff --git a/packages/memory-allocator/meta.yaml b/packages/memory-allocator/meta.yaml index 74ee264..1e86a57 100644 --- a/packages/memory-allocator/meta.yaml +++ b/packages/memory-allocator/meta.yaml @@ -10,7 +10,7 @@ about: home: https://github.com/sagemath/memory_allocator PyPI: https://pypi.org/project/memory_allocator summary: An extension class to allocate memory easily with cython - license: GPLv3 + license: GPL-3.0 extra: recipe-maintainers: - mkoeppe diff --git a/packages/micropip/meta.yaml b/packages/micropip/meta.yaml index 71a22fb..65290a0 100644 --- a/packages/micropip/meta.yaml +++ b/packages/micropip/meta.yaml @@ -14,3 +14,6 @@ source: requirements: run: - packaging +about: + home: https://github.com/pyodide/micropip + license: MPL-2.0 diff --git a/packages/micropip/test_micropip.py b/packages/micropip/test_micropip.py index 994c8c0..d8ecfad 100644 --- a/packages/micropip/test_micropip.py +++ b/packages/micropip/test_micropip.py @@ -48,9 +48,8 @@ def selenium_standalone_micropip(selenium_standalone): def test_install_simple(selenium_standalone_micropip): selenium = selenium_standalone_micropip - assert ( - selenium.run_js( - """ + assert selenium.run_js( + """ return await pyodide.runPythonAsync(` import os import micropip @@ -63,9 +62,7 @@ def test_install_simple(selenium_standalone_micropip): to_js(stemmer.stemWords('go going goes gone'.split())) `); """ - ) - == ["go", "go", "goe", "gone"] - ) + ) == ["go", "go", "goe", "gone"] @pytest.mark.parametrize("base_url", ["'{base_url}'", "'.'"]) diff --git a/packages/mmh3/meta.yaml b/packages/mmh3/meta.yaml index b129983..ea43e1e 100644 --- a/packages/mmh3/meta.yaml +++ b/packages/mmh3/meta.yaml @@ -6,6 +6,7 @@ source: sha256: a1cf25348b9acd229dda464a094d6170f47d2850a1fcb762a3b6172d2ce6ca4a about: PyPI: https://pypi.org/project/mmh3 + home: https://github.com/hajimes/mmh3 summary: Python extension for MurmurHash (MurmurHash3), a set of fast and robust hash functions. diff --git a/packages/more-itertools/meta.yaml b/packages/more-itertools/meta.yaml index 53ba6b9..2302f0c 100644 --- a/packages/more-itertools/meta.yaml +++ b/packages/more-itertools/meta.yaml @@ -7,5 +7,7 @@ source: sha256: 686b06abe565edfab151cb8fd385a05651e1fdf8f0a14191e4439283421f8684 url: https://files.pythonhosted.org/packages/50/e2/8e10e465ee3987bb7c9ab69efb91d867d93959095f4807db102d07995d94/more_itertools-10.2.0-py3-none-any.whl about: + home: https://github.com/more-itertools/more-itertools PyPI: https://pypi.org/project/more-itertools summary: More routines for operating on iterables, beyond itertools + license: MIT diff --git a/packages/mpmath/meta.yaml b/packages/mpmath/meta.yaml index 5f865f5..4def998 100644 --- a/packages/mpmath/meta.yaml +++ b/packages/mpmath/meta.yaml @@ -10,4 +10,4 @@ about: home: http://mpmath.org/ PyPI: https://pypi.org/project/mpmath summary: Python library for arbitrary-precision floating-point arithmetic - license: BSD + license: BSD-3-Clause diff --git a/packages/msgpack/meta.yaml b/packages/msgpack/meta.yaml index dc9b1d4..e0e63ef 100644 --- a/packages/msgpack/meta.yaml +++ b/packages/msgpack/meta.yaml @@ -1,13 +1,13 @@ package: name: msgpack - version: 1.0.8 + version: 1.1.0 top-level: - msgpack source: - sha256: 95c02b0e27e706e48d0e5426d1710ca78e0f0628d6e89d5b5a5b91a5f12274f3 - url: https://files.pythonhosted.org/packages/08/4c/17adf86a8fbb02c144c7569dc4919483c01a2ac270307e2d59e1ce394087/msgpack-1.0.8.tar.gz + sha256: dd432ccc2c72b914e4cb77afce64aab761c1137cc698be3984eee260bcb2896e + url: https://files.pythonhosted.org/packages/cb/d0/7555686ae7ff5731205df1012ede15dd9d927f6227ea151e901c7406af4f/msgpack-1.1.0.tar.gz about: home: https://msgpack.org/ PyPI: https://pypi.org/project/msgpack summary: MessagePack serializer - license: Apache 2.0 + license: Apache-2.0 diff --git a/packages/msprime/meta.yaml b/packages/msprime/meta.yaml index 861e3e5..ae16db4 100644 --- a/packages/msprime/meta.yaml +++ b/packages/msprime/meta.yaml @@ -30,4 +30,4 @@ about: summary: Simulate genealogical trees and genomic sequence data using population genetic models - license: GNU GPLv3+ + license: GPL-3.0+ diff --git a/packages/multidict/meta.yaml b/packages/multidict/meta.yaml index 5436449..3dc1eab 100644 --- a/packages/multidict/meta.yaml +++ b/packages/multidict/meta.yaml @@ -10,4 +10,4 @@ about: home: https://github.com/aio-libs/multidict PyPI: https://pypi.org/project/multidict summary: multidict implementation - license: Apache 2 + license: Apache-2.0 diff --git a/packages/mypy/meta.yaml b/packages/mypy/meta.yaml index ba3250f..a07eebf 100644 --- a/packages/mypy/meta.yaml +++ b/packages/mypy/meta.yaml @@ -15,4 +15,4 @@ about: home: http://www.mypy-lang.org/ PyPI: https://pypi.org/project/mypy summary: Optional static typing for Python - license: MIT License + license: MIT diff --git a/packages/narwhals/meta.yaml b/packages/narwhals/meta.yaml new file mode 100644 index 0000000..4552202 --- /dev/null +++ b/packages/narwhals/meta.yaml @@ -0,0 +1,16 @@ +package: + name: narwhals + version: 1.10.0 + top-level: + - narwhals +source: + url: https://files.pythonhosted.org/packages/82/45/6bb08a5e5ac2d9a95f4116567d0aafb1e5f86c4bbcf982e209e5ae872b3d/narwhals-1.10.0-py3-none-any.whl + sha256: c83a378960651c391e5f3d68af3a821eda74c9713073518fe0c39aefc5ad8f8e +about: + home: https://github.com/narwhals-dev/narwhals + PyPI: https://pypi.org/project/narwhals + summary: Extremely lightweight compatibility layer between dataframe libraries + license: MIT +extra: + recipe-maintainers: + - MarcoGorelli diff --git a/packages/narwhals/test_narwhals.py b/packages/narwhals/test_narwhals.py new file mode 100644 index 0000000..a4c36e9 --- /dev/null +++ b/packages/narwhals/test_narwhals.py @@ -0,0 +1,21 @@ +from pytest_pyodide import run_in_pyodide + + +@run_in_pyodide(packages=["narwhals"]) +def test_narwhals_from_native(selenium): + import narwhals as nw + + class MyDictDataFrame: + def __init__(self, data): + self._data = data + + def __narwhals_dataframe__(self): + return self + + @property + def columns(self): + return list(self._data) + + assert nw.from_native( + MyDictDataFrame({"a": [1, 2, 3], "b": [4, 5, 6]}) + ).columns == ["a", "b"] diff --git a/packages/networkx/meta.yaml b/packages/networkx/meta.yaml index 6964726..5c210a1 100644 --- a/packages/networkx/meta.yaml +++ b/packages/networkx/meta.yaml @@ -40,3 +40,6 @@ test: - networkx.readwrite - networkx.readwrite.json_graph - networkx.utils +about: + home: https://networkx.org/ + license: BSD-3-Clause diff --git a/packages/newick/meta.yaml b/packages/newick/meta.yaml index 8fce1d0..224ae63 100644 --- a/packages/newick/meta.yaml +++ b/packages/newick/meta.yaml @@ -10,4 +10,4 @@ about: home: https://github.com/dlce-eva/python-newick PyPI: https://pypi.org/project/newick summary: A python module to read and write the Newick format - license: Apache 2 + license: Apache-2.0 diff --git a/packages/nlopt/meta.yaml b/packages/nlopt/meta.yaml index bf17fa8..d72162f 100644 --- a/packages/nlopt/meta.yaml +++ b/packages/nlopt/meta.yaml @@ -22,3 +22,6 @@ requirements: build: cxxflags: -std=c++11 +about: + home: https://github.com/stevengj/nlopt + license: LGPL-2.1+ diff --git a/packages/nltk/meta.yaml b/packages/nltk/meta.yaml index d1fd33f..e655806 100644 --- a/packages/nltk/meta.yaml +++ b/packages/nltk/meta.yaml @@ -14,4 +14,4 @@ about: home: https://www.nltk.org/ PyPI: https://pypi.org/project/nltk summary: Natural Language Toolkit - license: Apache License, Version 2.0 + license: Apache-2.0 diff --git a/packages/numpy/meta.yaml b/packages/numpy/meta.yaml index 9c3a8fe..3c1fdf8 100644 --- a/packages/numpy/meta.yaml +++ b/packages/numpy/meta.yaml @@ -30,4 +30,4 @@ about: home: https://www.numpy.org PyPI: https://pypi.org/project/numpy summary: NumPy is the fundamental package for array computing with Python. - license: BSD + license: BSD-3-Clause diff --git a/packages/openblas/meta.yaml b/packages/openblas/meta.yaml index 706f2d1..ec80ac6 100644 --- a/packages/openblas/meta.yaml +++ b/packages/openblas/meta.yaml @@ -3,6 +3,7 @@ package: version: 0.3.26 tag: - library + - shared_library source: sha256: 4e6e4f5cb14c209262e33e6816d70221a2fe49eb69eaf0a06f065598ac602c68 url: https://github.com/OpenMathLib/OpenBLAS/releases/download/v0.3.26/OpenBLAS-0.3.26.tar.gz @@ -42,3 +43,6 @@ build: requirements: host: - libf2c +about: + home: https://www.openblas.net/ + license: BSD-3-Clause diff --git a/packages/openssl/meta.yaml b/packages/openssl/meta.yaml index fcb51d3..34956c2 100644 --- a/packages/openssl/meta.yaml +++ b/packages/openssl/meta.yaml @@ -3,6 +3,7 @@ package: version: 1.1.1w tag: - library + - shared_library source: url: https://www.openssl.org/source/openssl-1.1.1w.tar.gz sha256: cf3098950cb4d853ad95c0841f1f9c6d3dc102dccfcacd521d93925208b76ac8 @@ -33,3 +34,6 @@ build: rm -f ${WASM_LIBRARY_DIR}/lib/{libcrypto.a,libssl.a} cp libcrypto.so libssl.so ${WASM_LIBRARY_DIR}/lib cp libcrypto.so libssl.so ${DISTDIR} +about: + home: https://www.openssl.org + license: Apache-2.0 diff --git a/packages/patsy/meta.yaml b/packages/patsy/meta.yaml index de30624..479b156 100644 --- a/packages/patsy/meta.yaml +++ b/packages/patsy/meta.yaml @@ -16,4 +16,4 @@ about: summary: A Python package for describing statistical models and for building design matrices. - license: 2-clause BSD + license: BSD-2-Clause diff --git a/packages/peewee/meta.yaml b/packages/peewee/meta.yaml index b2c0105..9fbe120 100644 --- a/packages/peewee/meta.yaml +++ b/packages/peewee/meta.yaml @@ -18,4 +18,4 @@ about: summary: Peewee is a simple and small ORM. It has few (but expressive) concepts, making it easy to learn and intuitive to use. - license: MIT License + license: MIT diff --git a/packages/pillow_heif/meta.yaml b/packages/pillow_heif/meta.yaml index 8dc1904..ec1d901 100644 --- a/packages/pillow_heif/meta.yaml +++ b/packages/pillow_heif/meta.yaml @@ -25,5 +25,5 @@ about: home: https://github.com/bigcat88/pillow_heif PyPI: https://pypi.org/project/pillow_heif summary: Python 3.6+ interface to libheif library - license: LGPLv2.1 + license: LGPL-2.1 # Note: this package needs to be manually upgraded to the next version diff --git a/packages/ppl/meta.yaml b/packages/ppl/meta.yaml index e1c7611..e962719 100644 --- a/packages/ppl/meta.yaml +++ b/packages/ppl/meta.yaml @@ -3,6 +3,7 @@ package: version: "1.2" tag: - library + - static_library source: url: https://mirrors.mit.edu/sage/spkg/upstream/ppl/ppl-1.2.tar.bz2 sha256: 2d470b0c262904f190a19eac57fb5c2387b1bfc3510de25a08f3c958df62fdf1 @@ -29,6 +30,8 @@ build: --prefix=${WASM_LIBRARY_DIR} emmake make -j ${PYODIDE_JOBS:-3} emmake make install +about: + license: GPL-3.0+ extra: recipe-maintainers: - mkoeppe diff --git a/packages/pplpy/meta.yaml b/packages/pplpy/meta.yaml index 2c5f368..9c01ccd 100644 --- a/packages/pplpy/meta.yaml +++ b/packages/pplpy/meta.yaml @@ -24,7 +24,7 @@ about: home: https://github.com/sagemath/pplpy PyPI: https://pypi.org/project/pplpy summary: Python PPL wrapper - license: GPL v3 + license: GPL-3.0 extra: recipe-maintainers: - mkoeppe diff --git a/packages/primecount/meta.yaml b/packages/primecount/meta.yaml index 0998da9..206e38d 100644 --- a/packages/primecount/meta.yaml +++ b/packages/primecount/meta.yaml @@ -3,6 +3,7 @@ package: version: "7.9" tag: - library + - static_library source: url: https://github.com/kimwalisch/primecount/archive/refs/tags/v7.9.tar.gz sha256: 872975ba2cbb43f5cc1ff5f5fda9ec4ec3f2be1eb3e3e906abe5d0b29a997f5b diff --git a/packages/primecountpy/meta.yaml b/packages/primecountpy/meta.yaml index b7cd747..299815f 100644 --- a/packages/primecountpy/meta.yaml +++ b/packages/primecountpy/meta.yaml @@ -10,7 +10,7 @@ about: home: https://github.com/dimpase/primecountpy PyPI: https://pypi.org/project/primecountpy summary: Cython interface for C++ primecount library - license: GPLv3 + license: GPL-3.0 requirements: host: - primecount diff --git a/packages/primesieve/meta.yaml b/packages/primesieve/meta.yaml index 21a9c15..2f26725 100644 --- a/packages/primesieve/meta.yaml +++ b/packages/primesieve/meta.yaml @@ -3,6 +3,7 @@ package: version: "11.2" tag: - library + - static_library source: url: https://github.com/kimwalisch/primesieve/archive/refs/tags/v11.2.tar.gz sha256: 86c31bae9c378340b19669eafef8c5e45849adf7b9c92af1d212a2a2bfa0a5db diff --git a/packages/prompt_toolkit/meta.yaml b/packages/prompt_toolkit/meta.yaml index 43d888e..cd631b8 100644 --- a/packages/prompt_toolkit/meta.yaml +++ b/packages/prompt_toolkit/meta.yaml @@ -10,4 +10,4 @@ about: home: https://github.com/prompt-toolkit/python-prompt-toolkit PyPI: https://pypi.org/project/prompt_toolkit summary: Library for building powerful interactive command lines in Python - license: "" + license: BSD-3-Clause diff --git a/packages/protobuf/meta.yaml b/packages/protobuf/meta.yaml index 6f94eaa..02a478e 100644 --- a/packages/protobuf/meta.yaml +++ b/packages/protobuf/meta.yaml @@ -1,18 +1,20 @@ package: name: protobuf - version: 4.24.4 + version: 5.28.3 top-level: - google source: - url: https://files.pythonhosted.org/packages/52/5c/f2c0778278259089952f94b0884ca27a001a17ffbd992ebe30c841085f4c/protobuf-4.24.4.tar.gz - sha256: 5a70731910cd9104762161719c3d883c960151eea077134458503723b60e3667 + url: https://files.pythonhosted.org/packages/74/6e/e69eb906fddcb38f8530a12f4b410699972ab7ced4e21524ece9d546ac27/protobuf-5.28.3.tar.gz + sha256: 64badbc49180a5e401f373f9ce7ab1d18b63f7dd4a9cdc43c92b9f0b481cef7b + patches: + - patches/0001-Fix-signature-of-PyUpb_MessageMeta_Clear.patch about: home: https://github.com/protocolbuffers/protobuf PyPI: https://pypi.org/project/protobuf summary: Protocol Buffers are a language-neutral, platform-neutral extensible mechanism for serializing structured data - license: Custom + license: BSD-3-Clause build: cflags: "-Wno-int-conversion" diff --git a/packages/protobuf/patches/0001-Fix-signature-of-PyUpb_MessageMeta_Clear.patch b/packages/protobuf/patches/0001-Fix-signature-of-PyUpb_MessageMeta_Clear.patch new file mode 100644 index 0000000..8b75638 --- /dev/null +++ b/packages/protobuf/patches/0001-Fix-signature-of-PyUpb_MessageMeta_Clear.patch @@ -0,0 +1,32 @@ +From b618f806a9c9a7fec79caedb218c32991c2fbf98 Mon Sep 17 00:00:00 2001 +From: Hood Chatham +Date: Tue, 27 Aug 2024 12:08:26 +0200 +Subject: [PATCH] Fix signature of `PyUpb_MessageMeta_Clear` + +A `tp_clear` function should have signature `int f(PyObject*)`. The presence of +erroneous extra parameters leads to undefined behavior as indicated in the C +specification 6.3.2.3.8. In WebAssembly builds, this causes crashes. +https://www.open-std.org/jtc1/sc22/wg14/www/docs/n1256.pdf#page=60 + +Upstream PR: +https://github.com/protocolbuffers/protobuf/pull/17959 +--- + python/message.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/python/message.c b/python/message.c +index c81b43b8d..5ad1b06eb 100644 +--- a/python/message.c ++++ b/python/message.c +@@ -2025,7 +2025,7 @@ static int PyUpb_MessageMeta_Traverse(PyObject* self, visitproc visit, + return cpython_bits.type_traverse(self, visit, arg); + } + +-static int PyUpb_MessageMeta_Clear(PyObject* self, visitproc visit, void* arg) { ++static int PyUpb_MessageMeta_Clear(PyObject* self) { + PyUpb_MessageMeta* meta = PyUpb_GetMessageMeta(self); + Py_CLEAR(meta->py_message_descriptor); + return cpython_bits.type_clear(self); +-- +2.34.1 + diff --git a/packages/pure-eval/meta.yaml b/packages/pure-eval/meta.yaml new file mode 100644 index 0000000..ccd749a --- /dev/null +++ b/packages/pure-eval/meta.yaml @@ -0,0 +1,16 @@ +package: + name: pure-eval + version: 0.2.3 + top-level: + - pure_eval +source: + url: https://files.pythonhosted.org/packages/8e/37/efad0257dc6e593a18957422533ff0f87ede7c9c6ea010a2177d738fb82f/pure_eval-0.2.3-py3-none-any.whl + sha256: 1db8e35b67b3d218d818ae653e27f06c3aa420901fa7b081ca98cbedc874e0d0 +about: + home: http://github.com/alexmojaki/pure_eval + PyPI: https://pypi.org/project/pure-eval + summary: Safely evaluate AST nodes without side effects + license: MIT +extra: + recipe-maintainers: + - ryanking13 diff --git a/packages/py/meta.yaml b/packages/py/meta.yaml index 3025ecc..abac6d8 100644 --- a/packages/py/meta.yaml +++ b/packages/py/meta.yaml @@ -14,4 +14,4 @@ about: home: https://py.readthedocs.io/ PyPI: https://pypi.org/project/py summary: library with cross-python path, ini-parsing, io, code, log facilities - license: MIT license + license: MIT diff --git a/packages/pyarrow/meta.yaml b/packages/pyarrow/meta.yaml index c7e070c..9390a69 100644 --- a/packages/pyarrow/meta.yaml +++ b/packages/pyarrow/meta.yaml @@ -11,6 +11,9 @@ requirements: - numpy - pandas - pyodide-unix-timezones +about: + home: https://github.com/apache/arrow + license: Apache-2.0 extra: recipe-maintainers: - joemarshall diff --git a/packages/pycparser/meta.yaml b/packages/pycparser/meta.yaml index a7b0f9c..6883190 100644 --- a/packages/pycparser/meta.yaml +++ b/packages/pycparser/meta.yaml @@ -12,4 +12,4 @@ about: home: https://github.com/eliben/pycparser PyPI: https://pypi.org/project/pycparser summary: C parser in Python - license: BSD + license: BSD-3-Clause diff --git a/packages/pycryptodome/meta.yaml b/packages/pycryptodome/meta.yaml index 492f7f4..cb350a0 100644 --- a/packages/pycryptodome/meta.yaml +++ b/packages/pycryptodome/meta.yaml @@ -12,4 +12,4 @@ about: home: https://www.pycryptodome.org PyPI: https://pypi.org/project/pycryptodome summary: Cryptographic library for Python - license: BSD, Public Domain + license: Mixed BSD-2-Clause, Public Domain diff --git a/packages/pydantic/meta.yaml b/packages/pydantic/meta.yaml index 3ac842c..19a25c8 100644 --- a/packages/pydantic/meta.yaml +++ b/packages/pydantic/meta.yaml @@ -1,11 +1,11 @@ package: name: pydantic - version: 2.7.0 + version: 2.8.2 top-level: - pydantic source: - sha256: b5ecdd42262ca2462e2624793551e80911a1e989f462910bb81aef974b4bb383 - url: https://files.pythonhosted.org/packages/cd/fc/70fe71ff78f680d584eba9c55a30092f6ef0b9cf0c75a74bd35a24151a83/pydantic-2.7.0.tar.gz + sha256: 6f62c13d067b0755ad1c21a34bdd06c0c12625a22b0fc09c6b149816604f7c2a + url: https://files.pythonhosted.org/packages/8c/99/d0a5dca411e0a017762258013ba9905cd6e7baa9a3fd1fe8b6529472902e/pydantic-2.8.2.tar.gz requirements: run: - typing-extensions diff --git a/packages/pydantic_core/meta.yaml b/packages/pydantic_core/meta.yaml index 53048b8..2f9e932 100644 --- a/packages/pydantic_core/meta.yaml +++ b/packages/pydantic_core/meta.yaml @@ -1,11 +1,11 @@ package: name: pydantic_core - version: 2.18.1 + version: 2.23.1 top-level: - pydantic_core source: - url: https://files.pythonhosted.org/packages/3d/28/d693aab237fca82da327990a88a983b2b84b890032076ee4a87e18038dbb/pydantic_core-2.18.1.tar.gz - sha256: de9d3e8717560eb05e28739d1b35e4eac2e458553a52a301e51352a7ffc86a35 + url: https://files.pythonhosted.org/packages/60/a9/a64afaeecc30a42142f5e60bb61a1ec4817e90c2d1c0c7b242082f61ed00/pydantic_core-2.23.1.tar.gz + sha256: 12543919dbf3021e17b9e2cd5cd1b570c6585794fa487339b5b95564b9689452 requirements: executable: - rustup diff --git a/packages/pydecimal/meta.yaml b/packages/pydecimal/meta.yaml index 25441c3..1fea980 100644 --- a/packages/pydecimal/meta.yaml +++ b/packages/pydecimal/meta.yaml @@ -15,3 +15,5 @@ build: cd Python-${PYVERSION} cp Lib/_pydecimal.py ${PKG_BUILD_DIR}/_pydecimal.py +about: + license: PSF diff --git a/packages/pydoc_data/meta.yaml b/packages/pydoc_data/meta.yaml index 2daf973..ee69847 100644 --- a/packages/pydoc_data/meta.yaml +++ b/packages/pydoc_data/meta.yaml @@ -15,3 +15,5 @@ build: cd Python-${PYVERSION}/Lib tar --exclude=__pycache__ -cf - pydoc_data | tar -C ${PKG_BUILD_DIR} -xf - +about: + license: PSF diff --git a/packages/pyerfa/meta.yaml b/packages/pyerfa/meta.yaml index 38144a6..3c7ca16 100644 --- a/packages/pyerfa/meta.yaml +++ b/packages/pyerfa/meta.yaml @@ -15,4 +15,4 @@ about: home: https://github.com/liberfa/pyerfa PyPI: https://pypi.org/project/pyerfa summary: Python bindings for ERFA - license: BSD 3-Clause License + license: BSD-3-Clause diff --git a/packages/pygame-ce/meta.yaml b/packages/pygame-ce/meta.yaml index 1ee8c23..464c3dc 100644 --- a/packages/pygame-ce/meta.yaml +++ b/packages/pygame-ce/meta.yaml @@ -91,4 +91,4 @@ about: home: https://www.pygame.org PyPI: https://pypi.org/project/pygame summary: Python Game Development - license: LGPL + license: LGPL-2.1 diff --git a/packages/pyheif/meta.yaml b/packages/pyheif/meta.yaml index 496f270..92ceaf5 100644 --- a/packages/pyheif/meta.yaml +++ b/packages/pyheif/meta.yaml @@ -22,3 +22,4 @@ about: home: https://github.com/carsales/pyheif PyPI: https://pypi.org/project/pyheif summary: Python 3.6+ interface to libheif library + license: Apache-2.0 diff --git a/packages/pynacl/meta.yaml b/packages/pynacl/meta.yaml index 43b3f72..dfd2360 100644 --- a/packages/pynacl/meta.yaml +++ b/packages/pynacl/meta.yaml @@ -17,4 +17,4 @@ about: home: https://github.com/pyca/pynacl/ PyPI: https://pypi.org/project/pynacl summary: Python binding to the Networking and Cryptography (NaCl) library - license: Apache License 2.0 + license: Apache-2.0 diff --git a/packages/pyparsing/meta.yaml b/packages/pyparsing/meta.yaml index 1f9927b..012aeb9 100644 --- a/packages/pyparsing/meta.yaml +++ b/packages/pyparsing/meta.yaml @@ -6,3 +6,6 @@ package: source: sha256: f9db75911801ed778fe61bb643079ff86601aca99fcae6345aa67292038fb742 url: https://files.pythonhosted.org/packages/9d/ea/6d76df31432a0e6fdf81681a895f009a4bb47b3c39036db3e1b528191d52/pyparsing-3.1.2-py3-none-any.whl +about: + home: https://github.com/pyparsing/pyparsing/ + license: MIT diff --git a/packages/pyproj/meta.yaml b/packages/pyproj/meta.yaml index 48ab84e..d00accf 100644 --- a/packages/pyproj/meta.yaml +++ b/packages/pyproj/meta.yaml @@ -40,4 +40,4 @@ about: summary: Python interface to PROJ (cartographic projections and coordinate transformations library) - license: "License :: OSI Approved :: MIT License" + license: MIT diff --git a/packages/pysam/meta.yaml b/packages/pysam/meta.yaml index f6370b8..87e5119 100644 --- a/packages/pysam/meta.yaml +++ b/packages/pysam/meta.yaml @@ -27,7 +27,7 @@ about: home: https://github.com/pysam-developers/pysam PyPI: https://pypi.org/project/pysam summary: Package for reading, manipulating, and writing genomic data - license: MIT License + license: MIT extra: recipe-maintainers: - stevenweaver diff --git a/packages/pytest-asyncio/meta.yaml b/packages/pytest-asyncio/meta.yaml index b6f49e0..1bcc99d 100644 --- a/packages/pytest-asyncio/meta.yaml +++ b/packages/pytest-asyncio/meta.yaml @@ -16,7 +16,7 @@ about: home: https://github.com/pytest-dev/pytest-asyncio PyPI: https://pypi.org/project/pytest-asyncio summary: Pytest support for asyncio - license: Apache 2.0 + license: Apache-2.0 extra: recipe-maintainers: - agriyakhetarpal diff --git a/packages/python-dateutil/meta.yaml b/packages/python-dateutil/meta.yaml index c6c4409..d68c729 100644 --- a/packages/python-dateutil/meta.yaml +++ b/packages/python-dateutil/meta.yaml @@ -13,4 +13,4 @@ about: home: https://github.com/dateutil/dateutil PyPI: https://pypi.org/project/python-dateutil summary: Extensions to the standard Python datetime module - license: Dual License + license: BSD-3-Clause diff --git a/packages/python-flint/meta.yaml b/packages/python-flint/meta.yaml index e354546..b690cc4 100644 --- a/packages/python-flint/meta.yaml +++ b/packages/python-flint/meta.yaml @@ -25,3 +25,4 @@ about: extra: recipe-maintainers: - mkoeppe + - oscarbenjamin diff --git a/packages/python_solvespace/meta.yaml b/packages/python-solvespace/meta.yaml similarity index 93% rename from packages/python_solvespace/meta.yaml rename to packages/python-solvespace/meta.yaml index 63ad016..606e2a3 100644 --- a/packages/python_solvespace/meta.yaml +++ b/packages/python-solvespace/meta.yaml @@ -1,5 +1,5 @@ package: - name: python_solvespace + name: python-solvespace version: 3.0.8 top-level: - python_solvespace @@ -14,4 +14,4 @@ about: home: https://github.com/KmolYuan/solvespace/tree/python PyPI: https://pypi.org/project/python_solvespace summary: Python library of Solvespace. - license: GPLv3+ + license: GPL-3.0+ diff --git a/packages/python_solvespace/test_python_solvespace.py b/packages/python-solvespace/test_python_solvespace.py similarity index 100% rename from packages/python_solvespace/test_python_solvespace.py rename to packages/python-solvespace/test_python_solvespace.py diff --git a/packages/pyxel/meta.yaml b/packages/pyxel/meta.yaml index 1fad983..3c56d5a 100644 --- a/packages/pyxel/meta.yaml +++ b/packages/pyxel/meta.yaml @@ -23,3 +23,4 @@ about: home: https://github.com/kitao/pyxel PyPI: https://pypi.org/project/pyxel/ summary: A retro game engine for Python + license: MIT diff --git a/packages/pyyaml/meta.yaml b/packages/pyyaml/meta.yaml index fb3805d..8647339 100644 --- a/packages/pyyaml/meta.yaml +++ b/packages/pyyaml/meta.yaml @@ -1,12 +1,12 @@ package: name: pyyaml - version: 6.0.1 + version: 6.0.2 top-level: - _yaml - yaml source: - url: https://files.pythonhosted.org/packages/cd/e5/af35f7ea75cf72f2cd079c95ee16797de7cd71f29ea7c68ae5ce7be1eda0/PyYAML-6.0.1.tar.gz - sha256: bfdf460b1736c775f2ba9f6a92bca30bc2095067b8a9d77876d1fad6cc3b4a43 + url: https://files.pythonhosted.org/packages/54/ed/79a089b6be93607fa5cdaedf301d7dfb23af5f25c398d5ead2525b063e17/pyyaml-6.0.2.tar.gz + sha256: d584d9ec91ad65861cc08d42e834324ef890a082e591037abe114850ff7bbc3e build: cflags: | -I$(PYTHONINCLUDE) diff --git a/packages/rasterio/meta.yaml b/packages/rasterio/meta.yaml index db01553..bf8777c 100644 --- a/packages/rasterio/meta.yaml +++ b/packages/rasterio/meta.yaml @@ -37,7 +37,7 @@ about: home: https://github.com/rasterio/rasterio PyPI: https://pypi.org/project/rasterio summary: Fast and direct raster I/O for use with Numpy and SciPy - license: BSD + license: BSD-3-Clause extra: recipe-maintainers: - kjmalek diff --git a/packages/rebound/meta.yaml b/packages/rebound/meta.yaml index 9469bee..a850257 100644 --- a/packages/rebound/meta.yaml +++ b/packages/rebound/meta.yaml @@ -24,7 +24,7 @@ about: home: https://github.com/hannorein/rebound/ PyPI: https://pypi.org/project/rebound summary: An open-source multi-purpose N-body code - license: GPL + license: GPL-3.0 extra: recipe-maintainers: - hannorein diff --git a/packages/reboundx/meta.yaml b/packages/reboundx/meta.yaml index b4a0c67..fa52882 100644 --- a/packages/reboundx/meta.yaml +++ b/packages/reboundx/meta.yaml @@ -22,7 +22,7 @@ about: home: https://github.com/dtamayo/reboundx PyPI: https://pypi.org/project/reboundx summary: A library for including additional forces in REBOUND - license: GPL + license: GPL-3.0 extra: recipe-maintainers: - hannorein diff --git a/packages/regex/meta.yaml b/packages/regex/meta.yaml index d5e03fe..f58866e 100644 --- a/packages/regex/meta.yaml +++ b/packages/regex/meta.yaml @@ -13,4 +13,4 @@ about: home: https://github.com/mrabarnett/mrab-regex PyPI: https://pypi.org/project/regex summary: Alternative regular expression module, to replace re. - license: Apache Software License + license: Apache-2.0 diff --git a/packages/requests/meta.yaml b/packages/requests/meta.yaml index 721d0b3..0098946 100644 --- a/packages/requests/meta.yaml +++ b/packages/requests/meta.yaml @@ -19,4 +19,4 @@ about: home: https://requests.readthedocs.io PyPI: https://pypi.org/project/requests summary: Python HTTP for Humans. - license: Apache 2.0 + license: Apache-2.0 diff --git a/packages/retrying/meta.yaml b/packages/retrying/meta.yaml index e08a869..a1c96cf 100644 --- a/packages/retrying/meta.yaml +++ b/packages/retrying/meta.yaml @@ -13,4 +13,4 @@ about: home: https://github.com/rholder/retrying PyPI: https://pypi.org/project/retrying summary: Retrying - license: Apache 2.0 + license: Apache-2.0 diff --git a/packages/river/meta.yaml b/packages/river/meta.yaml index 415f3e3..19bcebd 100644 --- a/packages/river/meta.yaml +++ b/packages/river/meta.yaml @@ -23,7 +23,7 @@ about: home: https://github.com/online-ml/river PyPI: https://pypi.org/project/river summary: Online machine learning in Python - license: BSD-3 + license: BSD-3-Clause test: imports: diff --git a/packages/ruamel.yaml/meta.yaml b/packages/ruamel.yaml/meta.yaml index b5e0f88..62a08e6 100644 --- a/packages/ruamel.yaml/meta.yaml +++ b/packages/ruamel.yaml/meta.yaml @@ -15,4 +15,4 @@ about: summary: ruamel.yaml is a YAML parser/emitter that supports roundtrip preservation of comments, seq/map flow style, and map key order - license: MIT license + license: MIT diff --git a/packages/rust-panic-test/meta.yaml b/packages/rust-panic-test/meta.yaml index 1f4096a..ab87aa7 100644 --- a/packages/rust-panic-test/meta.yaml +++ b/packages/rust-panic-test/meta.yaml @@ -10,3 +10,5 @@ build: requirements: executable: - rustup +about: + license: MPL-2.0 diff --git a/packages/scikit-image/meta.yaml b/packages/scikit-image/meta.yaml index c264b31..8936caf 100644 --- a/packages/scikit-image/meta.yaml +++ b/packages/scikit-image/meta.yaml @@ -32,7 +32,7 @@ about: home: https://scikit-image.org PyPI: https://pypi.org/project/scikit-image summary: Image processing in Python - license: Modified BSD + license: BSD-3-Clause extra: recipe-maintainers: - lagru diff --git a/packages/scikit-learn/meta.yaml b/packages/scikit-learn/meta.yaml index 0659c17..e9bb641 100644 --- a/packages/scikit-learn/meta.yaml +++ b/packages/scikit-learn/meta.yaml @@ -1,13 +1,13 @@ package: name: scikit-learn - version: 1.5.1 + version: 1.5.2 tag: - min-scipy-stack top-level: - sklearn source: - url: https://files.pythonhosted.org/packages/92/72/2961b9874a9ddf2b0f95f329d4e67f67c3301c1d88ba5e239ff25661bb85/scikit_learn-1.5.1.tar.gz - sha256: 0ea5d40c0e3951df445721927448755d3fe1d80833b0b7308ebff5d2a45e6414 + url: https://files.pythonhosted.org/packages/37/59/44985a2bdc95c74e34fef3d10cb5d93ce13b0e2a7baefffe1b53853b502d/scikit_learn-1.5.2.tar.gz + sha256: b4237ed7b3fdd0a4882792e68ef2545d5baa50aca3bb45aa7df468138ad8f94d build: cflags: -Wno-implicit-function-declaration @@ -64,7 +64,7 @@ about: home: http://scikit-learn.org PyPI: https://pypi.org/project/scikit-learn summary: A set of python modules for machine learning and data mining - license: new BSD + license: BSD-3-Clause extra: recipe-maintainers: - lesteve diff --git a/packages/scipy/meta.yaml b/packages/scipy/meta.yaml index de5dfd4..31bd64c 100644 --- a/packages/scipy/meta.yaml +++ b/packages/scipy/meta.yaml @@ -1,6 +1,6 @@ package: name: scipy - version: 1.14.0 + version: 1.14.1 tag: - min-scipy-stack top-level: @@ -17,8 +17,8 @@ package: # subroutine. Try deleting it. source: - url: https://files.pythonhosted.org/packages/4e/e5/0230da034a2e1b1feb32621d7cd57c59484091d6dccc9e6b855b0d309fc9/scipy-1.14.0.tar.gz - sha256: b5923f48cb840380f9854339176ef21763118a7300a88203ccd0bdd26e58527b + url: https://files.pythonhosted.org/packages/62/11/4d44a1f274e002784e4dbdb81e0ea96d2de2d1045b2132d5af62cc31fd28/scipy-1.14.1.tar.gz + sha256: 5a275584e726026a5699459aa72f828a610821006228e841b94275c4a7c08417 patches: - patches/0001-Fix-dstevr-in-special-lapack_defs.h.patch @@ -35,9 +35,10 @@ source: - patches/0012-Remove-chla_transtype.patch - patches/0013-Set-wrapper-return-type-to-int.patch - patches/0014-Skip-svd_gesdd-test.patch # remove with SciPy v1.15.0 - - patches/0015-Remove-f2py-generator.patch + - patches/0015-Remove-f2py-generators.patch - patches/0016-Make-sf_error_state_lib-a-static-library.patch - patches/0017-Remove-test-modules-that-fail-to-build.patch + - patches/0018-Fix-lapack-larfg-function-signature.patch build: cflags: | @@ -174,7 +175,7 @@ about: home: https://www.scipy.org PyPI: https://pypi.org/project/scipy summary: "SciPy: Scientific Library for Python" - license: BSD + license: BSD-3-Clause extra: recipe-maintainers: - lesteve diff --git a/packages/scipy/patches/0001-Fix-dstevr-in-special-lapack_defs.h.patch b/packages/scipy/patches/0001-Fix-dstevr-in-special-lapack_defs.h.patch index 2909218..ca6d80a 100644 --- a/packages/scipy/patches/0001-Fix-dstevr-in-special-lapack_defs.h.patch +++ b/packages/scipy/patches/0001-Fix-dstevr-in-special-lapack_defs.h.patch @@ -1,7 +1,7 @@ From 45a31145679c83f2719b6420f234d484b9459697 Mon Sep 17 00:00:00 2001 From: Hood Chatham Date: Fri, 18 Mar 2022 16:25:39 -0700 -Subject: [PATCH 1/17] Fix dstevr in special/lapack_defs.h +Subject: [PATCH 1/18] Fix dstevr in special/lapack_defs.h --- scipy/special/lapack_defs.h | 5 ++--- diff --git a/packages/scipy/patches/0002-int-to-string.patch b/packages/scipy/patches/0002-int-to-string.patch index 533552c..7a172cb 100644 --- a/packages/scipy/patches/0002-int-to-string.patch +++ b/packages/scipy/patches/0002-int-to-string.patch @@ -1,7 +1,7 @@ From d53ade3f03ba3557fd50fb38990d605f4ae7f8f1 Mon Sep 17 00:00:00 2001 From: Hood Chatham Date: Sat, 25 Dec 2021 18:04:18 -0800 -Subject: [PATCH 2/17] int to string +Subject: [PATCH 2/18] int to string f2c does not handle implicit casts of function arguments correctly. The msg argument of `xerrwv` is defined to be an `int *`, and then implicitly cast diff --git a/packages/scipy/patches/0003-gemm_-no-const.patch b/packages/scipy/patches/0003-gemm_-no-const.patch index 109d9e2..3840f74 100644 --- a/packages/scipy/patches/0003-gemm_-no-const.patch +++ b/packages/scipy/patches/0003-gemm_-no-const.patch @@ -1,7 +1,7 @@ From e528227dd37c8b0512381992c222789a114e3169 Mon Sep 17 00:00:00 2001 From: Hood Chatham Date: Sat, 18 Dec 2021 11:41:15 -0800 -Subject: [PATCH 3/17] gemm_ no const +Subject: [PATCH 3/18] gemm_ no const cgemm, dgemm, sgemm, and zgemm are declared with `const` in slu_cdefs.h, but other places don't have the cosnt causing compile errors. diff --git a/packages/scipy/patches/0004-make-int-return-values.patch b/packages/scipy/patches/0004-make-int-return-values.patch index 61f4f60..5abeb4f 100644 --- a/packages/scipy/patches/0004-make-int-return-values.patch +++ b/packages/scipy/patches/0004-make-int-return-values.patch @@ -1,7 +1,7 @@ From a86a2304fd925f815bbb0e0753e46a7b863e2de2 Mon Sep 17 00:00:00 2001 From: Joe Marshall Date: Wed, 6 Apr 2022 21:25:13 -0700 -Subject: [PATCH 4/17] make int return values +Subject: [PATCH 4/18] make int return values The return values of f2c functions are insignificant in most cases, so often it is treated as returning void, when it really should return int (values are diff --git a/packages/scipy/patches/0005-Fix-fitpack.patch b/packages/scipy/patches/0005-Fix-fitpack.patch index 47f8430..1df3145 100644 --- a/packages/scipy/patches/0005-Fix-fitpack.patch +++ b/packages/scipy/patches/0005-Fix-fitpack.patch @@ -1,7 +1,7 @@ From c784d3a1ee38da88943364de4ea847a3b9cd155f Mon Sep 17 00:00:00 2001 From: Hood Chatham Date: Tue, 30 Aug 2022 11:51:53 -0700 -Subject: [PATCH 5/17] Fix fitpack +Subject: [PATCH 5/18] Fix fitpack --- scipy/interpolate/fitpack/dblint.f | 9 ++++----- diff --git a/packages/scipy/patches/0006-Fix-gees-calls.patch b/packages/scipy/patches/0006-Fix-gees-calls.patch index fd25200..feabf91 100644 --- a/packages/scipy/patches/0006-Fix-gees-calls.patch +++ b/packages/scipy/patches/0006-Fix-gees-calls.patch @@ -1,7 +1,7 @@ From 8addc1da35bc63df651946ef14c723797a431e0c Mon Sep 17 00:00:00 2001 From: Hood Chatham Date: Mon, 26 Jun 2023 20:12:25 -0700 -Subject: [PATCH 6/17] Fix gees calls +Subject: [PATCH 6/18] Fix gees calls --- scipy/linalg/flapack_gen.pyf.src | 8 ++++---- diff --git a/packages/scipy/patches/0007-MAINT-linalg-Remove-id_dist-Fortran-files.patch b/packages/scipy/patches/0007-MAINT-linalg-Remove-id_dist-Fortran-files.patch index 6201e65..e3a57c5 100644 --- a/packages/scipy/patches/0007-MAINT-linalg-Remove-id_dist-Fortran-files.patch +++ b/packages/scipy/patches/0007-MAINT-linalg-Remove-id_dist-Fortran-files.patch @@ -1,7 +1,7 @@ From 12ba8a395ce04194074a24d362143c22e7ac54bd Mon Sep 17 00:00:00 2001 From: Ilhan Polat Date: Tue, 23 Apr 2024 09:26:38 +0200 -Subject: [PATCH 7/17] MAINT:linalg:Remove id_dist Fortran files +Subject: [PATCH 7/18] MAINT:linalg:Remove id_dist Fortran files [skip ci] diff --git a/packages/scipy/patches/0008-Mark-mvndst-functions-recursive.patch b/packages/scipy/patches/0008-Mark-mvndst-functions-recursive.patch index 95faa6e..705d648 100644 --- a/packages/scipy/patches/0008-Mark-mvndst-functions-recursive.patch +++ b/packages/scipy/patches/0008-Mark-mvndst-functions-recursive.patch @@ -1,7 +1,7 @@ From c11745d763407d9a2bb195a21e2a8afaf7635248 Mon Sep 17 00:00:00 2001 From: Hood Chatham Date: Sat, 6 Jul 2024 22:38:55 +0200 -Subject: [PATCH 8/17] Mark mvndst functions recursive +Subject: [PATCH 8/18] Mark mvndst functions recursive --- scipy/stats/mvndst.f | 8 ++++---- diff --git a/packages/scipy/patches/0009-Make-sreorth-recursive.patch b/packages/scipy/patches/0009-Make-sreorth-recursive.patch index f29f2cc..0ca5929 100644 --- a/packages/scipy/patches/0009-Make-sreorth-recursive.patch +++ b/packages/scipy/patches/0009-Make-sreorth-recursive.patch @@ -1,7 +1,7 @@ From e4d1a570fa8bd4c710e10400822f60232e6408eb Mon Sep 17 00:00:00 2001 From: Hood Chatham Date: Sat, 6 Jul 2024 22:33:51 +0200 -Subject: [PATCH 9/17] Make sreorth recursive +Subject: [PATCH 9/18] Make sreorth recursive --- complex16/zreorth.F | 6 +++--- diff --git a/packages/scipy/patches/0010-Link-openblas-with-modules-that-require-f2c.patch b/packages/scipy/patches/0010-Link-openblas-with-modules-that-require-f2c.patch index ba54e90..ad975cc 100644 --- a/packages/scipy/patches/0010-Link-openblas-with-modules-that-require-f2c.patch +++ b/packages/scipy/patches/0010-Link-openblas-with-modules-that-require-f2c.patch @@ -1,7 +1,7 @@ From ccbb0fa0884d567c6139eeed7dc2dc9f8db4db3a Mon Sep 17 00:00:00 2001 From: ryanking13 Date: Sun, 28 Jul 2024 18:15:17 +0900 -Subject: [PATCH 10/17] Link openblas with modules that require f2c +Subject: [PATCH 10/18] Link openblas with modules that require f2c Some fortran modules require symbols from f2c, which is provided by openblas. diff --git a/packages/scipy/patches/0011-Remove-fpchec-inline-if-then-endif-constructs.patch b/packages/scipy/patches/0011-Remove-fpchec-inline-if-then-endif-constructs.patch index e377dc0..78272f5 100644 --- a/packages/scipy/patches/0011-Remove-fpchec-inline-if-then-endif-constructs.patch +++ b/packages/scipy/patches/0011-Remove-fpchec-inline-if-then-endif-constructs.patch @@ -1,7 +1,7 @@ From b43a231f8326d6953929030131c3fb6b2cb163bd Mon Sep 17 00:00:00 2001 From: Agriya Khetarpal <74401230+agriyakhetarpal@users.noreply.github.com> Date: Wed, 15 May 2024 21:29:02 +0530 -Subject: [PATCH 11/17] Remove fpchec inline if-then-endif constructs +Subject: [PATCH 11/18] Remove fpchec inline if-then-endif constructs This PR removes the single-line if-then-endif constructs in fpchec.f that were causing syntactical errors when compiling with f2c, possibly diff --git a/packages/scipy/patches/0012-Remove-chla_transtype.patch b/packages/scipy/patches/0012-Remove-chla_transtype.patch index f1a6b91..c4afc19 100644 --- a/packages/scipy/patches/0012-Remove-chla_transtype.patch +++ b/packages/scipy/patches/0012-Remove-chla_transtype.patch @@ -1,7 +1,7 @@ From 848c94e218e89d866978fbc883cbb2d919f56ce9 Mon Sep 17 00:00:00 2001 From: Hood Chatham Date: Wed, 31 Jul 2024 10:29:47 +0200 -Subject: [PATCH 12/17] Remove chla_transtype +Subject: [PATCH 12/18] Remove chla_transtype The signature should probably be `int chla_transtype(char* res, int *trans)`. This just deletes it entirely due to laziness. diff --git a/packages/scipy/patches/0013-Set-wrapper-return-type-to-int.patch b/packages/scipy/patches/0013-Set-wrapper-return-type-to-int.patch index 9971a81..c20be03 100644 --- a/packages/scipy/patches/0013-Set-wrapper-return-type-to-int.patch +++ b/packages/scipy/patches/0013-Set-wrapper-return-type-to-int.patch @@ -1,7 +1,7 @@ From b5d05197de084ab3cab52241f163bae7519b6027 Mon Sep 17 00:00:00 2001 From: Hood Chatham Date: Wed, 31 Jul 2024 11:48:12 +0200 -Subject: [PATCH 13/17] Set wrapper return type to int +Subject: [PATCH 13/18] Set wrapper return type to int --- scipy/linalg/_generate_pyx.py | 2 +- diff --git a/packages/scipy/patches/0014-Skip-svd_gesdd-test.patch b/packages/scipy/patches/0014-Skip-svd_gesdd-test.patch index 2da68d0..b9e521f 100644 --- a/packages/scipy/patches/0014-Skip-svd_gesdd-test.patch +++ b/packages/scipy/patches/0014-Skip-svd_gesdd-test.patch @@ -1,7 +1,7 @@ From 59d3efdf9e55958c6a3651e8eda2a9d6fe48e192 Mon Sep 17 00:00:00 2001 From: Agriya Khetarpal <74401230+agriyakhetarpal@users.noreply.github.com> Date: Fri, 9 Aug 2024 19:00:41 +0530 -Subject: [PATCH 14/17] Skip svd_gesdd test +Subject: [PATCH 14/18] Skip svd_gesdd test This patch excludes a test for gesdd which was introduced in this PR: https://github.com/scipy/scipy/pull/20349. It is not useful for Pyodide diff --git a/packages/scipy/patches/0015-Remove-f2py-generator.patch b/packages/scipy/patches/0015-Remove-f2py-generators.patch similarity index 99% rename from packages/scipy/patches/0015-Remove-f2py-generator.patch rename to packages/scipy/patches/0015-Remove-f2py-generators.patch index 262d6a0..a80ca32 100644 --- a/packages/scipy/patches/0015-Remove-f2py-generator.patch +++ b/packages/scipy/patches/0015-Remove-f2py-generators.patch @@ -1,7 +1,7 @@ From 9b670bd5330bd7834d157a9ec3087a97b71d6516 Mon Sep 17 00:00:00 2001 From: Agriya Khetarpal <74401230+agriyakhetarpal@users.noreply.github.com> Date: Fri, 16 Aug 2024 22:59:26 +0530 -Subject: [PATCH 15/17] Remove f2py generator +Subject: [PATCH 15/18] Remove f2py generators MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit diff --git a/packages/scipy/patches/0016-Make-sf_error_state_lib-a-static-library.patch b/packages/scipy/patches/0016-Make-sf_error_state_lib-a-static-library.patch index 9da86e5..9f45ad8 100644 --- a/packages/scipy/patches/0016-Make-sf_error_state_lib-a-static-library.patch +++ b/packages/scipy/patches/0016-Make-sf_error_state_lib-a-static-library.patch @@ -1,7 +1,7 @@ From 9d93ca19f4ad0ca327964b6234316547d774b17f Mon Sep 17 00:00:00 2001 From: Agriya Khetarpal <74401230+agriyakhetarpal@users.noreply.github.com> Date: Sat, 17 Aug 2024 01:12:28 +0530 -Subject: [PATCH 16/17] Make `sf_error_state_lib` a static library +Subject: [PATCH 16/18] Make `sf_error_state_lib` a static library wasm.ld does not support linkage with shared libraries. This patch changes `sf_error_state_lib` to a static one. diff --git a/packages/scipy/patches/0017-Remove-test-modules-that-fail-to-build.patch b/packages/scipy/patches/0017-Remove-test-modules-that-fail-to-build.patch index c72dae0..56be63e 100644 --- a/packages/scipy/patches/0017-Remove-test-modules-that-fail-to-build.patch +++ b/packages/scipy/patches/0017-Remove-test-modules-that-fail-to-build.patch @@ -1,7 +1,7 @@ From e21f33695da3275ec81b5f94685f0e4ac92c9ad5 Mon Sep 17 00:00:00 2001 From: Gyeongjae Choi Date: Mon, 30 Oct 2023 14:35:04 +0000 -Subject: [PATCH 17/17] Remove test modules that fail to build +Subject: [PATCH 17/18] Remove test modules that fail to build These are tests and they have both void vs int return value problems and implicit function argument cast problems. Not worth fixing for tests. diff --git a/packages/scipy/patches/0018-Fix-lapack-larfg-function-signature.patch b/packages/scipy/patches/0018-Fix-lapack-larfg-function-signature.patch new file mode 100644 index 0000000..e2ffa67 --- /dev/null +++ b/packages/scipy/patches/0018-Fix-lapack-larfg-function-signature.patch @@ -0,0 +1,38 @@ +From 8b06e7fef50327f84140cb09a3d9237e18b38a35 Mon Sep 17 00:00:00 2001 +From: Agriya Khetarpal <74401230+agriyakhetarpal@users.noreply.github.com> +Date: Thu, 5 Sep 2024 21:14:20 +0530 +Subject: [PATCH 18/18] Fix lapack larfg function signature + +This patch fixes the signature of the LAPACK routine larfg. Please +see https://github.com/pyodide/pyodide/issues/3379 for more details. + +Co-authored-by: Ilhan Polat +Suggested-by: Hood Chatham + +--- + scipy/linalg/flapack_other.pyf.src | 5 ++--- + 1 file changed, 2 insertions(+), 3 deletions(-) + +diff --git a/scipy/linalg/flapack_other.pyf.src b/scipy/linalg/flapack_other.pyf.src +index 99d4886558..bf7256e605 100644 +--- a/scipy/linalg/flapack_other.pyf.src ++++ b/scipy/linalg/flapack_other.pyf.src +@@ -2310,13 +2310,12 @@ function lange(norm,m,n,a,lda,work) result(n2) + dimension(m+1),intent(cache,hide) :: work + end function lange + +-subroutine larfg(n, alpha, x, incx, tau, lx) ++subroutine larfg(n, alpha, x, incx, tau) + integer intent(in), check(n>=1) :: n + intent(in,out) :: alpha +- intent(in,copy,out), dimension(lx) :: x ++ intent(in,copy,out), dimension(*), depend(n,incx), check(len(x) >= (n-2)*incx) :: x + integer intent(in), check(incx>0||incx<0) :: incx = 1 + intent(out) :: tau +- integer intent(hide),depend(x,n,incx),check(lx > (n-2)*incx) :: lx = len(x) + end subroutine larfg + + subroutine larf(side,m,n,v,incv,tau,c,ldc,work,lwork) +-- +2.39.3 (Apple Git-146) + diff --git a/packages/scipy/test_scipy.py b/packages/scipy/test_scipy.py index 30b6157..ebd09be 100644 --- a/packages/scipy/test_scipy.py +++ b/packages/scipy/test_scipy.py @@ -100,6 +100,22 @@ def test_cpp_exceptions(selenium): lombscargle(x=[1], y=[1, 2], freqs=[1, 2, 3]) +# Regression test for LAPACK larfg signature mismatch +# https://github.com/pyodide/pyodide/issues/3379 +@pytest.mark.driver_timeout(40) +@run_in_pyodide(packages=["scipy", "numpy"]) +def test_lapack_larfg(selenium): + import numpy as np + from scipy.linalg.lapack import get_lapack_funcs + + a = np.arange(16).reshape(4, 4) + a = a.T.dot(a) + + (larfg,) = get_lapack_funcs(["larfg"], dtype="float64") + alpha, x, tau = larfg(a.shape[0] - 1, a[1, 0], a[2:, 0]) + return (alpha, x, tau) is not None + + @pytest.mark.driver_timeout(40) @run_in_pyodide(packages=["scipy"]) def test_logm(selenium_standalone): diff --git a/packages/screed/meta.yaml b/packages/screed/meta.yaml index 3fddb4b..1a0b758 100644 --- a/packages/screed/meta.yaml +++ b/packages/screed/meta.yaml @@ -11,4 +11,4 @@ about: home: https://github.com/dib-lab/screed PyPI: https://pypi.org/project/screed summary: a Python library for loading FASTA and FASTQ sequences - license: BSD 3-clause + license: BSD-3-Clause diff --git a/packages/setuptools/meta.yaml b/packages/setuptools/meta.yaml index db138fa..9411ace 100644 --- a/packages/setuptools/meta.yaml +++ b/packages/setuptools/meta.yaml @@ -18,3 +18,4 @@ about: home: https://github.com/pypa/setuptools PyPI: https://pypi.org/project/setuptools summary: Easily download, build, install, upgrade, and uninstall Python packages + license: MIT diff --git a/packages/shapely/meta.yaml b/packages/shapely/meta.yaml index 2667ca5..cfe3f85 100644 --- a/packages/shapely/meta.yaml +++ b/packages/shapely/meta.yaml @@ -33,4 +33,4 @@ about: home: https://github.com/shapely/shapely PyPI: https://pypi.org/project/shapely summary: Geometric objects, predicates, and operations - license: BSD + license: BSD-3-Clause diff --git a/packages/sharedlib-test-py/meta.yaml b/packages/sharedlib-test-py/meta.yaml index 83e5c15..f2d3fa0 100644 --- a/packages/sharedlib-test-py/meta.yaml +++ b/packages/sharedlib-test-py/meta.yaml @@ -22,3 +22,5 @@ build: -I$(PKGDIR)/../sharedlib-test/src/include ldflags: | $(PKGDIR)/../sharedlib-test/build/sharedlib-test-1.0/dist/sharedlib-test.so +about: + license: MPL-2.0 diff --git a/packages/sharedlib-test/meta.yaml b/packages/sharedlib-test/meta.yaml index b0ebf9f..89d8b91 100644 --- a/packages/sharedlib-test/meta.yaml +++ b/packages/sharedlib-test/meta.yaml @@ -4,6 +4,7 @@ package: tag: - pyodide.test - library + - shared_library source: path: src @@ -17,3 +18,5 @@ build: emcc dep2.o ${SIDE_MODULE_LDFLAGS} -o ${DISTDIR}/sharedlib-test-dep2.so emcc dep.o ${SIDE_MODULE_LDFLAGS} ${DISTDIR}/sharedlib-test-dep2.so -o ${DISTDIR}/sharedlib-test-dep.so emcc main.o ${SIDE_MODULE_LDFLAGS} ${DISTDIR}/sharedlib-test-dep.so -o ${DISTDIR}/sharedlib-test.so +about: + license: MPL-2.0 diff --git a/packages/smart_open/meta.yaml b/packages/smart-open/meta.yaml similarity index 90% rename from packages/smart_open/meta.yaml rename to packages/smart-open/meta.yaml index 8792ff5..61cfc34 100644 --- a/packages/smart_open/meta.yaml +++ b/packages/smart-open/meta.yaml @@ -1,11 +1,14 @@ package: - name: smart_open + name: smart-open version: 7.0.4 top-level: - smart_open source: url: https://files.pythonhosted.org/packages/65/12/cc24847b4b0b124501a33cd8f7963f79f6f6584bc7f2f4fc16bbbaa54c8f/smart_open-7.0.4-py3-none-any.whl sha256: 4e98489932b3372595cddc075e6033194775165702887216b65eba760dfd8d47 +requirements: + run: + - wrapt about: home: https://github.com/piskvorky/smart_open PyPI: https://pypi.org/project/smart_open diff --git a/packages/sortedcontainers/meta.yaml b/packages/sortedcontainers/meta.yaml index 5479a21..fae45ff 100644 --- a/packages/sortedcontainers/meta.yaml +++ b/packages/sortedcontainers/meta.yaml @@ -10,7 +10,7 @@ about: home: http://www.grantjenks.com/docs/sortedcontainers/ PyPI: https://pypi.org/project/sortedcontainers summary: Sorted Containers -- Sorted List, Sorted Dict, Sorted Set - license: Apache 2.0 + license: Apache-2.0 extra: recipe-maintainers: - bitsondatadev diff --git a/packages/soupsieve/meta.yaml b/packages/soupsieve/meta.yaml index 29b84d2..44ec5b6 100644 --- a/packages/soupsieve/meta.yaml +++ b/packages/soupsieve/meta.yaml @@ -6,3 +6,6 @@ package: source: sha256: eaa337ff55a1579b6549dc679565eac1e3d000563bcb1c8ab0d0fefbc0c2cdc7 url: https://files.pythonhosted.org/packages/4c/f3/038b302fdfbe3be7da016777069f26ceefe11a681055ea1f7817546508e3/soupsieve-2.5-py3-none-any.whl +about: + home: https://github.com/facelessuser/soupsieve + license: MIT diff --git a/packages/sparseqr/meta.yaml b/packages/sparseqr/meta.yaml index 723e89d..72cad9b 100644 --- a/packages/sparseqr/meta.yaml +++ b/packages/sparseqr/meta.yaml @@ -33,3 +33,6 @@ build: -lcolamd -lcholmod -lmetis +about: + home: https://github.com/yig/PySPQR + license: CC0-1.0 diff --git a/packages/sqlite3/meta.yaml b/packages/sqlite3/meta.yaml index 3b753f6..8ac52ea 100644 --- a/packages/sqlite3/meta.yaml +++ b/packages/sqlite3/meta.yaml @@ -39,3 +39,5 @@ build: -sUSE_SQLITE3 -lsqlite3 cd Lib && tar --exclude=test -cf - sqlite3 | tar -C ${PKG_BUILD_DIR} -xf - +about: + license: PSF diff --git a/packages/ssl/meta.yaml b/packages/ssl/meta.yaml index cc70d9a..dd46e6d 100644 --- a/packages/ssl/meta.yaml +++ b/packages/ssl/meta.yaml @@ -28,3 +28,5 @@ requirements: - openssl run: - openssl +about: + license: PSF diff --git a/packages/stack_data/meta.yaml b/packages/stack-data/meta.yaml similarity index 84% rename from packages/stack_data/meta.yaml rename to packages/stack-data/meta.yaml index 35f2cef..960a929 100644 --- a/packages/stack_data/meta.yaml +++ b/packages/stack-data/meta.yaml @@ -1,11 +1,16 @@ package: - name: stack_data + name: stack-data version: 0.6.3 top-level: - stack_data source: url: https://files.pythonhosted.org/packages/f1/7b/ce1eafaf1a76852e2ec9b22edecf1daa58175c090266e9f6c64afcd81d91/stack_data-0.6.3-py3-none-any.whl sha256: d5558e0c25a4cb0853cddad3d77da9891a08cb85dd9f9f91b9f8cd66e511e695 +requirements: + run: + - executing + - asttokens + - pure-eval about: home: http://github.com/alexmojaki/stack_data PyPI: https://pypi.org/project/stack_data diff --git a/packages/statsmodels/meta.yaml b/packages/statsmodels/meta.yaml index a7ffdb5..7436555 100644 --- a/packages/statsmodels/meta.yaml +++ b/packages/statsmodels/meta.yaml @@ -1,23 +1,22 @@ package: name: statsmodels - version: 0.14.2 + version: 0.14.4 top-level: - statsmodels source: - url: https://files.pythonhosted.org/packages/25/a3/4a7a240e9bc9e146fbd9f0c410ecac328a899ca0c4467c72d9b8aa1e4015/statsmodels-0.14.2.tar.gz - sha256: 890550147ad3a81cda24f0ba1a5c4021adc1601080bd00e191ae7cd6feecd6ad + url: https://files.pythonhosted.org/packages/1f/3b/963a015dd8ea17e10c7b0e2f14d7c4daec903baf60a017e756b57953a4bf/statsmodels-0.14.4.tar.gz + sha256: 5d69e0f39060dc72c067f9bb6e8033b6dccdb0bae101d76a7ef0bcc94e898b67 build: ldflags: | -L$(NUMPY_LIB)/core/lib/ -L$(NUMPY_LIB)/random/lib/ + unvendor-tests: false # for better testing requirements: host: - numpy - scipy - # TODO: Check that pandas and patsy really host dependencies - - pandas - - patsy + - setuptools run: - numpy - scipy @@ -33,4 +32,8 @@ about: home: https://www.statsmodels.org/ PyPI: https://pypi.org/project/statsmodels summary: Statistical computations and models for Python - license: BSD License + license: BSD-3-Clause + +extra: + recipe-maintainers: + - agriyakhetarpal diff --git a/packages/statsmodels/test_statsmodels.py b/packages/statsmodels/test_statsmodels.py new file mode 100644 index 0000000..f2b1b3b --- /dev/null +++ b/packages/statsmodels/test_statsmodels.py @@ -0,0 +1,22 @@ +import pytest +from pytest_pyodide import run_in_pyodide + + +# Regression test for SciPy/OpenBLAS unresolved symbols +# i.e., pow_dd and pow_di +@pytest.mark.driver_timeout(160) +@run_in_pyodide(packages=["statsmodels", "pytest"]) +def test_zero_collinear(selenium): + import statsmodels as sm + + assert sm.test(["-svra", "-k", "test_zero_collinear"], exit=False) + + +# Regression test for scipy.optimize behaviour against illegal values +# for DLASCL parameter numbers +@pytest.mark.driver_timeout(160) +@run_in_pyodide(packages=["statsmodels", "pytest"]) +def test_tuckey_hsd(selenium): + import statsmodels as sm + + assert sm.test(["-svra", "-k", "TuckeyHSD"], exit=False) diff --git a/packages/suitesparse/meta.yaml b/packages/suitesparse/meta.yaml index c62b0d5..23ed88a 100644 --- a/packages/suitesparse/meta.yaml +++ b/packages/suitesparse/meta.yaml @@ -3,6 +3,7 @@ package: version: 5.11.0 tag: - library + - shared_library source: sha256: fdd957ed06019465f7de73ce931afaf5d40e96e14ae57d91f60868b8c123c4c8 url: https://github.com/DrTimothyAldenDavis/SuiteSparse/archive/refs/tags/v5.11.0.tar.gz @@ -37,3 +38,6 @@ build: ${WASM_LIBRARY_DIR}/lib/libcholmod.so \ ${WASM_LIBRARY_DIR}/lib/libspqr.so \ ${DISTDIR} +about: + home: https://github.com/DrTimothyAldenDavis/SuiteSparse + license: Mixed, see https://github.com/DrTimothyAldenDavis/SuiteSparse/blob/dev/LICENSE.txt diff --git a/packages/svgwrite/meta.yaml b/packages/svgwrite/meta.yaml index ff372e6..b67ac0d 100644 --- a/packages/svgwrite/meta.yaml +++ b/packages/svgwrite/meta.yaml @@ -10,4 +10,4 @@ about: home: http://github.com/mozman/svgwrite.git PyPI: https://pypi.org/project/svgwrite summary: A Python library to create SVG drawings. - license: MIT License + license: MIT diff --git a/packages/swiglpk/meta.yaml b/packages/swiglpk/meta.yaml index af6d168..97f2003 100644 --- a/packages/swiglpk/meta.yaml +++ b/packages/swiglpk/meta.yaml @@ -16,3 +16,7 @@ build: requirements: host: - glpk +about: + home: https://github.com/opencobra/swiglpk + PyPI: https://pypi.org/project/swiglpk/ + license: GPL-3.0 diff --git a/packages/sympy/meta.yaml b/packages/sympy/meta.yaml index 9194ff8..acaa247 100644 --- a/packages/sympy/meta.yaml +++ b/packages/sympy/meta.yaml @@ -1,6 +1,6 @@ package: name: sympy - version: "1.12" + version: "1.13.3" top-level: - isympy - sympy @@ -8,10 +8,13 @@ requirements: run: - mpmath source: - sha256: c3588cd4295d0c0f603d0f2ae780587e64e2efeedb3521e46b9bb1d08d184fa5 - url: https://files.pythonhosted.org/packages/d2/05/e6600db80270777c4a64238a98d442f0fd07cc8915be2a1c16da7f2b9e74/sympy-1.12-py3-none-any.whl + sha256: 54612cf55a62755ee71824ce692986f23c88ffa77207b30c1368eda4a7060f73 + url: https://files.pythonhosted.org/packages/99/ff/c87e0622b1dadea79d2fb0b25ade9ed98954c9033722eb707053d310d4f3/sympy-1.13.3-py3-none-any.whl about: home: https://sympy.org PyPI: https://pypi.org/project/sympy summary: Computer algebra system (CAS) in Python - license: BSD + license: BSD-3-Clause +extra: + recipe-maintainers: + - oscarbenjamin diff --git a/packages/sympy/test_sympy.py b/packages/sympy/test_sympy.py index 7f1b406..c083158 100644 --- a/packages/sympy/test_sympy.py +++ b/packages/sympy/test_sympy.py @@ -9,3 +9,7 @@ def test_sympy(selenium): c = sympy.sqrt(a**2 + b**2) assert c.subs({a: 3, b: 4}) == 5 + + # Uses python-flint if installed + x = sympy.symbols("x") + assert (x**2 - 1).factor() == (x + 1) * (x - 1) diff --git a/packages/test/meta.yaml b/packages/test/meta.yaml index 47b21e9..5af447f 100644 --- a/packages/test/meta.yaml +++ b/packages/test/meta.yaml @@ -85,3 +85,5 @@ build: tar --exclude=__pycache__ -cf - \ test \ | tar -C ${PKG_BUILD_DIR} -xf - +about: + license: PSF diff --git a/packages/tiktoken/meta.yaml b/packages/tiktoken/meta.yaml new file mode 100644 index 0000000..ad14faf --- /dev/null +++ b/packages/tiktoken/meta.yaml @@ -0,0 +1,23 @@ +package: + name: tiktoken + version: 0.8.0 + top-level: + - tiktoken + - tiktoken_ext +source: + url: https://files.pythonhosted.org/packages/37/02/576ff3a6639e755c4f70997b2d315f56d6d71e0d046f4fb64cb81a3fb099/tiktoken-0.8.0.tar.gz + sha256: 9ccbb2740f24542534369c5635cfd9b2b3c2490754a78ac8831d99f89f94eeb2 +requirements: + executable: + - rustup + run: + - regex + - requests +about: + home: https://pypi.org/project/tiktoken + PyPI: https://pypi.org/project/tiktoken + summary: tiktoken is a fast BPE tokeniser for use with OpenAI's models + license: MIT +extra: + recipe-maintainers: + - riyavsinha diff --git a/packages/tiktoken/test_tiktoken.py b/packages/tiktoken/test_tiktoken.py new file mode 100644 index 0000000..dcd9825 --- /dev/null +++ b/packages/tiktoken/test_tiktoken.py @@ -0,0 +1,32 @@ +from pytest_pyodide import run_in_pyodide + + +@run_in_pyodide(packages=["tiktoken"]) +def test_tiktoken(selenium): + import tiktoken + + # In the selenium environment, we cannot fetch a pre-trained tokenizer from tiktoken, so we create a basic one + def make_encoding(): + # This pattern splits on whitespace and punctuation + basic_pat_str = r"\w+|[^\w\s]+|\s" + basic_mergeable_ranks = { + b"Hello": 0, + b"world": 1, + b"!": 2, + b",": 3, + b"<|endoftext|>": 4, + b" ": 5, + } + basic_special_tokens = {"<|endoftext|>": 4} + return tiktoken.Encoding( + name="basic", + pat_str=basic_pat_str, + mergeable_ranks=basic_mergeable_ranks, + special_tokens=basic_special_tokens, + ) + + encoding = make_encoding() + test_str = "Hello, world!" + encoded = encoding.encode(test_str) + decoded = encoding.decode(encoded) + assert decoded == test_str diff --git a/packages/tomli-w/meta.yaml b/packages/tomli-w/meta.yaml index c41d459..e167780 100644 --- a/packages/tomli-w/meta.yaml +++ b/packages/tomli-w/meta.yaml @@ -10,4 +10,4 @@ about: home: https://github.com/hukkin/tomli-w PyPI: https://pypi.org/project/tomli-w summary: "A lil' TOML writer" - license: "MIT License" + license: MIT diff --git a/packages/tomli/meta.yaml b/packages/tomli/meta.yaml index 3d6a77c..de2820e 100644 --- a/packages/tomli/meta.yaml +++ b/packages/tomli/meta.yaml @@ -9,3 +9,5 @@ source: about: PyPI: https://pypi.org/project/tomli summary: A lil' TOML parser + license: MIT + home: https://github.com/hukkin/tomli diff --git a/packages/toolz/meta.yaml b/packages/toolz/meta.yaml index 5d86e9a..a6e88d0 100644 --- a/packages/toolz/meta.yaml +++ b/packages/toolz/meta.yaml @@ -11,4 +11,4 @@ about: home: https://github.com/pytoolz/toolz/ PyPI: https://pypi.org/project/toolz summary: List processing tools and functional utilities - license: BSD + license: BSD-3-Clause diff --git a/packages/tqdm/meta.yaml b/packages/tqdm/meta.yaml index 9dd1ea7..0987dc6 100644 --- a/packages/tqdm/meta.yaml +++ b/packages/tqdm/meta.yaml @@ -10,4 +10,4 @@ about: home: https://tqdm.github.io PyPI: https://pypi.org/project/tqdm summary: Fast, Extensible Progress Meter - license: MPLv2.0, MIT Licences + license: Mixed MPL-2.0, MIT diff --git a/packages/traitlets/meta.yaml b/packages/traitlets/meta.yaml index c708ba9..60707f3 100644 --- a/packages/traitlets/meta.yaml +++ b/packages/traitlets/meta.yaml @@ -10,4 +10,4 @@ about: home: "" PyPI: https://pypi.org/project/traitlets summary: Traitlets Python configuration system - license: BSD 3-Clause License + license: BSD-3-Clause diff --git a/packages/traits/meta.yaml b/packages/traits/meta.yaml index 7fab46e..812b871 100644 --- a/packages/traits/meta.yaml +++ b/packages/traits/meta.yaml @@ -10,4 +10,4 @@ about: home: http://docs.enthought.com/traits PyPI: https://pypi.org/project/traits summary: Observable typed attributes for Python classes - license: BSD + license: BSD-3-Clause diff --git a/packages/tree-sitter-go/meta.yaml b/packages/tree-sitter-go/meta.yaml new file mode 100644 index 0000000..303a1bf --- /dev/null +++ b/packages/tree-sitter-go/meta.yaml @@ -0,0 +1,23 @@ +package: + name: tree-sitter-go + version: 0.23.1 + top-level: + - tree_sitter_go +source: + # Have to use github source to work around broken sdist + # https://github.com/tree-sitter/tree-sitter-go/pull/151 + url: https://github.com/tree-sitter/tree-sitter-go/archive/refs/tags/v0.23.1.tar.gz + sha256: 4173bafc4c59be78642a0faf1bed8cb3854458aa59c506e8f51001a9f28da09b +requirements: + run: + - tree-sitter + host: + - tree-sitter +about: + home: https://github.com/tree-sitter/tree-sitter-go + PyPI: https://pypi.org/project/tree-sitter-go + summary: Go grammar for tree-sitter + license: MIT +extra: + recipe-maintainers: + - ericwb diff --git a/packages/tree-sitter-go/test_tree_sitter_go.py b/packages/tree-sitter-go/test_tree_sitter_go.py new file mode 100644 index 0000000..a732395 --- /dev/null +++ b/packages/tree-sitter-go/test_tree_sitter_go.py @@ -0,0 +1,41 @@ +from pytest_pyodide import run_in_pyodide + + +@run_in_pyodide(packages=["tree-sitter-go"]) +def test_tree_sitter_go(selenium): + import textwrap + + import tree_sitter_go + from tree_sitter import Language, Parser + + GO_LANGUAGE = Language(tree_sitter_go.language()) + parser = Parser(GO_LANGUAGE) + + code = bytes( + textwrap.dedent( + """ + func foo() { + if bar { + baz() + } + } + """ + ), + "utf-8", + ) + tree = parser.parse(code) + root_node = tree.root_node + + assert str(root_node) == ( + "(source_file " + "(function_declaration " + "name: (identifier) " + "parameters: (parameter_list) " + "body: (block " + "(if_statement " + "condition: (identifier) " + "consequence: (block " + "(expression_statement (call_expression " + "function: (identifier) " + "arguments: (argument_list))))))))" + ) diff --git a/packages/tree-sitter-java/meta.yaml b/packages/tree-sitter-java/meta.yaml new file mode 100644 index 0000000..b8c479d --- /dev/null +++ b/packages/tree-sitter-java/meta.yaml @@ -0,0 +1,23 @@ +package: + name: tree-sitter-java + version: 0.23.2 + top-level: + - tree_sitter_java +source: + # Have to use github url to work around broken sdist: + # https://github.com/tree-sitter/tree-sitter-java/pull/188 + url: https://github.com/tree-sitter/tree-sitter-java/archive/refs/tags/v0.23.2.tar.gz + sha256: 062fe5746deb4e362ccb987228e7b41bfc017eb2b91a0413a7447719abaa07b2 +requirements: + run: + - tree-sitter + host: + - tree-sitter +about: + home: https://github.com/tree-sitter/tree-sitter-java + PyPI: https://pypi.org/project/tree-sitter-java + summary: Java grammar for tree-sitter + license: MIT +extra: + recipe-maintainers: + - ericwb diff --git a/packages/tree-sitter-java/test_tree_sitter_java.py b/packages/tree-sitter-java/test_tree_sitter_java.py new file mode 100644 index 0000000..49726e0 --- /dev/null +++ b/packages/tree-sitter-java/test_tree_sitter_java.py @@ -0,0 +1,42 @@ +from pytest_pyodide import run_in_pyodide + + +@run_in_pyodide(packages=["tree-sitter-java"]) +def test_tree_sitter_java(selenium): + import textwrap + + import tree_sitter_java + from tree_sitter import Language, Parser + + JAV_LANGUAGE = Language(tree_sitter_java.language()) + parser = Parser(JAV_LANGUAGE) + + code = bytes( + textwrap.dedent( + """ + void foo() { + if (bar) { + baz(); + } + } + """ + ), + "utf-8", + ) + tree = parser.parse(code) + root_node = tree.root_node + + assert str(root_node) == ( + "(program " + "(method_declaration " + "type: (void_type) " + "name: (identifier) " + "parameters: (formal_parameters) " + "body: (block " + "(if_statement " + "condition: (parenthesized_expression (identifier)) " + "consequence: (block " + "(expression_statement (method_invocation " + "name: (identifier) " + "arguments: (argument_list))))))))" + ) diff --git a/packages/tree-sitter-python/meta.yaml b/packages/tree-sitter-python/meta.yaml new file mode 100644 index 0000000..655178f --- /dev/null +++ b/packages/tree-sitter-python/meta.yaml @@ -0,0 +1,23 @@ +package: + name: tree-sitter-python + version: 0.23.2 + top-level: + - tree_sitter_python +source: + # Have to use github url to work around broken sdist: + # https://github.com/tree-sitter/tree-sitter-python/pull/285 + url: https://github.com/tree-sitter/tree-sitter-python/archive/refs/tags/v0.23.2.tar.gz + sha256: b38e5b1f5237377b506109978af76422975bda5859165835e3c7b5afee987383 +requirements: + run: + - tree-sitter + host: + - tree-sitter +about: + home: https://github.com/tree-sitter/tree-sitter-python + PyPI: https://pypi.org/project/tree-sitter-python + summary: Python grammar for tree-sitter + license: MIT +extra: + recipe-maintainers: + - ericwb diff --git a/packages/tree-sitter-python/test_tree_sitter_python.py b/packages/tree-sitter-python/test_tree_sitter_python.py new file mode 100644 index 0000000..c34bc16 --- /dev/null +++ b/packages/tree-sitter-python/test_tree_sitter_python.py @@ -0,0 +1,39 @@ +from pytest_pyodide import run_in_pyodide + + +@run_in_pyodide(packages=["tree-sitter-python"]) +def test_tree_sitter_python(selenium): + import textwrap + + import tree_sitter_python + from tree_sitter import Language, Parser + + PY_LANGUAGE = Language(tree_sitter_python.language()) + parser = Parser(PY_LANGUAGE) + + code = bytes( + textwrap.dedent( + """ + def foo(): + if bar: + baz() + """ + ), + "utf-8", + ) + tree = parser.parse(code) + root_node = tree.root_node + + assert str(root_node) == ( + "(module " + "(function_definition " + "name: (identifier) " + "parameters: (parameters) " + "body: (block " + "(if_statement " + "condition: (identifier) " + "consequence: (block " + "(expression_statement (call " + "function: (identifier) " + "arguments: (argument_list))))))))" + ) diff --git a/packages/tree-sitter/meta.yaml b/packages/tree-sitter/meta.yaml new file mode 100644 index 0000000..0ff2bdc --- /dev/null +++ b/packages/tree-sitter/meta.yaml @@ -0,0 +1,16 @@ +package: + name: tree-sitter + version: 0.23.1 + top-level: + - tree_sitter +source: + url: https://files.pythonhosted.org/packages/01/23/e001538062ece748d7ab1fcfbcd9fa766d85f60f0d5ae014a7caf4f07c70/tree-sitter-0.23.1.tar.gz + sha256: 28fe02aff6676b203cbe4213ca7116db0aaac08d6ca4c0b1f1af038991631838 +about: + home: https://tree-sitter.github.io/tree-sitter + PyPI: https://pypi.org/project/tree-sitter + summary: Python bindings to the Tree-sitter parsing library + license: MIT +extra: + recipe-maintainers: + - ericwb diff --git a/packages/tree-sitter/test_tree_sitter.py b/packages/tree-sitter/test_tree_sitter.py new file mode 100644 index 0000000..1287b46 --- /dev/null +++ b/packages/tree-sitter/test_tree_sitter.py @@ -0,0 +1,9 @@ +from pytest_pyodide import run_in_pyodide + + +@run_in_pyodide(packages=["tree-sitter"]) +def test_tree_sitter(selenium): + import tree_sitter + + assert hasattr(tree_sitter, "Language") + assert hasattr(tree_sitter, "Node") diff --git a/packages/typing-extensions/meta.yaml b/packages/typing-extensions/meta.yaml index a82f2bf..79b2f4d 100644 --- a/packages/typing-extensions/meta.yaml +++ b/packages/typing-extensions/meta.yaml @@ -6,3 +6,6 @@ package: source: url: https://files.pythonhosted.org/packages/01/f3/936e209267d6ef7510322191003885de524fc48d1b43269810cd589ceaf5/typing_extensions-4.11.0-py3-none-any.whl sha256: c1f94d72897edaf4ce775bb7558d5b79d8126906a14ea5ed1635921406c0387a +about: + home: https://github.com/python/typing_extensions + license: PSF diff --git a/packages/uncertainties/meta.yaml b/packages/uncertainties/meta.yaml index 3aa86cc..62d8ed9 100644 --- a/packages/uncertainties/meta.yaml +++ b/packages/uncertainties/meta.yaml @@ -15,4 +15,4 @@ about: summary: Transparent calculations with uncertainties on the quantities involved (aka error propagation); fast calculation of derivatives - license: Revised BSD License + license: BSD-3-Clause diff --git a/packages/unyt/meta.yaml b/packages/unyt/meta.yaml index 4062a3f..ad94c84 100644 --- a/packages/unyt/meta.yaml +++ b/packages/unyt/meta.yaml @@ -15,4 +15,4 @@ about: home: https://github.com/yt-project/unyt PyPI: https://pypi.org/project/unyt summary: A package for handling numpy arrays with units - license: BSD license + license: BSD-3-Clause diff --git a/packages/urllib3/meta.yaml b/packages/urllib3/meta.yaml index 5da4d23..479051e 100644 --- a/packages/urllib3/meta.yaml +++ b/packages/urllib3/meta.yaml @@ -11,7 +11,7 @@ test: - urllib3 - urllib3.contrib.emscripten about: - home: "" + home: https://github.com/urllib3/urllib3 PyPI: https://pypi.org/project/urllib3 summary: HTTP library with thread-safe connection pooling, file post, and more. - license: "" + license: MIT diff --git a/packages/webencodings/meta.yaml b/packages/webencodings/meta.yaml index ca749c9..8614259 100644 --- a/packages/webencodings/meta.yaml +++ b/packages/webencodings/meta.yaml @@ -10,4 +10,4 @@ about: home: https://github.com/SimonSapin/python-webencodings PyPI: https://pypi.org/project/webencodings summary: Character encoding aliases for legacy web content - license: BSD + license: BSD-3-Clause diff --git a/packages/wrapt/meta.yaml b/packages/wrapt/meta.yaml index c361729..a179b7a 100644 --- a/packages/wrapt/meta.yaml +++ b/packages/wrapt/meta.yaml @@ -10,4 +10,4 @@ about: home: https://github.com/GrahamDumpleton/wrapt PyPI: https://pypi.org/project/wrapt summary: Module for decorators, wrappers and monkey patching. - license: BSD + license: BSD-2-Clause diff --git a/packages/xarray/meta.yaml b/packages/xarray/meta.yaml index 3053bd0..ef68138 100644 --- a/packages/xarray/meta.yaml +++ b/packages/xarray/meta.yaml @@ -16,4 +16,4 @@ about: home: https://github.com/pydata/xarray PyPI: https://pypi.org/project/xarray summary: N-D labeled arrays and datasets in Python - license: Apache + license: Apache-2.0 diff --git a/packages/xlrd/meta.yaml b/packages/xlrd/meta.yaml index c1209da..c8da897 100644 --- a/packages/xlrd/meta.yaml +++ b/packages/xlrd/meta.yaml @@ -12,4 +12,4 @@ about: summary: Library for developers to extract data from Microsoft Excel (tm) .xls spreadsheet files - license: BSD + license: BSD-3-Clause diff --git a/packages/xxhash/meta.yaml b/packages/xxhash/meta.yaml index 53acbe3..0add9aa 100644 --- a/packages/xxhash/meta.yaml +++ b/packages/xxhash/meta.yaml @@ -10,7 +10,7 @@ about: home: https://github.com/ifduyue/python-xxhash PyPI: https://pypi.org/project/xxhash summary: Python binding for xxHash - license: BSD + license: BSD-2-Clause extra: recipe-maintainers: - ifduyue diff --git a/packages/yarl/meta.yaml b/packages/yarl/meta.yaml index 29e707a..f251dd8 100644 --- a/packages/yarl/meta.yaml +++ b/packages/yarl/meta.yaml @@ -14,4 +14,4 @@ about: home: https://github.com/aio-libs/yarl/ PyPI: https://pypi.org/project/yarl summary: Yet another URL library - license: Apache 2 + license: Apache-2.0 diff --git a/packages/yt/meta.yaml b/packages/yt/meta.yaml index 497a320..074b4ac 100644 --- a/packages/yt/meta.yaml +++ b/packages/yt/meta.yaml @@ -36,4 +36,4 @@ about: home: https://github.com/yt-project/yt PyPI: https://pypi.org/project/yt summary: An analysis and visualization toolkit for volumetric data - license: BSD 3-Clause + license: BSD-3-Clause diff --git a/packages/zlib/meta.yaml b/packages/zlib/meta.yaml index 6be360a..c9cd5b7 100644 --- a/packages/zlib/meta.yaml +++ b/packages/zlib/meta.yaml @@ -3,6 +3,7 @@ package: version: 1.3.1 tag: - library + - static_library source: sha256: 9a93b2b7dfdac77ceba5a558a580e74667dd6fede4585b91eefb60f03b72df23 url: https://github.com/madler/zlib/releases/download/v1.3.1/zlib-1.3.1.tar.gz @@ -23,3 +24,21 @@ build: emmake make -j ${PYODIDE_JOBS:-3} emmake make install popd +about: + home: https://zlib.net/ + license: > + This software is provided 'as-is', without any express or implied warranty. + In no event will the authors be held liable for any damages arising from the + use of this software. + + Permission is granted to anyone to use this software for any purpose, + including commercial applications, and to alter it and redistribute it + freely, subject to the following restrictions: + + 1. The origin of this software must not be misrepresented; you must not + claim that you wrote the original software. If you use this software in a + product, an acknowledgment in the product documentation would be + appreciated but is not required. + 2. Altered source versions must be plainly marked as such, and must not be + misrepresented as being the original software. + 3. This notice may not be removed or altered from any source distribution. diff --git a/packages/zstandard/meta.yaml b/packages/zstandard/meta.yaml index 808ee54..f8fb2db 100644 --- a/packages/zstandard/meta.yaml +++ b/packages/zstandard/meta.yaml @@ -16,7 +16,7 @@ about: home: https://github.com/indygreg/python-zstandard PyPI: https://pypi.org/project/zstandard summary: Zstandard bindings for Python - license: BSD + license: BSD-3-Clause extra: recipe-maintainers: - agriyakhetarpal diff --git a/tools/constraints.txt b/tools/constraints.txt index e69de29..ec0b866 100644 --- a/tools/constraints.txt +++ b/tools/constraints.txt @@ -0,0 +1 @@ +meson < 1.6 \ No newline at end of file diff --git a/tools/sync_package.sh b/tools/sync_package.sh new file mode 100755 index 0000000..411f484 --- /dev/null +++ b/tools/sync_package.sh @@ -0,0 +1,15 @@ +#!/bin/bash + +# Usage: ./tools/sync_package.sh + +# sync all recipes in pyodide/pyodide into this repository. +# TODO: remoe this script when all recipes are migrated + +# Remove all existing recipes (directories) +find packages -mindepth 1 -maxdepth 1 -type d -exec rm -rf {} \; + +rm -rf pyodide +git clone https://github.com/pyodide/pyodide --depth 1 +find pyodide/packages -mindepth 1 -maxdepth 1 -type d -exec cp -r {} packages/ \; +rm -rf packages/_tests +rm -rf pyodide \ No newline at end of file